Marco Schmidt
2003-12-10 03:34:28 UTC
In einer Personentabelle habe ich neben einem eindeutigen numerischen
Schlüssel id (als Primärschlüssel) für jede Person auch noch Felder
father_id und mother_id, die optional ausgefüllt werden können (falls
eben Mutter oder Vater auch Einträge in der Tabelle sind).
Nun kann man sich für Familienbeziehungen wie Bruder / Schwester,
Tante / Onkel, Großvater / Großmutter u.s.w. einer Person jeweils alle
möglichen SQL-Statements ausdenken. Allerdings braucht man dann für
jede Person und jede denkbare Beziehung ein einzelnes Statement.
Kennt jemand eine Möglichkeit, wie man mit weniger Anfragen pro Person
auskommt? Muß man dafür eine andere, eventuell redundantere
Speicherung oder sogar Extratabellen in Kauf nehmen?
Ich habe darüber nachgedacht, wie Nested-Set wiederverwendet werden
kann, aber da eine Person nun mal zwei statt nur einem direkten
"Vorgänger" im Baum hat fiel mir bislang nichts ein.
Gruß,
Marco
Schlüssel id (als Primärschlüssel) für jede Person auch noch Felder
father_id und mother_id, die optional ausgefüllt werden können (falls
eben Mutter oder Vater auch Einträge in der Tabelle sind).
Nun kann man sich für Familienbeziehungen wie Bruder / Schwester,
Tante / Onkel, Großvater / Großmutter u.s.w. einer Person jeweils alle
möglichen SQL-Statements ausdenken. Allerdings braucht man dann für
jede Person und jede denkbare Beziehung ein einzelnes Statement.
Kennt jemand eine Möglichkeit, wie man mit weniger Anfragen pro Person
auskommt? Muß man dafür eine andere, eventuell redundantere
Speicherung oder sogar Extratabellen in Kauf nehmen?
Ich habe darüber nachgedacht, wie Nested-Set wiederverwendet werden
kann, aber da eine Person nun mal zwei statt nur einem direkten
"Vorgänger" im Baum hat fiel mir bislang nichts ein.
Gruß,
Marco