Zakładając, że mam wiele relacji w mojej bazie danych, na przykład Sklep, Pracownik i Sprzedaż, i chcę połączyć pary za pomocą prostej relacji binarnej. Osobiście tworzyłem tabele o nazwie Employee_Store i Employee_Sale z naturalnym kluczem złożonym z kluczy obcych.
Teraz mój kolega nalega na stworzenie jednego stołu dla wielu relacji. W powyższym przykładzie może istnieć tabela o nazwie EmployeeLinks:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
Pomóż mi z ważnymi powodami, dla których nie jest to dobry pomysł. Mam własne argumenty, ale chciałbym zachować ich prywatność i poznać wasze obiektywne opinie.
EDYTOWAĆ:
Początkowo powyższa tabela nie miałaby klucza podstawowego (!). Ponieważ klucze obce umożliwiają zerowanie, klucz zastępczy jest jedyną opcją.