Таблицы как отношения в диаграммах ER - PullRequest
0 голосов
/ 14 июня 2010

Предположим, у меня есть следующие таблицы (**bold** - первичный ключ, *italics* - внешний ключ):

patient(**patient_id**, name)
disease(**disease_id**, name)
patient_disease(**p_d_id**, *patient_id*, *disease,_id* )

Я хочу нарисовать диаграмму ER для этого. Моя идея состоит в том, чтобы создать две сущности, одну для пациента и одну для болезни, а затем установить отношение n-to-n между ними, с атрибутом p_d_id. Это так и должно быть?

Ответы [ 2 ]

0 голосов
/ 15 июня 2010

Ваши сущности и n2n-отношения в порядке, но ключ p_d_id не нужен, если эти 3 являются единственными полями patient_disease, тогда (Patient_id, болезнь_id) достаточно в качестве его первичного ключа.Первичный ключ позволил бы вам иметь много строк с одинаковыми значениями Patient_id и AIDS_id, и что бы это значило?для того, чтобы указать, что у пациента было заболевание, достаточно всего одной строки.
Если у вас есть другое поле, например, дата, чтобы указать дату, когда у пациента было заболевание, тогдасмысл иметь собственный идентификатор, потому что у пациента может быть одно и то же заболевание дважды, в разные даты, но опять же, в этом случае, дата может быть частью основного идентификатора.

примечание: в теории отношений «отношение» и «отношения» - это разные понятия, в своем вопросе вы написали «отношение», но на самом деле это «отношения».«Отношение» - это просто кортеж, экземпляр сущности, то, что в БД будет строкой.

0 голосов
/ 14 июня 2010

Да, это правильно. На диаграммах ER мы моделируем логические отношения, а не возможные физические отношения с таблицей «соединения» для отношений «многие ко многим».

Логическая связь в этом случае заключается в том, что у нескольких пациентов может быть несколько заболеваний и наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...