Hallo,

ich muss für ein System mehrere Zeilen aus einer Tabelle miteinander Verknüpfen.

Also z.B. eine Tabelle personen, eine Tabelle personen_verknüpfung. Person1<->Person2 sind z.B. befreundet, dann wird ein Eintrag in personen_verknüpfung vorgenommen.

Bisher hat die Verknüpfungstabelle die Spalten Person_id1 und Person_id2.

Sofern dann Person1<->Person2 befreundet sind wird in personen_verknüpfung eine Zeile angelegt mit den jeweiligen IDs von Person1/Person2.

Das unschöne daran: Abfragen werden ziemlich kompliziert. Wenn ich wissen möchte, ob Person1 und 2 befreundet sind, muss ich BEIDE Felder (ID1, ID2) in personen_verknüpfung abfragen.

Alternativ könnte ich das Tupel einfach doppelt speichern, also einmal als Person1<->Person2 und einmal als Person2<->Person1. Schön ist das allerdings auch nicht, da redundant.

Hat vielleicht jemand eine Idee, wie man das besser lösen könnte? Ich hoffe, ich konnte das Problem klar genug darstellen.

Wenn Mysql es ermöglichen würde, zweidimensionale Tupel wie (1, 2) für Person1<->Person2 direkt in einer Spalte zu speichern, könnte das einiges vereinfachen. Dazu konnte ich aber in der Doku nichts finden...