Considere o seguinte relacionamento ternário:
Suponha que todas as entidades tenham apenas dois atributos (PK e Nome).
Aqui estão as tabelas derivadas (5 tabelas):
Sector
-------------------------
ID_Sector SectorName
-------------------------
Product
-------------------------
ID_Product ProductName
-------------------------
Company
--------------------------------------
ID_Company ID_Sector CompanyName
--------------------------------------
Relationship 1 (R1)
-------------------------
ID_Sector ID_Product
-------------------------
Relationship 2 (R2)
-------------------------
ID_Company ID_Product
-------------------------
Questão:
É uma boa solução para esse relacionamento ternário? Qual é a diferença entre ter 2 tabelas (R1 e R2) em vez da seguinte tabela única:
Ternary table
-------------------------------------
ID_Sector ID_Company ID_Product
-------------------------------------
Para mim, parece que ter 2 tabelas separadas para cada relacionamento (R1 e R2) é uma solução melhor quando comparado a ter uma única tabela, mas não sei se isso é realmente verdade ou se é uma boa prática.
fonte
Ternary Table: a company may...
Usando a notação (IDSector, IDCompany, IDProduct), significa que as tuplas (1, 1, 1) e (1, 1, 2) são permitidas ("c1" produz "p1" e "p2" em "s1" ); e que as tuplas (1, 1, 1) e (2, 1, 2) não são permitidas ("c1" produz "p1" em "s1" e produz "p2" em "s2")? Por quê? A tabela ternária não deve permitir nenhuma tupla possível (IDSector, IDCompany, IDProduct)?Binary Tables: sector has...; company has...
Eu acho que a tabela ternária era equivalente aos binários, se a tabela ternária permitir qualquer tupla (IDSector, IDCompany, IDProduct).