Diskuze: herni database
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 15 zpráv z 65.
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Každá tabulka musí mít primární klíč (nejčastěji ID), který je v dané tabulce pro každý záznam unikátní. To znamená, že ID (ať už primární nebo cizí klíč) je v tabulce reprezentováno jako samostatný sloupec
Nějak takhle by ty tabulky mohly vypadat, všimni si hlavně těch klíčů, ostatní atributy jsem si vymyslel. Jsou tam 3 statistiky přičemž první dva záznamy patří Karlu Novákovi a třetí patří Janu Novotnému
Přesně, budeš mít samostatnou tabulku pro týmy a v tabulce Hráči budeš nějakej cizí klíč na ten tým, třeba to id_tym_fk. V selectu pak budeš muset spojit ty tabulky joinem podle těch cizích klíčů, to si zkus pogooglit a pak se kdyžtak doptej
Když budeš místo ID, coby cizího klíče, dávat rovnou názvy, pak
budeš muset při každé změně toho názvu najít všechny výskyty toho
názvu a opravit je. Když použiješ ID, tak to bude pořád stejné, bez
ohledu na různé změny v původní tabulce.
Ve View si pomocí JOINů v SELECTu normálně zobrazíš názvy, které
potřebuješ. Při změnách se to automaticky promítne do těch View a změnu
provádíš pouze na jednom místě.
Nic se měnit nebude, páč by sis tím rozhodil veškerou historii. Ten "ukončený" nebude vymazán, ale pouze deaktivován nějakým atributem v db. A i kdyby byl z nějakého důvodu vymazán, jeho ID už nikdy nebude použito...
Typicky bys to rozdělil, nijak to nebolí a do budoucna si můžeš otevřít cestu třeba k tomu, že budeš posílat uživatelům mail, co je osloví křestním jménem.
Jestli máš u hráče atribut s pozicí tak je to takhle
SELECT *
FROM players
WHERE position = 'goalkeeper'
Možná bys měl zkusit alespoň nakouknout do základů SQL dotazů, protože toto je skutečně úplný základ SQL...
Zobrazeno 15 zpráv z 65.