Программирование >>  Хронологические базы данных 

1 ... 159 160 161 [ 162 ] 163 164 165 ... 348


Сущности

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

Примеры (см. рис. 13.1)

Сильные сущности:

DEPARTMENT (отдел) EMPLOYEE (работник) SUPPLIER (поставщик) PART (деталь) PROJECT (проект)

Слабая сущность: DEPENDENT (подчиненный)

Свойства

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

Примеры (см. рис. 13.1)

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

EMPi (личный номер работника - ключевое свойство)

ENAME (полное имя - составное, состоящее из свойств FIRST (имя). Ml (отчество) и LAST (фамилия)) SALARY (зарплата)

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

Si (номер поставщика - ключевое свойство)

SNAME (имя поставщика)

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

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

Для связи SUPP PART PROJ: QTY (количество)

Для связи PART STRUCTURE: QTY (количество)

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



Связи

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

Примеры (см. рис. 13.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 к прямоугольнику X можно провести сплошную линию со стрелкой на конце возле Y. Эта линия представляет то, что иногда называется связью принадлежности (isa relationship) (поскольку множество всех сущностей типа Y является (is а) подмножеством множества всех сущностей типа X).

Примеры (см. рис. 13.2)

Тип сущности PROGRAMMER является подтипом типа сущности EMPLOYEE

Типы сущностей APPLICATION PROGRAMMER и SYSTEM PROGRAMMER являются подтипами типа сущности PROGRAMMER

13.5. Проектирование базы данных с помощью метода ER-моделирования

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



СУБД, то станет ясно, что обычная ER-диаграмма для этого недостаточно точна и в ней отсутствует описание множества важных детапей (особенно тех, которые относятся к целостности данных). Для иллюстрации этого утверждения рассмотрим, что происходит при попытке отобразить проект базы данных, показанный на рис. 13.2, на набор определений элементов реляционной базы данных.

Сильные сущности

На рис. 13.1 показаны следующие сильные типы сущностей.

DEPARTMENT

EMPLOYEE

SUPPLIER

PART

PROJECT

Каждый сильный тип сущности отображается в базовую переменную-отнощение. Следовательно, рассматриваемая база данных будет содержать пять базовых переменных-отнощений, например DEPT, ЕМР, S, Р и J, соответствующих этим пяти типам сущности. Более того, каждое из базовых отнощений будет иметь потенциальный ключ (DEPTi, EMPi, Si, Pi и Ji), соответствующий указанным на ER-диаграмме ключевым свойствам. Для определенности допустим, что в каждой из создаваемых переменных-отнощений соответствующий потенциальный ключ определяется, как первичный. В качестве примера ниже приводится определение переменной-отнощения DEPT (в сокращенном виде).

VAR DEPT BASE RELATION { DEPTi ... ) PRIMARY KEY ( DEPTi ) ;

Записать определения остальных четырех переменных-отношений предлагается читателю в качестве упражнения.

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

Связи типа многие ко многам

в рассматриваемом примере присутствуют следующие связи типа многие ко многим .

PROJ WORK (между работниками и проектами)

SUPP PART (между поставщиками и деталями)

SUPP PART PROJ (между поставщиками, деталями и проектами)

PART STRUCTURE (между деталями-узлами и деталями, входящими в их состав)

В настоящее время существует множество инструментов, позволяющих выполнить такое отобра.жение (например, ER-диаграмма для генерации соответствующего набора SQL-команд CREATE TABLE).



1 ... 159 160 161 [ 162 ] 163 164 165 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика