Suponiendo que tengo múltiples relaciones en mi base de datos, por ejemplo, Tienda, Empleado y Venta, y quiero conectar pares con una relación binaria simple. Personalmente, crearía tablas llamadas Employee_Store y Employee_Sale con una clave natural compuesta por las claves externas.
Ahora, mi colega insiste en crear una tabla para múltiples relaciones. Para el ejemplo anterior, podría haber una tabla llamada EmployeeLinks:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
Por favor, ayúdenme con buenas razones por las cuales esta no es una buena idea. Tengo mis propios argumentos, pero me gustaría mantenerlos en privado y escuchar sus opiniones imparciales.
EDITAR:
Inicialmente, la tabla anterior no tendría clave primaria (!). Debido a que las claves externas permiten nulo, una clave sustituta es la única opción.