Скачиваний:
98
Добавлен:
30.04.2013
Размер:
735.74 Кб
Скачать

ftp://no-more.kiev.ua/pub/dbms/doc/ER_MODEL.ZIP

08.08.2004

Научно-производственная фирма

ТЕХНОСОФТ - ТЕСТ

ИНФОРМАЦИОННО-ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ.

МОДЕЛЬ "СУЩНОСТЬ - СВЯЗЬ"

1991

.

АННОТАЦИЯ

Документ содержит описание метода построения информацион-

но-логической (инфологической) модели предметной области типа

"сущность-связь". Инфологическая модель определяет совокупность

информационных объектов, их атрибутов и отношений между объекта-

ми. Модель создается по результатам предпроектного обследования

предметной области и служит основанием для составления техни-

ко-экономического обоснования банка данных, разработки техничес-

кого задания на его проектирование, а также для последующей де-

тальной проработки с целью получения предварительного проекта

банка данных. Предлагаемый метод позволяет получить инфологичес-

кую модель в графической форме диаграммы, дополненную детальным

описанием в виде набора типовых бланков (форм).

.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 5

1. БАЗОВЫЕ ОПРЕДЕЛЕНИЯ И СОГЛАШЕНИЯ 8

1.1. Определение и описание сущности 8

1.2. Определение и описание связи 9

1.3. Действительные и недействительные связи 12

1.4. Атрибуты 14

1.5. Уникальный (ключевой) идентификатор 18

1.6. Правила оформления ER-диаграммы 20

1.7. Резюме 23

2. ДОПОЛНИТЕЛЬНЫЕ ОПРЕДЕЛЕНИЯ И СОГЛАШЕНИЯ 24

2.1. Подтипы сущностей 25

2.2. Дополнительные соглашения для сущностей 27

2.3. Исключающая дуга 29

2.4. Дополнительные соглашения для связей 33

2.5. Домены 36

2.6. Резюме 37

3. КЛАССИЧЕСКИЕ СТРУКТУРЫ И ОБЩИЕ ОБРАЗЦЫ 38

3.1. Классические иерархические структуры 38

3.2. Сетевые структуры 45

3.3. Изменения во времени 47

3.4. Накладная на материалы 49

3.5. Классификации и категории 51

3.6. Типы сущности 53

3.7. Общая модель для Заказов 55

3.8. Общая модель для ролей и работ 57

3.9. Продукция 59

3.10. Общая модель для управляющей информации 60

4. НОРМАЛИЗАЦИЯ ДАННЫХ 67

5. ОЦЕНКА КАЧЕСТВА МОДЕЛИ "СУЩНОСТЬ-СВЯЗЬ" 73

5.1. Качество ER-модели в конце этапа СТРАТЕГИИ 74

5.2. Качество ER-модели в конце этапа АНАЛИЗА 77

.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 82

ПРИЛОЖЕНИЕ 1. ПЕРЕЧЕНЬ ДОПУСТИМЫХ КОНСТРУКЦИЙ СВЯЗЕЙ 83

ПРИЛОЖЕНИЕ 2. ДЕТАЛЬНОЕ ОПРЕДЕЛЕНИЕ СУЩНОСТИ, СВЯЗИ, 90

АТРИБУТА И ДОМЕНА

ПРИЛОЖЕНИЕ 3. ИЗВЛЕЧЕНИЕ РЕЛЯЦИОННЫХ ТАБЛИЦ ИЗ 105

МОДЕЛИ "СУЩНОСТЬ - СВЯЗЬ"

Введение 5

─────────────────────────────────────────────────────────────────

ВВЕДЕНИЕ

Появление и широкое применение модели данных типа "сущ-

ностьсвязь" (entity - relationship, ER-модель) связано с практи-

ческими потребностями системного анализа и концептуального моде-

лирования больших баз данных (БД) для автоматизированных

информационных систем [1]. Техника построения ER-модели данных

используется для определения информационных потребностей приклад-

ной области и представления структуры базы данных, соответствую-

щей ER -модели, в графической форме ER-диаграммы.

В жизненном цикле программного обеспечения (ЖЦ ПО) [2] тех-

ника ER-моделирования используется в процессах, связанных со спе-

цификацией требований к разрабатываемому ПО. Эти процессы выпол-

няются на начальных этапах ЖЦ ПО. Для ЖЦ ПО, показанного на

рис.1, построение ER-модели данных выполняется на этапах СТРАТЕ-

