Supondo que eu tenha várias relações no meu banco de dados, por exemplo, Loja, Funcionário e Venda, e desejo conectar pares a um relacionamento binário simples. Pessoalmente, eu criaria tabelas denominadas Employee_Store e Employee_Sale com uma chave natural composta pelas chaves estrangeiras.
Agora, meu colega insiste em criar uma tabela para vários relacionamentos. Para o exemplo acima, pode haver uma tabela chamada EmployeeLinks:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
Por favor, ajude-me com boas razões pelas quais essa não é uma boa ideia. Tenho meus próprios argumentos, mas gostaria de mantê-los em sigilo e ouvir suas opiniões imparciais.
EDITAR:
Inicialmente, a tabela acima não teria chave primária (!). Como as chaves estrangeiras permitem nulo, uma chave substituta é a única opção.