- •1. Базовые определения и соглашения
- •1.1. Определение и описание сущности
- •1.2. Определение и описание связи
- •1.3. Действительные и недействительные связи
- •1.4. Атрибуты
- •1.5. Уникальный (ключевой) идентификатор
- •1.6. Правила оформления er-диаграммы
- •1.7. Резюме
- •2. Дополнительные определения и соглашения
- •2.1. Подтипы сущностей
- •2. Дополнительные определения и соглашения 25
- •2. Дополнительные определения и соглашения 27
- •2.2. Дополнительные соглашения для сущностей
- •2. Дополнительные определения и соглашения 29
- •2.3. Исключающая дуга
- •2. Дополнительные определения и соглашения 31
- •2. Дополнительные определения и соглашения 33
- •2.4. Дополнительные соглашения для связей
- •2. Дополнительные определения и соглашения 35
- •2.5. Домены
- •2. Дополнительные определения и соглашения 37
- •2.6. Резюме
- •3. Классические структуры и общие образцы
- •3.1. Классические иерархические структуры
- •3. Классические структуры и общие образцы 39
- •3. Классические структуры и общие образцы 41
- •3. Классические структуры и общие образцы 43
- •3. Классические структуры и общие образцы 45
- •3.2. Сетевые структуры
- •3. Классические структуры и общие образцы 47
- •3.3. Изменения во времени
- •3. Классические структуры и общие образцы 49
- •3.4. Накладная на материалы
- •3. Классические структуры и общие образцы 51
- •3.5. Классификации и категории
- •3. Классические структуры и общие образцы 53
- •3.6. Типы сущности
- •3. Классические структуры и общие образцы 55
- •3.7. Общая модель для Заказов
- •3. Классические структуры и общие образцы 57
- •3.8. Общая модель для ролей и работ
- •3. Классические структуры и общие образцы 59
- •3.9. Продукция
- •3. Классические структуры и общие образцы 61
- •3. Классические структуры и общие образцы 63
- •3. Классические структуры и общие образцы 65
- •4. Нормализация данных 67
- •4. Нормализация данных
- •4. Нормализация данных 69
- •4. Нормализация данных 71
- •5. Оценка качества модели "Сущность-Связь" 73
- •5.1. Качество er-модели в конце этапа стратегии
- •5. Оценка качества модели "Сущность-Связь" 75
- •5. Оценка качества модели "Сущность-Связь" 77
- •5.2. Качество er-модели в конце этапа анализа
- •5. Оценка качества модели "Сущность-Связь" 79
- •5. Оценка качества модели "Сущность-Связь" 81
4. Нормализация данных 69
─────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────────────────────┐
│ ┌───────────────────────────────┐ │
│ │ ПОЛЕТ │ │
│ │ │ │
│ │ # * дата │ │
│ │ │ │
│ │ # * время │ │
│ │ │ │
│ │ # * номер рейса │ │
│ │ │ │
│ │ o имя авиалинии │ │
│ │ │ │
│ │ o имя авиапорта отправления │ │
│ │ │ │
│ │ o имя авиапорта прибытия │ │
│ │ │ │
│ │ o тип самолета │ │
│ │ │ │
│ │ o количество мест │ │
│ │ │ │
│ │ o имя члена экипажа_1 │ │
│ │ │ │
│ │ o роль_1 │ │
│ │ │ │
│ │ o имя члена экипажа_2 │ │
│ │ │ │
│ │ o роль_2 │ │
│ │ │ │
│ │ o имя члена экипажа_3 │ │
│ │ │ │
│ │ o роль_3 │ │
│ │ │ │
│ └───────────────────────────────┘ │
│ ║ │
│ перемещение повторяющихся ║ 1NF │
│ атрибутов ║ │
│ ║ ┌───────────────────┐ │
│ ║ │ │ │
│ ┌─────────────────┐ │ ПОЛЕТ │ │
│ │ │ │ │ │
│ │ ЧЛЕН │ │# * дата │ │
│ │ │определен │# * время │ │
│ │ ЭКИПАЖА ├┐для │# * номер рейса │ │
│ │ ├┼──────── ─ ─ ─ ─ ─┤ o имя авиалинии │ │
│ │ ├┘ обслужи-│ o имя авиапорта │ │
│ │ * имя │ ваться │ отправления │ │
│ │ * роль │ │ o имя авиапорта │ │
│ │ │ │ прибытия │ │
│ │ │ │ o тип самолета │ │
│ └─────────────────┘ │ o количество мест│ │
│ │ │ │
│ └───────────────────┘ │
│ ║ │
│ перемещение атрибутов, зависимых только ║ 2NF │
│ от части уникального идентификатора ║ │
│ ║ │
│ │
└───────────────────────────────────────────────────────────────┘
Рис.4.1. Первая и вторая Нормальные формы
.
Информационно-логическое моделирование.
70 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
ванной частью уникального идентификатора.
Например, атрибуты: имя авиалинии, имя авиапорта отправле-
ния, имя авиапорта прибытия и т.д., зависят от номера рейса и не
зависят от даты и времени полета. Таким образом, получаем новую
сущность АВИА РЕЙС с номером рейса, который в графике может
иметь несколько ПОЛЕТОВ с разными датой и временем вылета (см.
2NF на рис.4.1 и рис.4.2).
Вторая нормальная форма также является механизмом идентифи-
кации упущенных сущностей и связей.
* Третья нормальная форма
2Переместить атрибуты, зависимые от атрибутов, которые не яв-
2ляются частью уникального идентификатора.
Если атрибут сущности зависит только от других атрибутов,
которые не являются частью уникального идентификатора, тогда эти
атрибуты формируют базис для новой сущности, которая имеет связь
"один к многим" с первоначальной сущностью. Уникальным идентифи-
катором новой сущности является тот атрибут, от которого зависят
другие атрибуты.
Например, атрибуты: имя авиалинии, тип самолета и количество
мест в самолете на рис.4.2 - не имеют значенией, которые зависят
от номера рейса в сущности АВИА РЕЙС. Третья нормальная форма
рассматриваемого примера приведена на рис.4.2.
Третья нормальная форма является окончательным механизмом
определения упущенных сущностей и связей.
* Денормализация данных
Денормализация данных - это обратная процедура, которая вы-
полняется исключительно с целью повышения производительности со-
здаваемой программной системы. Денормализация может только выпол-
няться проектировщиком программной системы.
ER-модель не должна иметь компромиссов.
Типовые примеры денормализации заключаются в повторении
данных в различных реляционных таблицах, что приводит к необходи-
мости создания процедур для их управления. Например, добавление
новых значений для дублируемых данных должно быть выполнено для
всех таблиц, содержащих эти данные.
.
