Персоны ссылаются друг на друга, как лучше хранить это в базе?
Персоны ссылаются друг на друга, как лучше хранить это в базе?
Если сделать поля "person_1" и "person_2", то при поиске связей, придется искать по обоим, т.к. оба значения могут быть как в одном поле, так и во втором.
Например:
P1 - P2
P3 - P1
P2 - P3
Надо отобрать связи персоны P1, но в первой записи P1 в первом поле, во второй - во втором.
Надо отобрать связи персоны P2, первой записи P2 во втором поле, в третьей - в первом.
Или делать избыточный вариант и сохранять
P1 - P2
P2 - P1
P3 - P1
P1 - P3
P2 - P3
P3 - P2
?
Так "персона ссылается на другую персону" или "персоны связаны между собой"?
Первый вариант предполагает, что связь односторонняя и P1 - P2 != P2 - P1.