Ich hatte mehrere Anforderungen für eine Verknüpfungstabelle für rekursive Beziehungen, wo ein Datensatz kein klarer "übergeordneter" Datensatz gegenüber dem anderen ist. Hier ist ein Beispiel, dass ich hoffe, dass mein Problem als viszerales macht, wie ich es zeigen oder erklären kann:Viele-zu-viele rekursive Beziehungen ohne eine primäre Entität
(Person) Id Person ------------- 1 Bob 2 Sue
Wenn Sue Bob Mutter ist es wäre sinnvoll, die Beziehungstabelle als solche zu verwenden:
(Relationship) PersonId1 PersonId2 Relationship ---------------------------------------- 2 1 Mother/Son
Aber wenn sie Cousins sind könnte es sein, entweder:
(Relationship) PersonId1 PersonId2 Relationship ----------------------------------------- 2 1 Cousin/Cousin
ODER
(Relationship) PersonId1 PersonId2 Relationship --------------------------------------- 1 2 Cousin/Cousin
Dies ist .... hässlich .... und würde konstante ORs oder UNIONS in Joins und Where-Klauseln erfordern.
Die folgende scheint sauber, aber sehr ausführlich, aber vielleicht gibt es nichts Besseres:
(Relationship) Id Type ---------------------- 1 Cousin/Cousin (Relationship_Person) RelationshipId PersonId --------------------------- 1 1 1 2
Gibt es ein besseres Muster?
Vielen Dank im Voraus!
Gordon am Anfang, als ich Ihren Kommentar sah Ich dachte ja gut duh das ist die Hässlichkeit meines Problems. ABER obwohl es sich anfühlt wie die Abteilung für Redundanz-Abteilung und wäre die falsche Antwort auf jeden College-Test ..... Ich denke, es könnte die richtige K.I.S.S sein antworte selbst dann, wenn es zahlreiche Normalisierungsregeln verletzt. Danke, ich bin überrascht/schockiert. Ich denke darüber nach! – jbruce