Якщо припустити, що у моїй базі даних є декілька відносин, наприклад, Магазин, Співробітник та Продаж, і я хочу з'єднати пари з простими бінарними відносинами. Особисто я створив таблиці на ім'я Employee_Store та Employee_Sale з натуральним ключем, що складається із зовнішніх ключів.
Тепер мій колега наполягає на створенні однієї таблиці для кількох стосунків. Для наведеного вище прикладу може бути таблиця під назвою EmployeeLinks:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
Будь ласка, допоможіть мені з вагомих причин, чому це не дуже гарна ідея. У мене є власні аргументи, але я хотів би зберегти їх приватними та почути ваші неупереджені думки.
Редагувати:
Спочатку таблиця вище не мала б первинного ключа (!). Оскільки іноземні ключі дозволяють нульовий сурогатний ключ - єдиний варіант.