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 |
#2 · Zasláno: 28. 3. 2012, 00:53:51
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 * |
#3 · Zasláno: 28. 3. 2012, 01:20:00
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 |
#4 · Zasláno: 28. 3. 2012, 08:40:09
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ů. |
||
Časová prodleva: 12 let
|
0