Главная » SQL, Базы данных » ER-ДИАГРАММЫ

0

Как уже указывалось в предыдущем разделе, в [14.6] была не только введена сама модель "сущность—связь", но и представлена концепция ER-диаграмм.  Такая диаграмма является методом представления логической структуры базы данных в графическом виде для более простого и наглядного отображения основных компонентов конкретного проекта базы данных (один рисунок порой стоит тысячи слов). Действительно, популярность методов ER-моделирования  как подхода для проектирования баз данных, скорее всего, объясняется именно наличием подобной диаграммной технологии, а не чем-либо иным. Ниже правила создания ER-диаграмм поясняются на примерах, представленных

на рис. 14.1 и 14.2.

Примечание. Так же, как и сама модель "сущность—связь", технология создания ERдиаграмм постоянно совершенствуется, поэтому в данном разделе будет описана та ее версия, которая отличается в некоторых важных аспектах от  оригинальной методики, предложенной в [14.6].

Сущности

Каждый тип сущности на ER-диаграмме представляется в виде отдельного  прямоугольника с указанным внутри именем сущности, причем  прямоугольники  сущностей слабых типов обозначаются двойной линией.

Соответствующие примеры приведены ниже (см. рис. 14.1).

■     Обычные сущности:

■     DEPARTMENT (Отдел);

■     EMPLOYEE (Работник);

■     SUPPLIER (Поставщик);

■     PART (Деталь);

■     PROJECT (Проект).

■     Слабая сущность:

■     DEPENDENT (Иждивенец).

Свойства

Свойства отображаются на ER-диаграмме в виде эллипсов, содержащих имена этих свойств. Эллипсы соединяются с соответствующей сущностью (или связью) сплошной линией. Контур эллипса изображается штриховой или пунктирной линией, если свойство производное, и двойной линией, если свойство многозначное. Если свойство составное, то составляющие его свойства показаны в виде других эллипсов, соединенных с эллипсом составного свойства с помощью дополнительных сплошных линий. Имена ключевых свойств обычно подчеркиваются, а множества значений не отображаются совсем.

Соответствующие примеры приведены ниже (см. рис. 14.1).

■     Для сущности EMPLOYEE:

ЕМР# (Табельный номер работника) — ключевое свойство;

ENAME (Полное имя) — составное, состоящее из свойств FIRST (Имя), Mi (Отчество) и LAST (Фамилия);

SALARY (Зарплата).

■     Для сущности SUPPLIER:

S# (Номер поставщика) — ключевое свойство; SNAME (Имя поставщика);

STATUS (Статус поставщика);

CITY (Город, в котором находится поставщик).

■     Для связи SUPP_PART_PROJ:

QTY (Количество).

■     ДЛЯ СВЯЗИ PART_STRUCTURE:

QTY (Количество).

Для экономии места другие свойства, представленные на рис. 14.1, не показаны.

Связи

Каждый тип связи показан на ER-диаграмме в виде ромба с именем связи внутри. Ромб рисуется двойной линией, если это связь между слабым типом сущности и типом сущности, от существования которого она зависит. Участники каждой связи соединяются с ромбом соответствующей связи сплошными  линиями.  Каждая такая линия содержит обозначение "1" или "М", которое указывает, относится ли связь к типу "один к одному", "один ко многим" или "многие ко многим"). Двойная линия обозначает полное участие в связи данной стороны.

Соответствующие примеры приведены ниже (см. рис. 14.1).

■     DEPT_EMP  (СВЯЗЬ ТИПа  "ОДИН  КО  МНОГИМ"  МеЖДУ  СУЩНОСТЯМИ

DEPARTMENT И

EMPLOYEE).

■     EMP_DEP (связь типа "один ко многим" между сущностью EMPLOYEE и сущностью слабого типа DEPENDENT).

■     PROJ_WORK  и   PROJ_MANAGER  (обе   связи   установлены   между  сущностями EMPLOYEE и PROJECT, причем первая имеет тип "многие ко многим", а вторая — "один ко многим").

■     SUPP_PART_PROJ (связь типа "многие ко многим и ко многим" между сущностя ми SUPPLIER, PART И PROJECT).

■     SUPP_PART (связь типа "многие ко многим" между сущностями SUPPLIER И

PART).

■     PART_STRUCTURE (связь типа "многие ко многим" между сущностями PART и

PART).

Обратите  внимание  на  то,  что  в  последнем  Случае  две  линии  от   PART  К PART_STRUCTURE отличаются надписями с указанием различных  выполняемых ролей (ЕХР и IMP, которые обозначают, соответственно, "разборку узла на детали" и "сборку узла из деталей"). Связь PART_STRUCTURE является  типичным примером рекурсивной связи.

Подтипы и супертипы сущностей

Пусть тип сущности Y является подтипом типа сущности X. Тогда от прямоугольника Y к прямоугольнику х можно провести сплошную линию со стрелкой на конце возле Y. Эта линия представляет то, что иногда называют  связью  принадлежности (is-a relationship) (поскольку множество всех сущностей типа Y является ("is а") подмножеством множества всех сущностей типах).

Соответствующие примеры приведены ниже (см. рис. 14.2).

■     ТИП СУЩНОСТИ PROGRAMMER ЯВЛЯеТСЯ ПОДТИПОМ ТИПЭ СУЩНОСТИ

EMPLOYEE.

■     Типы сущностей APPLICATION_PROGRAMMER И SYSTEM_PROGRAMMER ЯВЛЯЮТСЯ

подтипами типа сущности PROGRAMMER.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии