Eltern -> Kinderbeziehung in Datenbank abbilden

exzel

Datenbank-Guru
Beiträge
170
Hallo zusammen,

angenommen in einer Tabelle werden alle Kundendaten wie Name, Vorname, Geburtsdatum, Straße, PLZ, Ort etc. erfasst.

Werden die Kinder nun auch in der gleichen Tabelle erfasst oder in einer gesonderten?

Gruß
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
Alle Personen stehen in einer Tabelle, da sie die selben Atribute aufweisen. Die Tabelle bildet die Entität Person ab.

Beziehungen zwischen Personen, also z.B. Eltern <-> Kinder kann man unterschiedlich abbilden. Entweder du gibst einen Fremdschlüssel für Vater und einen für Mutter vor. Das wäre durchaus sinnvoll, da jede Person nur einen genetischen Vater und eine Mutter haben kann. Wenn jetzt aber mehr abgebildet werden soll (z.B. Pflegemutter, gesetzlicher Vormund, Ehe, etc.) und diese Beziehungen mehrfach vorkommen können sowie zeitlich begrenzt sind brauchst du eine Zwischentabelle in der die Art der Beziehung, Dauer etc. hinterlegt ist und beide Personen mit ihrem primären Schlüssel.
 

exzel

Datenbank-Guru
Beiträge
170
Hallo und danke für die Antwort,

angenommen für die Kinder wird nur das Geburtsdatum, Name und Vorname erfasst und Strasse, PLZ, Ort nicht. Würde dann die gleiche Tabelle in Frage kommen wie bei den Eltern oder würden die Kinder in eine gesonderte kommen müssen?

Denn immerhin würden ja viele Zellen in der Tabelle leer bleiben?

Gruß
 

ukulele

Datenbank-Guru
Beiträge
4.394
Hier scheiden sich die Geister. In der Praxis hast du meist bei jedem Kontakt / Person irgendwo ein Adressfeld und schreibst da den Wohnort rein. In diesem Fall würden natürlich auch mal Spalten leer bleiben, wenn diese Informationen nicht vorliegen. Genauso wären Daten doppelt vorhanden, wenn Kinder und Eltern zusammen wohnen.
In der Theorie gäbe es eine Tabelle Adressen auf die mit einem Fremdschlüssel Wohnort aus der Tabelle Personen verwiesen würde. In der Praxis macht das aber nur Sinn, wenn Adressen häufig identisch oder leer sind. In der Theorie könnte man auch den Ort von der PLZ trennen und in eine eigene Tabelle legen. Hierzu unbedingt mal die Beispiele zur Normalisierung lesen: http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
 
Werbung:
Oben