ERD Наследование и идентификация отношений одновременно

Предположим, у нас есть 2 объекта ERD, связанных с 1 отношением. Визуальная парадигма позволяет одновременно помечать такие отношения как "подтип" и "идентификация". И я просто не могу представить ни одного случая, когда такая комбинация могла бы иметь смысл.

Это действительно законно? Если да, я был бы признателен за некоторый пример и процедуру перевода его в реляционную модель (каковы изменения по сравнению только с "Подтипом" или только "Идентификационным" случаем?).

1 ответ

Решение

То, что Visual Paradigm называет ERD, на самом деле представляет собой диаграмму таблицы. Диаграммы, которые не используют формы для отношений, не поддерживают атрибуты и отношения в отношениях, а также троичные отношения и отношения более высокого порядка. Если нотация диаграмм не поддерживает все концепции модели Entity-Relationship, мы не можем назвать ее диаграммы диаграммами Entity-Relationship.

С точки зрения ER, все отношения подтипа являются идентифицирующими отношениями, поскольку идентичность набора родительских сущностей является компонентом идентичности набора дочерних сущностей. Однако все идентифицирующие отношения не являются отношениями подтипа. Разница между подтипом и набором слабых сущностей заключается в том, что последний использует дополнительный компонент слабого ключа для различения нескольких дочерних элементов родителя. Подтипы зависят только от супертипа для идентичности, и поэтому каждый экземпляр супертипа может иметь только экземпляр для каждого подтипа.

Например, набор сущностей Person (идентифицируемый person_id) может иметь подтип Employee (который также идентифицируется person_id). Сравните это с Invoice (идентифицированным invoice_id) и LineItem (идентифицированным invoice_id и line_number).

Подтип и идентификационная диаграмма ER

ERD (концептуальная модель) переводится в следующие таблицы (физическая модель):

Подтип и идентификационная таблица

Другие вопросы по тегам