ГИИ и АНАЛИЗА (соответствующие этапам Технического задания и Эс-

кизного проектирования по ГОСТ ЕСПД).

 

┌──────────────────────────────────────────────────────┐

│ │

│ ┌──────────────────┐ │

│ │ │ │

│ │ СТРАТЕГИЯ │ │

│ │ │ │

│ └────────┬─────────┘ │

│ ┌────────┴─────────┐ │

│ │ │ │

│ │ АНАЛИЗ │ │

│ │ │ │

│ └────────┬─────────┘ │

│ ┌────────┴─────────┐ │

│ │ │ │

│ │ ПРОЕКТИРОВАНИЕ │ │

│ │ │ │

│ └────────┬─────────┘ │

│ ┌────────┴─────────┐ │

│ │ │ │

│ │ РЕАЛИЗАЦИЯ │ │

│ │ │ │

│ └────────┬─────────┘ │

│ ┌────────┴─────────┐ │

│ │ │ │

│ │ СОПРОВОЖДЕНИЕ │ │

│ │ │ │

│ └──────────────────┘ │

│ │

└──────────────────────────────────────────────────────┘

 

Рис.1. Вариант ЖЦ ПО

.

Информационно-логическое моделирование.

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

─────────────────────────────────────────────────────────────────

ER-модель данных обладает важными свойствами, которые обус-

лавливают полезность ее использования в определении требований к

данным разрабатываемой программной системы.

Во-первых, средства ER-модели обладают достаточной степенью

общности, пригодной для передачи понимания информационных потреб-

ностей пользователя, в то же время не имеют большого разрыва с

моделями данных коммерческих СУБД. Это свойство обеспечивает реа-

лизацию инфологической модели БД, сконструированной по правилам

ER-моделирования, без больших проблем. Рис.2 дает наглядное

представление о том, как ER-модель может быть преобразована в лю-

бую модель из трех основных видов - иерархическую, сетевую, реля-

ционную, которые поддерживаются коммерческими СУБД.

Во-вторых, техника ER-моделирования опирается на строгие

формальные правила и соглашения, включая концепции нормализации

данных. Следовательно, ER-модель может рассматриваться как средс-

тво точного выражения представлений о реальных объектах области

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

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

системы.

В настоящее время существует несколько различных техник

ER-моделирования, которые являются развитием классической ER-мо-

дели, предложенной П.Ченом.

В отчете описана ER-модель, разработанная Р.Бакером [3] и

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

коммерческих систем.

.

Введение 7

─────────────────────────────────────────────────────────────────

ER - МОДЕЛЬ

╔══════════════════════════════════════╗

║ ║

║ ┌────────┐ ┌───────┐ ║

║ │ ПУНКТ ├┐для │ПРОДУКТ│ ║

║ │ДОГОВОРА├┼────── ─ ─ ─ ─┤ │ ║

║ │ ├┘ показан│ │ ║

║ └──┬┬┬───┘ в └───────┘ ║

║ в└┼┘ ║

║ │ ║

║ ║

║ │состоять ║

║ из ║

║ ┌────┴────┐ ║

║ │ ДОГОВОР │ ║

║ │ │ ║

║ └─────────┘ ║

║ ║

╚═════════╤══════╤════════╤════════════╝

│ │ │

│ │ │

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ │ │ │ СЕТЕВАЯ МОДЕЛЬ

╔═════════════════════════╧════╗ │ ╔══════╧════════════════════════╗

║ ║ │ ║ ║

║ ┌───────────┐ ║ │ ║ ┌─────────┐ ┌───────────┐ ║

║ │ ДОГОВОР │ ║ │ ║ │ ДОГОВОР │ │ ПРОДУКТ X │ ║

║ └─────┬─────┘ ║ │ ║ └────┬─┬──┘ └─┬─────────┘ ║

║ ┌──────┴───────┐ ║ │ ║ │ │ ┌────┘ ║

║ ┌─────┴─────┐ ┌─────┴─────┐ ║ │ ║ │ │ │ ┌───────────┐║

║ │ ПУНКТ 1 │ │ ПУНКТ 2 │ ║ │ ║ │ │ │ │ ПРОДУКТ Y │║

║ └─────┬─────┘ └─────┬─────┘ ║ │ ║ │ │ │ └─────┬─────┘║

║ │ │ ║ │ ║ │ └──┼────────┐ │ ║

║ ┌─────┴─────┐ ┌─────┴─────┐ ║ │ ║ ┌───┴────┴┐ ┌──┴───┴──┐ ║

