NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Qestin
Člen
Avatar
Qestin:15.5.2017 10:48

Dobrý den,

chtěl bych poprosit o kontrolu mé databáze, zda je návrh v pohodě nebo ne? Moje jediná otázka je, zda mám v tabulce "harmonogram" nastavit 'Primary Key' i na "id_instruktor" a "id_licence", zatím tam mám pouze cizí klíče? Děkuji za odpověď a přeji hezký den.

Editováno 15.5.2017 10:50
 
Odpovědět
15.5.2017 10:48
Avatar
Qestin
Člen
Avatar
Qestin:15.5.2017 10:51

Ještě oprava, poslal jsem špatný obrázek.

 
Nahoru Odpovědět
15.5.2017 10:51
Avatar
Odpovídá na Qestin
Michal Štěpánek:15.5.2017 11:10

Nemůžeš nastavovat na "cizí" klíče primary_key. Cizí klíč je primary_key v té tabulce, kterou tím "provazuješ". A jestli je návrh databáze v púohodě je těžko soudit, když nevíme, co má výsledná aplikace dělat a co má umět...

Nahoru Odpovědět
15.5.2017 11:10
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Qestin
Člen
Avatar
Odpovídá na Michal Štěpánek
Qestin:15.5.2017 11:30

Tento databázový systém by měl realizovat zjednodušený model výuky florbalového trenéra na určitou licenci. Jako hlavní entity mám florbalovy_trener, florbalovy_oddil, licence a instruktor.

1.) Každý 'instruktor' může vyučovat více 'licencí' a každá 'licence' může být vykonávaná více 'instruktory', tento vztah M:N rozkládá tabulka 'vyucuje' jednoduchým propojením 'id_instruktor' a 'id_licence'.

2.) Každý 'florbalovy_trener' se může vyučovat více 'licencí' a jednu 'licenci' může mít objednáno více 'florbalovych_tre­neru', tento vztah M:N rozkládá tabulka 'harmonogram' jednoduchým propojením 'id_trener' a 'id_licence' a dále přes 'id_instruktor' připojuji tabulku 'instruktor', abych získal lépe údaje o instruktorech.

3.) Vztah mezi 'florbalovy_trener' a 'florbalovy_oddil' je typu 1:N, pouze přiřazuje jednomu 'trenérovi' jeden 'oddíl'.

-> v obrázku, který jsem posílal, mám navíc tabulku 'prihlasi_se', ta mi momentálně přijde zbytečná, takže jsem jí vynechal a chci se zeptat, zda by to šlo takto? Děkuji za odpověď.

 
Nahoru Odpovědět
15.5.2017 11:30
Avatar
Odpovídá na Qestin
Michal Štěpánek:15.5.2017 12:26

V podstatě by to mělo být OK. Jen ta tabulka, cos smazal zbytečná až tak úplně není, bo v ní by byly informace o tom, kterého kurzu se který trenér zúčastní. Bez ní se to nedozvíš a budeš mít problém s určením počtu volných míst na kurzu...

Nahoru Odpovědět
15.5.2017 12:26
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Qestin
Michal Štěpánek:15.5.2017 12:34

3.) Vztah mezi 'florbalovy_trener' a 'florbalovy_oddil' je typu 1:N, pouze přiřazuje jednomu 'trenérovi' jeden 'oddíl'.

tento vztah ale v tabulkách nemáš, buď bys měl mít u trenéra uvedeno ID klubu, nebo u klubu mít ID trenéra (pokud je skutčně pouze jeden trenér k jednomu klubu a pokud jeden trenér nemůže trénovat více klubů). Jinak bych udělal další vazební tabulku "Trener_Klub"...

Editováno 15.5.2017 12:35
Nahoru Odpovědět
15.5.2017 12:34
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Qestin
Člen
Avatar
Odpovídá na Michal Štěpánek
Qestin:15.5.2017 12:59

Dobře a pokud bych tuto tabulku vrátil tak bych měl vazby:

1.) trenér a oddíl vazba 1:N
2.) trenér a harmonogram by rozkládala tabulka přihlási_se vazba M:N
3.) instruktor a licence by rozkládala tabulka vyucuje vazba M:N

A moje otázka zní vazba harmonogram - instruktor - licence by byla jaká vazba? Nebo jak to mám propojit? Děkuji za odpověď.

 
Nahoru Odpovědět
15.5.2017 12:59
Avatar
Odpovídá na Qestin
Michal Štěpánek:15.5.2017 13:14

ad 1) samotným vrácením tabulky toho nedocílíš. Musíš přidat do jedné z tabulek ten cizí klíč (pro 1:M)
ad 3) pokud předpokládám, že na jednom kurzu vyučuje jen jeden instruktor a pouze jednu licenci, pak je to takto správně

Nahoru Odpovědět
15.5.2017 13:14
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Qestin
Člen
Avatar
Odpovídá na Michal Štěpánek
Qestin:15.5.2017 13:25

Moc jsem nepochopil co chceš říct tou první odpovědí? Mluvíš tam o té tabulce 'prihlasi_se' ?

 
Nahoru Odpovědět
15.5.2017 13:25
Avatar
Nahoru Odpovědět
15.5.2017 13:27
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Qestin
Michal Štěpánek:15.5.2017 13:32

Když tam vrátíš tabulku "prihlasi_se", budeš mít přehled o tom, kdo kdy absolvoval jaký kurz. Vazbu trenér - klub musíš udělat formou cizího klíče v jedné z tabulek. Buď do tabulky trenér dát ID klubu, nebo do tabulky klub dát ID trenéra. Ovšem v případě, že trenér bude trénovat více klubů, nebo klub bude chtít mít více trenérů, pak to takto nepůjde a budeš muset vytvořit vazební tabulku

Editováno 15.5.2017 13:34
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
15.5.2017 13:32
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Qestin
Člen
Avatar
Odpovídá na Michal Štěpánek
Qestin:15.5.2017 13:35

Už chápu, děkuji za tvůj čas.

 
Nahoru Odpovědět
15.5.2017 13:35
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 12 zpráv z 12.