Это основной вопрос проектирования базы данных. Мне нужна таблица (или несколько таблиц), определяющая отношения между клиентами. Я хочу, чтобы PrimaryCustomer мог быть связан с несколькими SecondaryCustomers и иметь много SecondaryCustomers с одинаковыми отношениями.
PrimaryCustomerID RelationshipID SecondaryCustomerID
1) Если первичный ключ - {PrimaryCustomerID}
, то у меня может быть только один связанный клиент любого типа.
2) Если первичный ключ - {PrimaryCustomerID, RelationshipID}
, то у меня может быть только один связанный клиент для каждого типа отношений.
3) Если первичный ключ - {PrimaryCustomerID, RelationshipID, SecondaryCustomerID}
, тогда я могу иметь все, что захочу, но все столбцы в качестве первичного ключа кажутся совершенно неправильными.
Как правильно все настроить?