4. Сущности сильного и слабого типов
(Томас Коннолли, Каролин Бегг)
Сущность сильного типа. Тип сущности, существование которого не зависит от какого-то иного типа сущности
Характеризуется тем, что каждый экземпляр сильной сущности может быть однозначно идентифицирован с помощью атрибута (атрибутов) первичного ключа.
Сущности сильного типа называют родительскими, доминантными, сущностями-владельцами.
Сущность слабого типа. Тип сущности, существование которого зависит от какого-то другого типа сущности.
Характеризуется тем, что каждый экземпляр слабой сущности нельзя однозначно идентифицировать с помощью только тех атрибутов, которые относятся к сущности этого типа.
Сущности слабого типа называют дочерними, зависимыми или подчиненными.
Однозначно идентифицировать каждое пожелание клиента можно только, учитывая связь конкретного пожелания с некоторым клиентом, который однозначно идентифицируется с использованием первичного ключа для сущности типа Client.
5. Атрибуты связей
Представление атрибутов связей. Для отображения атрибутов, относящихся к типу связи, применяется такое же условное обозначение, как и для типа сущности. Тем не менее, чтобы подчеркнуть различие между сущностью и связью, обладающей атрибутом, линия, которая соединяет прямоугольник с именем атрибута (атрибутов) и саму связь, отображается как штриховая.
Если на схеме появляется связь с одним или несколькими атрибутами, это может свидетельствовать о том, что за этой связью скрывается невыявленный тип сущности. В данном случае – «рекламное объявление».
6. Ограничения кратности связей
Ограничения кратности описывают способ формирования связи между сущностями. Они отражают требования (или бизнес-правила), установленные пользователем или предприятием и представляют соответствующие ограничения предметной области.
Представление ограничений кратности.
a, c – степень участия. Описывает минимальное количество экземпляров сущности, участвующей в данной связи S. Если a=0, то связь для сущности B является необязательной. Т.е. могут существовать экземпляры сущности B, не связанные с экземплярами сущности A. Если a>0, то связь для сущности B является обязательной.
b, d – кардинальность («мощность») связи. Описывает максимальное количество экземпляров сущности, участвующей в данной связи S.
Альтернативные способы представления ограничений кратности
Определение ограничений кратности для двухсторонних связей
Виды двухсторонних связей: «один к одному» (1..1), «один ко многим» (1..*), «многие ко многим» (*..*).
Для определения кратности связи обычно требуется тщательное изучение зависимостей между данными, на которые распространяются ограничения предметной области, с помощью типичных примеров этих данных.
Типичные примеры данных изображаются с помощью семантической сети представления экземпляров сущностей и связей.
Определение кратности для связи (1..1)
Ограничение: «Менеджер управляет отделением компании»
Семантическая сеть, представляющая типичные примеры связи:
Представление ограничений кратности:
Определение кратности для связи (1..*)
Ограничение: «Сотрудник компании управляет объектами недвижимости»
Семантическая сеть, представляющая типичные примеры связи:
Представление ограничений кратности:
Определение кратности для связи (*..*)
Ограничение: «Газеты могут публиковать рекламные объявления о сдаче объектов недвижимости в аренду»
Семантическая сеть, представляющая типичные примеры связи:
Представление ограничений кратности:
Определение кратности сложных связей
Сложными называются связи степени больше двух.
Кратность сложной связи - количество (заданное как одно значение или как диапазон значений) экземпляров сущности определенного типа в n-арной связи, определяемое после фиксации остальных (n-1) значений.
Ограничение: «Сотрудник регистрирует клиента в отделении компании»
Определим ограничение кратности на стороне клиента. Сведем задачу к случаю «двухсторонней связи». На семантической сети представим пары экземпляров сущностей Staff и Branch, связанных с клиентами. Т.е. рассмотрим типичные примеры «сотрудников отделений», регистрирующих клиентов.
Семантическая сеть, представляющая типичные примеры связи:
Представление ограничений кратности на стороне клиента:
Представление ограничений кратности на стороне сущностей Staff и Branch: