EER diagram zni odborne. Ve skutecnosti je to propojeni tabulek pro databazi nebo predavani informaci.
"Tým se může, ale nemusí, zůčastnit nějakého zápasů"
tabulka tym - id, jmeno, seznam hracu
tabulka zapasy - id, tym1, tym2, vysledek
"evidovat tým, který zatím nemá odehraný žádný zápas"
- to je zalezitost sql dotazu
"Tým může, ale nemusí, mít nějaké hráče"
tabulka hrac - id, jmeno
tabulka tym - id_tym, nazev
tabulka spoj_hrac_tym - id_hrac, id_tym
"Tým může, ale nemusí, mít hráče, kteří v týmu hráli, ale již nehrají (tj. tento vztah nebude existovat, když všichni evidovaní hráči stále v týmu hrají a nikdo z nich nevystoupil)."
Tohle je zajimave. Normalne by se to ukladalo do logu. V jinem pripade by se dala udelat tabulka prestupu nebo tabulka vsech tymu, kde hrac hral. Cili, kdyz ho zapises do tabulky tymu, soucasne ho zapise do tabulky prestupy. V prestupy zustane informace na vecne casy, mozna navic informace o poradi, case, kdy prestoupil. Kdezto z tabulky tymy ho smazes pri odejiti z tymu.
tabulka prestupy - id_hrac, id_tym, cas
Nebo proste z tabulky tymy udelat tabulku prestupu a SELECTem pak vybirat posledni cas prestupu, nejak...
"Oproti tomu, když se hraje zápas, tak daný zápas musí evidovat, kdo hraje jako host a kdo hraje jako domácí. - Atribut výsledek je navázán na tým(id_tymu), ale může zůstat NULL v případě, že zápas skončí remízou."
tabulka zapasy - id_zapas, id_tym1, id_tym2, vitez_tym (NULL, tym1, tym2), id_tym_domaci
"V daném zápase určitě musejí hrát někteří hráči, ale naopak můžeme v databázi evidovat hráče, který zatím žádný zápas neodehrál ."
- To je zalezitost sql dotazu nebo to prilis nechapu. To je fotbal? Ze nejaky hrac sedi na lavicce? Nebo hraje cely tym?
Vypsat zapasy, ktere se jeste nekonali do urciteho casu a v nich zapsane hrace, to je sql dotaz. Jestli jde o toto.
"Hráč může, ale nemusí, hrát v nějakém týmu, navíc může, ale nemusí, mít evidováno, že již někde hrál dříve."
Tak to uz se psalo driv, ne?
Cili, vychazi mi 5 tabulek asi nejak takto:
tabulka hrac - id, jmeno (a dalsi informace o hraci)
tabulka tym - id_tym, nazev
tabulka spoj_hrac_tym - id_hrac, id_tym
tabulka prestupy - id_hrac, id_tym, cas
tabulka zapasy - id_zapas, id_tym1, id_tym2, vitez_tym (NULL, tym1, tym2), id_tym_domaci
Hrac - Ty mas u hrace navic aktivni a hraje. k cemu to pouzivas?
Zapas vicemene stejne. Ty sloupce, co tam mas, ty jsou asi treba. U pingpongu treba goly nemas, takze obecne bych to tam nedaval :)
Tym mas stejne.
Prestupy resis pres minule tymy.
Hrac_tym evidujes u hrace. Co kdyz bude ve vice tymech? Ze treba mas dve a vice soutezi a kazda ta soutez bude mit vlastni tymy. To je pak lepsi mit na spojeni tym-hrac vlastni tabulku.
Nejspis to mas dobre. Zadani v tomhle neni uplne. Neni receno, ze se jedna o fotbal a k cemu dane veci budes pouzivat. Zakaznik ti rekne odehrane zapasy, ale ty muzes ziskat sql dotazem z tabulek, ktere mas, treba a udelat mu z toho tabulku, kterou v db ale nemas. A nebo proste v te tabulce bude chtit neco jeste navic dopsat, pak ma smysl delat dalsi. A to je mozna presne ten pripad fotbalu nebo ceho se zadani tyka.
U WB by se mohlo dat zapnout, aby ti spojoval prislusny sloupec id s id v druhe tabulce, snad.