Autor Zpráva
crash01
Profil
Zdravím,
řeším následující "problém". Mám tabulku obsahující databázi třeba filmů se sloupci název (varchar), režisér (int) a třeba studio (int). Chtěl bych dotazovat vždy řádek z tabulky filmy a dosadit si (přes JOIN) jméno autora a název studia z jiné tabulky/tabulek. Zde přichází má otázka - je nějaký znatelný výkonový rozdíl, když vytvořím dvě tabulky - studia (id, nazev) a reziseri(id, nazev) nebo jen jednu tabulku atributy(id, nazev, typ(reziser nebo studio))?

Díky

//EDIT: Teď koukám, že jsem to možná nenapsal 100% srozumitelně, ale snad to pochopíte. :)
Sir Tom
Profil
crash01:
Také zdravím,

znatelný ne. Úvaha vytvořit extra tabulku na názvy filmů, režisérů, apod. se mi zdá vhodná.
ahoj
Profil *
Teď si myslíš, že ti u režiséra stačí ID a jméno. Ale za měsíc k němu budeš chtít přidat rok narození nebo odkaz na imdb a budeš stát před tím, jestli k tabulce přilepit sloupce a postupovat tak dost neelegantně, nebo aplikaci pracně překopávat.

Já jsem jednu aplikaci dělal tak univerzální, až jsem měl tabulku výrobků, kde bylo jen ID, pak tabulka se seznamem vlastností a jejich typů (třeba nazev, varchar100 nebo delka, bigint) a pak pár tabulek, kde byly všechny varchary, všechny integery, všechny booly.. Výsledek byl naprosto univerzální, ale naprosto nepoužitelný, protože nepřehledný a pomalý.

Jestli těch tabulek (studia, reziseri..) nebudeš mít desítky, slučováním dat bych se nezabýval.
crash01
Profil
ahoj: Režiséři byly míněni jako příklad. Co je na rozšíření tabulky do šířky špatného? :)

Takže mám radši udělat samostatné tabulky pro studia a pro režiséry, pochopil jsem správně? Rozhodně to bude přehlednější.
Kajman
Profil
S dvěma tabulkama také půjdou lépe nastavit cizí klíče (nenastavíte do kolonky režisér id patřící studiu).

Jen pozor na to, že jsou filmy, které mají více režisérů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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