ER: Преобразование троичного 1: 1: 1 в реляционную модель - PullRequest
0 голосов
/ 05 сентября 2018

ER diagram ternary 1:1:1

Предположим, у A, B, C есть ключи id (A), id (B) и id (C). Я хочу представить троичное отношение в реляционной модели, я следовал алгоритму из книги «Основы систем баз данных (7-е издание)» (глава 9.1.1, шаг 7):

Первичный ключ S (троичное отношение) обычно представляет собой комбинацию всех внешних ключей, которые ссылаются на отношения, представляющие участвующие типы объектов. Однако, если ограничение количества элементов для любого из типов объектов E, участвующих в R, равно 1, тогда первичный ключ S не должен включать атрибут внешнего ключа, который ссылается на отношение E ', соответствующее E.

Это заставляет меня сомневаться, что отношение должно состоять только из внешних ключей (я не уверен, правильно ли это в реляционной модели?), Должен ли я создать новый уникальный идентификатор для отношения (т. Е. S = (id (s) ), id (A), id (B), id (C)) или любой из первичных ключей участвующих объектов может быть первичным ключом отношения? (т. е. id (A))

Я знаю, что я мог бы просто создать отношение A с идентификатором ключа (A) и идентификатором attirubutes (B), id (C) и остальными атрибутами, но я хочу избежать этого, если это возможно.

...