Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL - enum nebo tabulku zvlášť

Ahoj,

navrhuji si databázi, potřeboval bych ale poradit

mám nějaký neurčitý počet druhů objektů (lampičky, stoly, knihy, židle), každý druh má svoji tabulku, co řádek to jeden objekt (primárním klíčem je integer 'id' u všech tabulek)
pak mám tabulku uživatel, a chtěl bych nějak propojit objekty a uživatele vazbou N:N (kdo k nim má přístup)
navrhl jsem si tabulku přístupy, která by obsahovala: id uživatele, id objektu, typ objektu (jako do které tabulky se má sáhnout)

a teď nevím jestli 3. sloupec "typ objektu" dát jako:

1. ENUM - což by bylo asi bylo jednodušší na implementaci, ale zase horší pro změny ?
2. tabulku "typy objektů" která by měla id a jméno typu objektů (a do přístupů by šlo id jako cizí klíč) ale zase "docela zbytečná" tabulka navíc?

Jaké z těch dvou řešení je lepší? Nemám tušení jak by to bylo s výkonem. A nebo máte lepší návrh jak to vyřešit?

Děkuji předem :-)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Pokud trváš na svém řešení, pak si vytvoř tabulku s typy objektu. Tu budes moct jednoduse upravovat.… poslední
Jan Fiala 18.04.2014 09:27
Jan Fiala

Pokud trváš na svém řešení, pak si vytvoř tabulku s typy objektu. Tu budes moct jednoduse upravovat.
A vazebni tabulce se nevyhnes.

Mam dojem, ze se snazis pomoci relacni databaze resit to, co by spis mela resit objektova databaze.

Z meho pohledu bych to resil tak, ze bych mel tabulku objektu (ID_Objektu, datum porizeni, TypObjektu, rozmery,. vahu, DKP a kdovi, co jeste je spolecne pro vsechny), ktera by obsahovala spolecne vlastnosti.
K ni bych mel dalsi tabulku (nudli), ktera by obsahovala ID_Objektu, ID_Vlastnosti a hodnotu vlastnosti. Tak bys byl schopny libovolne pridavat vlastnosti dalsi jednotlivych objektu.

Zpět do poradny Odpovědět na původní otázku Nahoru