║ │ ПРОДУКТ X │ │ ПРОДУКТ Y │ ║ │ ║ │ ПУНКТ 1 ├───>┤ ПУНКТ 2 │ ║

║ └───────────┘ └───────────┘ ║ │ ║ └─────────┘ └─────────┘ ║

║ ║ │ ║ ║

╚══════════════════════════════╝ │ ╚═══════════════════════════════╝

РЕЛЯЦИОННАЯ │ МОДЕЛЬ

╔════════════════╧═════════════════════╗

║ ║

║ ДОГОВОР ПРОДУКТ ║

║ ┌───┬────┬────────┐ ┌───┬─────────┐ ║

║ │Код│Дата│Заказчик│ │Код│ Описание│ ║

║ ├───┼────┼────────┤ ├───┼─────────┤ ║

║ │ │ │ │ │ │ │ ║

║ └───┴────┴────────┘ └───┴─────────┘ ║

║ ║

║ ПУНКТ ║

║ ┌───────┬─────┬───────┬──────────┐ ║

║ │Договор│Номер│Продукт│Количество│ ║

║ ├───────┼─────┼───────┼──────────┤ ║

║ │ │ │ │ │ ║

║ └───────┴─────┴───────┴──────────┘ ║

║ ║

╚══════════════════════════════════════╝

Рис.2. Преобразование ER-модели в иерархическую,

сетевую и реляционную модели

.

Информационно-логическое моделирование.

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

─────────────────────────────────────────────────────────────────

1. Базовые определения и соглашения

Базовыми структурами модели данных "сущность - связь"

(ER-модели) являются сущности, атрибуты и связи между сущностями.

В этой главе приводятся определения базовых структур ER-модели, а

также основные правила их изображения и размещения на ER-диаграм-

ме. Дополнительная информация по детальному определению сущнос-

тей, атрибутов и связей приведена в приложениях 1,2.

1.1. Определение и описание сущности

Сущность предметной области - это семантически важный объект

или тип объекта, существующий реально или являющийся абстрактным

понятием, информацию о котором небходимо знать и/или сохранять.

В ER-модели сущность представляет общую структуру множества

однотипных сущностей предметной области.

На ER-диаграмме сущность представляется прямоугольным блоком

с именем (названием) сущности внутри (рис.1.1).

 

┌───────────────────────┐

│ │

│ │

│   ИМЯ СУЩНОСТИ  │

│ │

│ │

└───────────────────────┘

 

Рис.1.1. Графическое изображение сущности

Имя сущности должно выражаться существительным в единствен-

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

Блок может быть любого размера (формы), но достаточным для

того чтобы вмещать смысловое имя сущности, а не аббревиатуру.

Произвольные размеры блока позволяют также рисовать ER-диаграмму

более удобно. Так например, сознательное удлинение блока дает

возможность проводить линии связей без лишних пересечений, иначе

диаграмма становится запутанной и трудно читаемой.

1. Базовые определения и концепции 9

─────────────────────────────────────────────────────────────────

Имя сущности должно быть уникальным на диаграмме и представ-

лять тип или класс объектов, а не их отдельные экземпляры.

Сущность может иметь синоним, который указывается в блоке

рядом с основным именем через знак наклонной черты "/" (рис.

1.2). Синоним как и основное имя сущности должен быть уникальным

на ER-диаграмме, представлен существительным в единственном числе

и записываться прописными буквами.

 

┌───────────────────────┐

│ │

│ │

│   АЭРОПОРТ/АЭРОДРОМ  │

│ │

│ │

└───────────────────────┘

 

Рис.1.2. Пример сущности

1.2. Определение и описание связи

Связью ER-модели является важная именованная ассоциация меж-

ду двумя сущностями. Все связи рассматриваемой ER-модели являются

бинарными и связывают между собой две сущности, или сущность саму

с собой.

Каждая связь представляется двумя концами, для каждого из

которых должно быть определено:

- имя;

- степень множественности (один или много объектов участвует

в связи);

- степень обязательности (обязательная (mandatory) или нео-

бязательная (optional) связь между сущностями, т.е. всегда или не

всегда сущности могут связываться друг с другом).

На ER-диаграммах связь представляется линией, соединяющей

два блока сущностей или рекурсивно блок сущности самим с собой.

На рис.1.3 показана наиболее часто встречающаяся связь типа "мно-

