Рассмотрим следующие троичные отношения:
Предположим, что все объекты имеют только два атрибута (PK и Name).
Вот таблицы, которые я получил (5 таблиц):
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
-------------------------
Вопрос:
Это хорошее решение для этих троичных отношений? В чем разница между двумя таблицами (R1 и R2) вместо следующей таблицы:
Ternary table
-------------------------------------
ID_Sector ID_Company ID_Product
-------------------------------------
Мне кажется, что наличие двух отдельных таблиц для каждого отношения (R1 и R2) является лучшим решением по сравнению с наличием одной таблицы, но я не знаю, так ли это на самом деле или это хорошая практика.
источник
Ternary Table: a company may...
Использование обозначений (IDSector, IDCompany, IDProduct) означает ли это, что кортежи (1, 1, 1) и (1, 1, 2) разрешены («c1» создает «p1» и «p2» в «s1») ); и что кортежи (1, 1, 1) и (2, 1, 2) не разрешены («c1» производит «p1» в «s1» и «p2» в «s2»)? Почему? Разве троичная таблица не допускает какой-либо возможный кортеж (IDSector, IDCompany, IDProduct)?Binary Tables: sector has...; company has...
Я думал, что троичная таблица была эквивалентна двоичным файлам, если троичная таблица допускает любой кортеж (IDSector, IDCompany, IDProduct).