Ach jo. zase Jiráskovo hnidopišství o detailech, které vůbec nehrají roli. Tak si představte, že místo Petr je 123456 a místo Nissan 9876, zase někdo našel detail.
Děkuji, že jste to zkompletoval. Před čtrnácti dny jsem tu dostal vynadáno, jak si můžu dovolit psát o nenormalizované tabulce. Normalizovaná tabulka je evidentně taky špatně. Jestli on nebude problém spíš s těmi, co mají na všechno svá jediná správná řešení…
Jak je tady normalizace důležitá?
Tak, že umožní o problému strukturovaně přemýšlet. Potřebuju získat záznam o jednom člověku? Výborně, mám tady tabulku lidí, z té si ten jeden záznam vytáhnu. Potřebuju si k němu vytáhnout auta? Výborně, mám tady spojovací tabulku. A najednou nemusí tazatel řešit self-joiny, čímž odpadá polovina jeho zmatení a to zadání nejspíš dokáže vyřešit sám.
A dovolím si rozšířit dotaz: co když bude , že má 4 vybraná auta. To se bude dělat 3násobný join? Bude to efektivní?
V tom dotazu je, že vlastní
Nissan a Audi. Pokud budete mít každé auto ve zvláštním řádku tabulky, bez vícenásobného JOINu se neobejdete. Leda by vaše databáze podporovala pole a vy jste z těch řádků nejprve udělal pole. Nicméně když řešíte efektivitu, JOINy umí optimalizovat každá databáze; vytvářet z více záznamů jeden záznam s polem hodnot asi nebude zrovna věc, kterou by databáze optimalizovaly.