Кубанский государственный университет
Опубликован: 24.12.2013 | Доступ: свободный | Студентов: 681 / 8 | Длительность: 24:28:00
Лекция 2:

Модель сущность-связь

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >

2.2 Диаграммы сущность-связь

2.2.1 Сущности, связи, атрибуты

Сущность —это понятие, концепт, воображаемый объект, для которого у человека может быть создан четко отделяемый образ. Сущность задает некоторый набор объектов описываемого мира, в том числе процессов или атрибутов других объектов. Важно понимать, что сущность похожа на тип, но не на экземпляр. В дальнейшем мы будем говорить о типах сущностей, хотя употребление термина "тип" применительно к сущностям не совсем корректно. На ER-диаграммах сущность представляется прямоугольником, в котором обязательно указывается имя сущности. Дополнительно можно указывать примеры экземпляров сущности (рисунок 2.1). Примеры предназначены для человека, и позволяют с самого начала как-то ограничить множество экземпляров входящих в тип сущности.

Сущность

Рис. 2.1. Сущность

С каждым типом сущности можно связать предикат, проверяющий принадлежность экземпляра сущности набору сущностей. При определении типа сущности необходимо гарантировать, что экземпляры сущности различимы. Это требование аналогично требованию отсутствия записей-дубликатов или кортежей в реляционных отношениях, которые будут рассматриваться в "Реляционная модель данных" . Предикат, соответствующий сущности имеет вид: имя_сущности (список_атрибутов). Для моделей физического уровня задают еще типы атрибутов. Таким образом, сущности в ER-моделях определяются как минимум именем и списком атрибутов. В пределах одной сущности не может быть двух экземпляров с одинаковыми значениями атрибутов.

Связь —это типовое понятие, устанавливающее правила связывания сущностей. Каждый экземпляр типа связи устанавливается между экземплярами типов сущностей. Может существовать рекурсивная связь между типом сущности и им самим (как бы его дубликатом).

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

Концы бинарной связи в ER-модели характеризуются:

  • именем роли (имя конца связи), определяющей функцию связи по отношению к связываемой сущности;
  • степенью конца связи, определяющей сколько экземпляров данного типа сущности должно присутствовать в каждом экземпляре данного типа связи.
  • обязательностью связи, то есть указанием, любой ли экземпляр связываемой сущности должен участвовать в некотором экземпляре данного типа связи.

Обозначения и примеры связей в первоначальной нотации, предложенной П. Ченом, приведены на рисунке 2.2

 Связи в нотации П. Чена

Рис. 2.2. Связи в нотации П. Чена

Для представления некоторых тонкостей наряду с нотацией П. Чена воспользуемся модифицированной нотацией Р. Баркера (рисунок 2.3). Будем изображать связь ненаправленной линией, соединяющей две разных сущности или сущность с собой. Обязательный конец связи будем представлять сплошной линией, а необязательный конец - штриховой линией. Неразветвленный конец линии обозначает степень 1. "Воронья лапка" означает степень "ко многим". Степень конца связи может быть уточнена. Так, указание 2..4 означает, что степень этого конца связи от 2 до 4 включительно.

Обязательность связи определяет, любой ли экземпляр сущности участвует в некотором экземпляре связи.

Примеры типов связей приведены на рисунке 2.3. Слева изображена связь, которую следует читать в двух направлениях так:

  • пассажир может иметь один или несколько билетов; но может не иметь ни одного билета;
  • билет предназначен для одного пассажира.

Справа пример рекурсивной связи, которую следует читать так:

  • работник может иметь начальника, а может не иметь;
  • работник может подчиняться другому работнику, но может не подчиняться никому.

Для правильного прочтения связей следует помнить, что обязательность, обозначенная типом линии (сплошная или прерывистая) связана только со "своим" именем роли. Тип линии другого конца связи значения не имеет.

 Примеры типов связей

Рис. 2.3. Примеры типов связей

Обратите внимание на то, что чрезмерная краткость описания ролей в примере вызывает трудности в установлении смысла связи.

Задание уточнений степени конца связи определим на примерах:

  • Указание числа n означает, что в каждом экземпляре связи участвует ровно п экземпляров сущности;
  • Указание 0..1 означает, что не все экземпляры сущности участвуют в образовании связи, но если связь есть, в ней задействован только один экземпляр;
  • Указание 0..n означает, что не все экземпляры сущности участвуют в образовании связи, но если связь есть, в ней задействованы от одного до n. Примеры типов связей экземпляров;
  • Вариант 1..* определяет, что все экземпляры сущности участвуют в образовании связей и в каждом экземпляре связи может использоваться любое число экземпляров сущности.
  • Если степень одного конца связи 1, а второго более 1, то говорят о связи 1:n или "один-ко-многим". Если степени обоих концов связи больше 1, связь обозначается как n:m или "многие-ко-многим".

Атрибут —это свойство сущности или связи, получаемое путем наблюдения или измерения. Информацию об экземпляре сущности выражают набором пар "атрибут — значение", как например на рисунке 2.4:

 Пара "атрибут" — значение

Рис. 2.4. Пара "атрибут" — значение

Пример множественного значения. В анкете предлагается подчеркнуть один или несколько предусмотренных ответов в качестве значения атрибута. Заполненная строка выглядит так: "Как часто вы занимаетесь базами данных (нужное подчеркнуть): часто, редко, довольно часто, довольно редко, по настроению, в дождливую погоду".

Значения атрибутов обычно принадлежат одному типу, но возможны бестиповые атрибуты.

Связи также имеют атрибуты. Выделим две их разновидности:

  • атрибуты, через которые осуществляется привязка к связываемым сущностям;
  • атрибуты, определяющие свойства сущностей, проявляющиеся только при объединении их связями; такие атрибуты называют эмерджентными.

Пример: Сущности "Работник" и "Проект" со связью "Проект — Работник", содержащей атрибуты связи "Номер_работника", "Номер_проекта" и атрибут свойства связи "Ресурс_времени". Последний атрибут эмерджентный. Его смысл: планируются затраты времени работника на работу в рамках указанного проекта.

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

 Пример ER-диаграммы с атрибутами

Рис. 2.5. Пример ER-диаграммы с атрибутами
< Лекция 1 || Лекция 2: 123456 || Лекция 3 >