Kann eine Tabelle in der 3. Normalform mehrere Fremdschlüssel haben (MYSQL) ?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Natürlich.

Allerdings habe ich ein komisches Gefühl bei deiner Tabellen Aufzählung - ist das wirklich schon soweit normalisiert?

Ich kenn den Hintergrund nicht, aber Vertrag und Besitzer würde ich eher am Mietobjekt als dem Vermieter sehen...

Nichtsnutz12 
Fragesteller
 11.03.2018, 20:34

Ehm okay und in diesem erklär Video warum ist die Tabelle unten links ohne primär Schlüssel? Pers nr und Projekt nr sind ja beides fremdschlüssel, oder?

https://youtu.be/x183UkdsPQ8

0
CoolMandy1  11.03.2018, 20:46
@Nichtsnutz12

Hast du dir die ersten beiden Normalformen der Reihe auch angesehen?

Wenn die beiden Fremschlüssel eindeutig sind, können sie gemeinsam als Primärschlüssel verwendet werden - das erkennst du im Video daran, dass die beiden Spaltennamen unterstrichen sind.

Würde das eine Buchungstabelle sein, wo jeder Mitarbeiter mehrere Zeiten pro Projekt eingibt müsstest du einen zusätzlichen Primärschlüssel einführen, da die beiden Fremdschlüssel nicht mehr eindeutig sind.

Mann, ist das schon lange her...

Ich kann die Normalformen nicht mehr erklären :-(

0
Nichtsnutz12 
Fragesteller
 11.03.2018, 22:25

Ok danke hab eine voll gute Idee:

Kann man es nicht so machen das jede Tabelle jeden fremdschlüssel hat? Also beispielsweise es gibt 5 Tabellen und jede Tabelle hat dann 4 fremdschlüssel von den anderen Tabellen, verstanden? Also alle 5 Tabellen haben 4 fremdschlüssel. Kann man das machen?

0
wotan38  12.03.2018, 10:10
@Nichtsnutz12

So geht das nicht. Eine Abhängigkeit wirkt normalerweise nur in eine Richtung. Es gibt da schon Ausnahmen, die allerdings dadurch kompliziert werden können. Man muss ja normalerweise den Satz, von dem ein anderer abhängig ist, zuerst in die Datenbank schreiben.

0

Klar geht das.

Nichtsnutz12 
Fragesteller
 11.03.2018, 20:34

Ehm okay und in diesem erklär Video warum ist die Tabelle unten links ohne primär Schlüssel? Pers nr und Projekt nr sind ja beides fremdschlüssel, oder?
https://youtu.be/x183UkdsPQ8

0
threadi  11.03.2018, 20:43
@Nichtsnutz12

Habs mir nicht angesehen, aber eine Tabelle kann durchaus auch 2 Fremdschlüssel haben die in Kombination eineindeutig sein müssen und dadurch einen Primärschlüssel bilden.

0
Nichtsnutz12 
Fragesteller
 11.03.2018, 22:25

Ok danke hab eine voll gute Idee:

Kann man es nicht so machen das jede Tabelle jeden fremdschlüssel hat? Also beispielsweise es gibt 5 Tabellen und jede Tabelle hat dann 4 fremdschlüssel von den anderen Tabellen, verstanden? Also alle 5 Tabellen haben 4 fremdschlüssel. Kann man das machen?

0
threadi  11.03.2018, 22:28
@Nichtsnutz12

Das geht natürlich, macht aber nur dann Sinn wenn es auch inhaltlich passt.

0
Nichtsnutz12 
Fragesteller
 11.03.2018, 22:43

Ahh okay und dann muss man ja auch mit INNER JOIN abfragen etc ok macht Sinn danke

0