Problem med struktur - Sammankoppla familjerelationer

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
PaulMcShit



Medlem i: 2794 dagar

Status: Offline



#741855
Inlägg Skrivet: 2017-09-04 17:05      Ämne: Problem med struktur - Sammankoppla familjerelationer Citera

Jag arbetar med en databas där jag har en tabell som heter Persons. Denna tabellen innehåller allt som har med en person att göra.

Jag har även en annan tabell som heter family_relations med kolumnerna person_1, person_2, relation_type.

Syftet med tabellen family_relations är alltså att sammankoppla personer med barn, personer med syskon, personer med kusiner, osv. Min första tanke var att göra någonting i stil med detta:

KOD:
1:
person_1        | person_2      | relation_type
2:
1000            | 1001          | Syskon


Så länge relation_type är "syskon" eller "kusin" är det ju väldigt tydligt. Problemet med denna strukturen uppstår om relation_type istället är "förälder". Det blir väldigt oklart vem av person_1 och person_2 som är förälder och vem som är barn.

En annan fundering jag har är om det är en bra lösning att koppla ihop två personer som redan har en relation med samma person. Låt oss säga att vi har tre generationspersoner:

Person_1 = Generation 1
Person_2 = Generation 2
Person_3 = Generation 3

Person_1 och Person_2 har en relation i form av förälder->barn.
Person_2 och Person_3 har en relation i form av förälder->barn.
Är det då nödvändigt att koppla ihop Person_1 och Person_3 som farförälder->barnbarn, eller blir det bara väldigt mycket onödig data som lagras?

En tanke jag fick just precis nu är att man endast kopplar samman föräldrar med barn. På så sätt kan man alltid få fram syskonrelationer och även kusinrelationer, och sträcka sig hur långt som helst. Är detta kanske en bättre lösning för att slippa ha multipla kopplingar av samma person? Problemet jag ser med denna lösningen är om en person har två biologiska föräldrar och en eller två adoptivföräldrar.

Vilken är den mest optimala lösningen för att göra dessa sammankopplingarna mellan personer? Hur hade ni gjort för att strukturera upp detta?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4752 dagar
Från: Tavesta
Status: Offline



#741856
Inlägg Skrivet: 2017-09-04 21:36      Ämne: Citera

Jag hade nog valt att ha två fält för föräldrar i persons-tabellen.
Behöver man lagra relationer som inte framgår av dessa fält (adoptivföräldrar, makar mm) så kan kan det ju lagras i en separat tabell. Den typen av relationer kan ju dessutom ha start- och slutdatum som kan vara relevanta att lagra. Det biologiska föräldraskapet bör ju rimligtvis alltid vara livslångt.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic