Diskuze: Návrh tabulky
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Tak 31 sloupců (d1 .. d31) v tabulce + identifikace měsíce a roku lze zajistit jediným typu DATE, tan snad obsahuje veškeré informace. Potřebuješ li to na hodiny, pak dvěma DATETIME (od - do).
To můžu, ale pak bych měl ke každé absenci jeden záznam. Tady se zobrazil celý měsíc a psaly se tam zkratky absencí ke konkrétnímu dni v měsíci: D - dovolená, NV - náhradní volno, N - nemoc, OČR, SC, atd...
Osobně si myslím, že je jeden smysluplný záznam k nějaké události lepší, než 30 prázdných sloupců bez informační hodnoty, generovaných kvůli jedné události. Pokud každý ze 100 zaměstnanců bude absentovat jeden den, máš 100 záznamů, u tvého řešení máš 100 záznamů x 31 slopců, tj. 100 záznamů a 3 000 hodnot bez informační hodnoty, balast pro nafukování DB.
Následné dotazování do DB by mělo být obecné DATE = NĚJAKÁ_PODMÍNKA a ne opačně, když je NĚJAKÁ_PODMÍNKA, podívej se do sloupce Dxx. Jak zjistíš, absenci v pondělky za posledních x let?
S trochou nadsázky mi to příjde stejné, jako bysi místo idPravovnika držel u každého záznamu Jméno, Příjmení, Pracovní pozici, Bydliště a Platové zažazení a tvrdil, že se to bude hezky zobrazovat, interpretace dat a jejich storage je něco jiného.
Zobrazeno 4 zpráv z 4.