Potenziell lässt sich das alles als Ereignis modellieren. Damit lässt sich auch eine Menge Zusatzinformation unterbringen, die sonst oft null wäre
Recht hast Du, dafür wird es aber eine extra Tabelle geben, die genau dies berücksichtigt. Es geht nur erst einmal um Partnerschaften. Eine Ehe, Scheidung, Adoption würde dann als Ereignis (inklusive Ort, Datum etc.) aufgenommen und mit dem Partnerschafts-/Personendatensatz verknüpft.
Also um es besser nachvollziehen zu können hier die gesamten geplanten Tabellen:
Personen- Geschlecht: VarChar(1) // M, F, U
- Name: VarChar
Partnerschaften (ob mit oder ohne Kinder völlig egal)
- PartnerA: Integer
- PartnerB: Integer
Kinder- PersonenID: Integer
- PartnerschaftsID: Integer
- Order: Integer
PersonenEreignisse (Geburt, Taufe, Tod, Bestattung, Konfirmation etc.)
- PersonenID: Integer
- Order: Integer
- Datum: Date
- Ort: VarChar
PartnerschaftsEreignisse (Ehe, Scheidung etc.)
- PartnerschaftsID: Integer
- Order: Integer
- Datum: Date
- Ort: VarChar
Sind aus einer Partnerschaft mehrere Kinder hervorgegangen, so sind diese automatisch, sofern sie nicht der Proband (StartPerson) sind als Geschwister anzuzeigen.
Ist die StartPerson Mitglied mehrerer Partnerschaften, so sind die jeweiligen Partner anzuzeigen, nicht nur einer!