Autor Zpráva
sailgohooo
Profil
Zdravim borci.. mam takuto situaciu:
mam spravit pre nasu milu skolu e-kniznicu.. tak som si spravil db s polami:

id - autor - nazov - pocet - pozicane_u

lenze problem mi nastava ak je pocet knih vacsi ako jedna - ako to spravim s tym, u koho je kniha pozicana.. rozmyslal som nad hocicim, chcelo by to nieco ako tabulku v tabulke, no to neviem ako spravit..

poradite mi?
Bubák
Profil
Relace
VitaZ
Profil
domnívám se, že tabulky v DB bys měl mít dvě.
jednu např. KNIHA a do té vkládat každý exemplář knihy pod unikátním ID. Budeš-li tedy mít dva kusy knihy Babička, musíš mít v databázi dva záznamy s různými ID.
Druhá tabulka bude např. CTENAR a v ní bude každý čtenář také pod unikátním ID. No a půjčí-li si Franta Babičku, zapíšeš do tabulky KNIHA sloupce pozicane_u, že knihu s ID 123 si pujčil čtenář s ID 456...
Joker
Profil
sailgohooo
nieco ako tabulku v tabulke
Tomu se říká "násobná data" a je to snad nejzákladnější chyba při návrhu relační databáze :-)

VitaZ
domnívám se, že tabulky v DB bys měl mít dvě.
V důsledně normalizované databázi tři: knihy, čtenáři a autoři. Ale i ta "dvoutabulková" varianta dává smysl, záleží na konkrétním zadání, co by bylo výhodnější.


poznámka 1: databáze knih v knihovně je snad nejprovařenější příklad při výuce databází, mi neříkejte, že se to nedá nikde najít.

poznámka 2- trochu na okraj: přijde mi zvláštní, že databáze knih neobsahuje údaj ISBN.

(edit: oprava citací)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0