Вопрос по отображению реляционной базы данных - PullRequest
1 голос
/ 20 мая 2011

Я запутался в том, как сделать следующее. У меня

Table A
datetime AsOfDate PK
varchar Id PK
other irrelevant fields

Table B
datetime AsOfDate PK
varchar Id PK
other irrelevant fields

Отношение A к B: (AsOfDate, Id) -> (AsOfDate, Id)

У каждого A есть один или нет B. Каждый B имеет один A.

Является ли это правильным способом для моделирования сценария, в котором A может быть X, и если это детали X в B и если это не X, у него нет записи в B?

1 Ответ

0 голосов
/ 20 мая 2011

Если я правильно понимаю, B можно рассматривать как подтип A или как группу необязательно связанной информации об A?

Если это так, ваша модель верна. B необходимо сохранить ключ A в качестве своего собственного ключа. Объекты A могут существовать сами по себе, и вы захотите обеспечить ссылочную целостность, используя любой продукт RDBMS, с которым вы решите работать, так что все B должны иметь соответствующий объект A.

...