Diskuze: Jeden alebo dva cudzie kľúče?

Ostatní jazyky SQL SQL a databáze Jeden alebo dva cudzie kľúče?

Avatar
Snipo
Člen
Avatar
Snipo:

Čaute, riešim jeden problém pri návrhu databázy. Ide o jednoduchú databázu automobilov ktorá by mal obsahovať výrobcu, model a VIN číslo daného auta. Zatiaľ mám toto: http://projekty.sbcode.sk/asw-zadanie.png. No tu nastáva problém, plánujem pridať ďalšiu tabuľku s názvom napríklad "automobily" kde by som VIN číslo spojil z ostatnými informáciami.

Napadajú ma dva spôsoby:

  1. Do novej tabuľky automobily pridám cudzí kľuč ako id z tabuľky rel_vyrobca_model, kde by som potom musel pri selecte robiť 3 joiny
  2. Alebo pridám 2 cudzie kľúče ako id-čka z tabuliek výrobcovia a modely kde by mi potom stačili 2 joiny

Poprosím niekoho aby mi poradil to lepšie riešenie a prípadne aj dôvod. Taktiež sa môžte vyjadriť aj k celému návrhu, v databázach som začiatočník.

 
Odpovědět 6.5.2015 19:29
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Snipo
vajkuba1234:

Předpokládám, že VIN je přidělen při samotné výrobě a je jedinečný, tudíž bych jej přidal do tabulky pro samotný model.

BTW: Názvy entit by měly být v jednotném čísle (alespoň mě to takhle učili).

Nahoru Odpovědět 6.5.2015 20:48
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Snipo
vajkuba1234:

Jaké je přesné znění zadání? Protože výrobce může mít několik modelů (to je správně), ale model nemá více výrobců. Nebo se pletu?

+EDIT předchozího příspěvku: VIN bych přidal jako atribut k samotnému modelu. Sice to tak bylo myšleno, ale nevím, zda jsem to napsal dost srozumitelně.

Editováno 6.5.2015 21:34
Nahoru Odpovědět 6.5.2015 21:33
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
MrPabloz
Člen
Avatar
Odpovídá na vajkuba1234
MrPabloz:

Určitě bych nedával vin do modelu. Modelu bude méně přeci, nebudeš mít pro každé auto nový model aby si měl jiný VIN, poté by bylo plno stejných modelů.

Snipo: VIN bych dal určitě do tabulky rel_vyrobci_modely, který bych ale přejmenoval na automobil. poté tabulky hodil jednotné číslo. jinak bych řekl že tam není nic tak špatného :)

Nahoru Odpovědět 6.5.2015 21:47
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na MrPabloz
vajkuba1234:

Ale jo, jen jsem se do toho zamotal sam. Vin do auta :-D :-D

Editováno 6.5.2015 21:58
Nahoru Odpovědět 6.5.2015 21:57
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.