Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
discount week 80 + hiring

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

Aktivity
Avatar
Snipo
Člen
Avatar
Snipo:6.5.2015 19:29

Č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:6.5.2015 20:48

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!
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Snipo
vajkuba1234:6.5.2015 21:33

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!
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
MrPabloz
Člen
Avatar
Odpovídá na vajkuba1234
MrPabloz:6.5.2015 21:47

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:6.5.2015 21:57

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!
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.