гие к одному" с обязательной связью на конце "многие" и необяза-

тельной на конце "один".

.

Информационно-логическое моделирование.

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

─────────────────────────────────────────────────────────────────

 

┌─────────────────┐ ┌─────────────────┐

│ │ │ │

│ ├┐ │ │

│ ├┼───────── ─ ─ ─ ─ ─ ┤ │

│ ├┘ │ │ │ │ │

│ ││ │ │ │ │ │

└─────────────────┘│ │ │ │ └─────────────────┘

│ │ │ │

 многие │ │ один

│ │

 обязательная необязательная

 

Рис.1.3. Графическое изображение связи

Для множественного конца линия связи присоединяется к блоку

в трех точках. Для конца связи со степенью "один" линия связи

присоединяется к блоку в одной точке.

Если конец связи является обязательным, то рисуется непре-

рывная линия до половины связи. Если конец связи является необя-

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

Рекурсивная связь с идентификацией свойств для каждого конца

показана на рис.1.4.

 

┌─────────────────┐

│ │

│ │

│ ├┐ ──────  многие

│ ├┼───┐

│ ├┘ │

└────────┬────────┘ │ ──────────  обязательная

 один ───── │

│ │

  необязательная ───── │

└ ─ ─ ─ ─ ─ ─ ┘

 

Рис.1.4. Графическое изображение рекурсивной связи

Такой рекурсивной связью показывается бесконечная иерархия.

Имя для каждого конца связи размещается возле соответствую-

щего конца как показано ниже на рис.1.5.

 

┌─────────────────┐ ┌─────────────────┐

│ │ │ │

│ ├┐ имя_конца_1  │ │

│  СУЩНОСТЬ A ├┼───────────── ─ ─ ─ ─ ─ ─ ┤ СУЩНОСТЬ B │

│ ├┘ имя_конца_2 │ │

│ │ │ │

└─────────────────┘ └─────────────────┘

 

Рис.1.5. Именование связи

1. Базовые определения и концепции 11

─────────────────────────────────────────────────────────────────

Читается связь отдельно для каждого конца, показывая как

сущность A связывается с сущностью B, и сущность B связывается с

сущностью A. При чтении ER-диаграммы с точки зрения выбранной

сущности и ее связи, необходимо учитывать степень обязательности

выбранного конца связи.

Если конец связи является обязательным, то перед именем свя-

зи добавляется фраза "должен быть" или "должен"; если конец связи

является необязательным, то перед именем связи добавляется фраза

"может быть" или "может".

Покажем правила чтения ER-диаграммы на конкретном примере.

 

┌───────────────┐ ┌──────────────┐

│ │ │ │

│ ├┐работать в    │ │

│   СЛУЖАЩИЙ  ├┼───────────── ─ ─ ─ ─ ─ ─ ┤  ОТДЕЛ 2 │

│ ├┘   иметь  │ │

│ │ │ │

└───────────────┘ └──────────────┘

 

Эта диаграмма читается слева направо следующим образом:

 1Каждый СЛУЖАЩИЙ должен РАБОТАТЬ В одном и только в одном ОТ-

 1ДЕЛЕ.

и справа налево:

 Каждый ОТДЕЛ может ИМЕТЬ одного или более СЛУЖАЩИХ.

Так как связь со стороны сущности ОТДЕЛ необязательная, то

нужно также понимать, что ОТДЕЛ может и не иметь ни одного СЛУЖА-

ЩЕГО.

.

Информационно-логическое моделирование.

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

─────────────────────────────────────────────────────────────────

Формальный синтаксис правила чтения любой связи следующий:

┌   ┐

│   должна (быть)  0│

 Каждая СУЩНОСТЬ-A <    >  имя_конца_1 

│   может (быть)  0│

└     ┘

┌ ┐

│  одна и только одна СУЩНОСТЬ-B │

<   >

│  1одна или более СУЩНОСТИ-B  │

└ ┘

и обратно:

┌   ┐

│  1должна (быть)  │

 Каждая СУЩНОСТЬ-B <    >  имя_конца_2

│  1может (быть)  │

└   ┘

┌ ┐

│  одна и только одна СУЩНОСТЬ-A │

<   >

│  одна или более СУЩНОСТИ-A  │

└ ┘

Связь ER-модели представляет тип или класс ассоциаций между

сущностями, к которому приводятся все конкретные примеры (случаи)

связей. Вся концепция ER-моделирования имеет дело с типами, а не

с отдельными примерами типов.