- •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
5. Оценка качества модели "Сущность-Связь" 81
─────────────────────────────────────────────────────────────────
- Данная связь действительно необходима?
- Если связь обязательна, то всегда ли способна связаться с
сущностью с другого конца?
5.2.5. Контрольные вопросы для оценки ДУГИ "или, или"
Список контрольных вопросов для возможного автоматического
контроля каждой дуги "или, или" ER-модели:
- Все ли концы связей, пересекаемые дугой, одинаковой обяза-
тельности?
- Все ли концы связей, пересекаемые дугой, имеют одну и ту
же степень множественности?
- Все ли концы связей, пересекаемые дугой, являются одинако-
выми по отношению к ключевой идентификации?
- Один конец связи пересечен только одной дугой?
- Дуга пересекает несколько концов связи?
5.2.6. Оценка оформления документов с описанием ER-модели
К документам представления ER-модели относятся ER-диаграмма,
набор заполненных типовых форм 1-4 и перекрестная матрица "Функ-
ция - Сущность". Каждый документ должен иметь ссылку на проект
(разработку), дату и содержать имя разработчика.
.
Информационно-логическое моделирование.
82 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Цикритзис Д., Лоховски Ф. Модели данных /Пер. с англ.,-
М: Финансы и статистика, 1985.
2. Standart for software life cycle processes, P1074/D3X -
March.- 1989.
3. Barker R. CASE*Method: Entity Relationship Modelling,-
S.I.: Addison-Wesley Publishing Company,- 1990.
4. Першиков В.И., Савинков В.М. Толковый словарь по информа-
тике. - М: Финансы и статистика, 1991.
.
Приложение 1.
Перечень допустимых конструкций связей 83
─────────────────────────────────────────────────────────────────
ПРИЛОЖЕНИЕ 1
ПЕРЕЧЕНЬ ДОПУСТИМЫХ КОНСТРУКЦИЙ СВЯЗЕЙ
В этом приложении рассмотрены все синтаксически допустимые
конструкции связей, и для каждой конструкции дана информация по
ее семантике.
П1.1. Связи типа "многие к одному"
На рис. П1-1 показана наиболее распространенная связь, имею-
щая с конца "многие" обязательное соединение, а с конца "один"
необязательное.
┌─────────────┐ ┌─────────────┐ встречается
│ ├┐ │ │
│ A ├┼─────── ─ ─ ─ ┤ B │ часто
│ ├┘ │ │
└─────────────┘ └─────────────┘
Рис. П1-1. Связь с обязательным множественным и
необязательным единичным концами
Такую связь следует понимать так, что каждый отдельный при-
мер сущности A может существовать только в контексте одного (и
только одного) экземпляра сущности B. С другой стороны B может
существовать с или без ассоциации с A.
Связь, показанная на рис. П1-2 с двумя необязательными конца-
ми, встречается редко.
┌─────────────┐ ┌─────────────┐ встречается
│ ├┐ │ │
│ A ├┼─ ─ ─ ─ ─ ─ ─ ┤ B │ редко
│ ├┘ │ │
└─────────────┘ └─────────────┘
Рис. П1-2. Связь с двумя необязательными концами
Такая связь между сущностями A и B говорит, что конкретные
экземпляры A и B могут существовать без связи между ними.
.
Информационно-логическое моделирование.
84 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
Связь на рис. П1-3 является очень сильной связью между двумя
сущностями. Такая связь означает, что экземпляр сущности B не мо-
жет быть создан без одновременного создания не менее одного ассо-
циированного с ним экземпляра сущности A.
┌─────────────┐ ┌─────────────┐
│ ├┐ │ │
│ A ├┼──────────────┤ B │
│ ├┘ │ │
└─────────────┘ └─────────────┘
Рис. П1-3. Связь с двумя обязательными концами
Связь, показанная на рис. П1-4, встречается редко.
┌─────────────┐ ┌─────────────┐ встречается
│ ├┐ │ │
│ A ├┼─ ─ ─ ────────┤ B │ редко
│ ├┘ │ │
└─────────────┘ └─────────────┘
Рис. П1-4. Связь с необязательным множественным и
обязательным единичным концами
Такая связь используется когда B является некоторой концеп-
цией, такой что всегда состоит из определенного набора экземпля-
ров A. Экземпляры A могут существовать по собственным правилам.
(При более тщательном рассмотрении, такие связи часто становятся
связями типа "многие к многим").
.
Приложение 1.
Перечень допустимых конструкций связей 85
─────────────────────────────────────────────────────────────────
П1.2. Связи типа "один к одному"
Связи, показанные на рис. П1-5, П1-6, встречаются редко.
┌─────────────┐ ┌─────────────┐ встречается
│ │ │ │
│ A ├─────── ─ ─ ─ ─┤ B │ редко
│ │ │ │
└─────────────┘ └─────────────┘
Рис. П1-5. Связь с обязательным и необязательным концами
┌─────────────┐ ┌─────────────┐ встречается
│ │ │ │
│ A ├ ─ ─ ─ ── ─ ─ ─┤ B │ редко
│ │ │ │
└─────────────┘ └─────────────┘
Рис. П1-6. Связь с двумя единичными необязательным концами
Связь с двумя обязательными концами встречается очень редко.
(Почти всегда ошибочна!).
┌─────────────┐ ┌─────────────┐ встречается
│ │ │ │
│ A ├───────────────┤ B │ очень редко
│ │ │ │
└─────────────┘ └─────────────┘
Рис. П1-7. Связь с двумя единичными обязательными концами
.
Информационно-логическое моделирование.
86 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
П1.3. Связи типа "многие к многим"
Связь с двумя необязательными множественными концами (рис. П1
-8) является очень обобщенной и означает, что связь неполнотью
понимаема, требует дальнейшего рассмотрения и представления в ви-
де двух связей.
┌─────────────┐ ┌─────────────┐ очень
│ ├┐ ┌┤ │
│ A ├┼─ ─ ─ ─ ─ ─ ─┼┤ B │ общая
│ ├┘ └┤ │
└─────────────┘ └─────────────┘
Рис. П1-8. Связь с двумя множественными необязательными концами
Свазь с обязательным и необязательным множественными концами
(рис.П1-9) встречается редко. Такая связь в дальнейшем должна
рассматриваться и детализироваться.
┌─────────────┐ ┌─────────────┐ встречается
│ ├┐ ┌┤ │
│ A ├┼─────── ─ ─ ─┼┤ B │ редко
│ ├┘ └┤ │
└─────────────┘ └─────────────┘
Рис. П1-9. Связь с множественными обязательным и необязательным концами
Связь с двумя множественными обязательными концами
(рис.П1-10) невозможна.
┌─────────────┐ ┌─────────────┐
│ ├┐ ┌┤ │ невозможно
│ A ├┼─────────────┼┤ B │
│ ├┘ └┤ │
└─────────────┘ └─────────────┘
Рис. П1-10. Связь с двумя множественными обязательными концами
Такая связь означает, что нет ни одного случая A, который
может существовать без B, и наоборот. На практике такая конструк-
ция всегда оказывается неправильной.
.
Приложение 1.
Перечень допустимых конструкций связей 87
─────────────────────────────────────────────────────────────────
П1.4. Рекурсивные связи типа "многие к одному"
Рекурсивные связи, показанные на рис. П1-11 - рис.П1-13, яв-
ляются невозможными. Они показывают отношения бесконечной иерар-
хии без вершины и/или без терминальных листьев.
┌─────────────┐
│ ├┐ невозможно
│ A ├┼─────┐
│ ├┘ │
└────────┬────┘ │
│
│ │
└ ─ ─ ─ ─ ─ ┘
Рис. П1-11. Рекурсивная связь с обязательным множественным и
необязательным единичным концами
┌─────────────┐
│ ├┐ невозможно
│ A ├┼─────┐
│ ├┘ │
└────────┬────┘ │
│ │
│ │
└───────────┘
Рис. П1-12. Рекурсивная связь с двумя обязательными концами
┌─────────────┐
│ ├┐ невозможно
│ A ├┼─ ─ ─┐
│ ├┘
└────────┬────┘ │
│
│ │
└───────────┘
Рис. П1-13. Рекурсивная связь с необязательным множественным и
обязательным единичным концами
Рекурсивная связь с двумя необязательными концами
(рис. П1-14) используется очень часто для отображения иерархичес-
ких отношений, таких как организационная иерархия, классификация
продукции и т.д.
.
Информационно-логическое моделирование.
88 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
┌─────────────┐
│ ├┐ встречается
│ A ├┼ ─ ──┐
│ ├┘ часто
└────────┬────┘ │
│ │
└ ─ ─ ─ ─ ─ ┘
Рис. П1-14. Рекурсивная связь с двумя необязательными концами
П1.5. Рекурсивная связи типа "один к одному"
Связи, показанные на рис. П1-15, П1-16, являются невозможными.
┌─────────────┐
│ │ невозможно
│ A ├──────┐
│ │ │
└────────┬────┘ │
│
└ ─ ─ ─ ─ ─ ┘
Рис. П1-15. Рекурсивная связь с необязательным и
обязательным концами
┌─────────────┐
│ │ невозможно
│ A ├──────┐
│ │ │
└────────┬────┘ │
│ │
└───────────┘
Рис. П1-16. Рекурсивная связь с двумя обязательными концами
Связь на рис.П1-17 встречается редко, но является полезной
для показа альтернативы.
┌─────────────┐
│ │ встречается
│ A ├ ─ ─ ─┐
│ │ редко
└────────┬────┘ │
└ ─ ─ ─ ─ ─ ┘
Рис. П1-17. Рекурсивная связь с двумя необязательным концами
.
Приложение 1.
Перечень допустимых конструкций связей 89
─────────────────────────────────────────────────────────────────
П1.6. Рекурсивные связи типа "многие к многим"
Связи, показанные на рис. П1-18,19, являются невозможными.
┌─────────────┐
│ ├┐ невозможно
│ A ├┼─────┐
│ ├┘ │
└───────┬┬┬───┘ │
└┼┘ │
│
└ ─ ─ ─ ─ ─ ┘
Рис. П1-18. Рекурсивная связь с необязательным и
обязательным концами
┌─────────────┐
│ ├┐ невозможно
│ A ├┼─────┐
│ ├┘ │
└───────┬┬┬───┘ │
└┼┘ │
│ │
└───────────┘
Рис. П1-19. Рекурсивная связь с двумя обязательными концами
Связь на рис. П1-20 является обобщенной. Она часто предпола-
гает структуру "Накладной на материалы", показывающей из чего со-
бираются и на на какие составные части разбираются компоненты.
┌─────────────┐
│ ├┐ встречается
│ A ├┼ ─ ──┐
│ ├┘ часто
└───────┬┬┬───┘ │
└┼┘
│
└ ─ ─ ─ ─ ─ ┘
Рис. П1-20. Рекурсивная связь с двумя необязательными концами
Например, сущность КОМПОНЕНТ с такой связью может быть про-
читана следующим образом:
Каждый КОМПОНЕНТ может сборкой одного или более (других)
КОМПОНЕНТОВ, и каждый КОМПОНЕНТ может быть использован в одном
или более (других) КОМПОНЕНТОВ.
.
Информационно-логическое моделирование.
90 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
ПРИЛОЖЕНИЕ 2
ДЕТАЛЬНОЕ ОПРЕДЕЛЕНИЕ СУЩНОСТИ,
СВЯЗИ, АТРИБУТА И ДОМЕНА
В этом приложении описаны правила детального определения
сущностей, связей, атрибутов и доменов ER-модели. Детальное опре-
деление элементов ER-модели предлагается выполнять с помощью ти-
повых (стандартных) форм, показанных в приложении. Типовые формы
также используются CASE-системой для занесения данных по ER-моде-
ли в СЛОВАРЬ ДАННЫХ.
Полный перечень типовых форм определения ER-модели включает
следующие формы:
Форма 1 ОПРЕДЕЛЕНИЕ СУЩНОСТИ (включает определение
атрибутов, связей,
уникального иденти-
фикатора и базовых
объемов)
Форма 2 ОСОБЕННОСТИ СУЩНОСТИ (включает название
функциональной обла-
сти использования
сущности и определе-
ние правил существо-
вания экземпляров
сущности)
Форма 3 ПОЛНОЕ ОПРЕДЕЛЕНИЕ АТРИБУТА
Форма 4 ОПРЕДЕЛЕНИЕ ДОМЕНА
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 91
─────────────────────────────────────────────────────────────────
╔═══════════════════ ОПРЕДЕЛЕНИЕ СУЩНОСТИ ══════════════════════╗
║ ║
║ Имя ___ БИЛЕТ . _____________ Начальный объем _________________ ║
║ ║
║ Чей подтип ______________ Средний объем ____ 160 000 . _____ ║
║ ║
║ Системное имя __ Ticket . ___ Максимальный объем _______________║
║ ║
║ Синоним _________________Ежегодный прирост ____ 115 . __ % в год║
║ ║
╟─────────────────────────────────────────────────────────────────╢
║ ║
║ Описание: Имеет смысл (значение) как документ, дающий право на ║
║ ║
║ полет в самолете указанной авиалинии в качестве пассажира. ║
║ ║
╟─────────────────────────────────────────────────────────────────╢
║ Атрибуты ║
╟────────────┬────────┬─────┬───────┬───────┬───────┬────────┬────╢
║ Имя, │Обязате-│ │ │Макси- │ │Смотри │ ║
║ системное \льный / Домен│Формат │мальная│Заме- │полное │Ключ║
║ имя \ / │ │длина / чание │определ.│ ║
╟───────────────┼──┼────────┼───────┼─────┼─────────┼────────┼────╢
║ номер │ Y│ │integer│19 │ │ │ 1# ║
║ number │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ класс │ Y│ Класс │ │ │ │ │ ║
║ class 0 │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ дата продажи │ Y│ │ data │ │ │ │ ║
║ date_issue │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ время продажи│ Y│ │ time │ │ │ │ ║
║ time_issue │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ статус │ │ │ │ │ │ 1\/ │ ║
║ status │ │ │ │ │ │ │ ║
╟───────────────┴──┴────────┴───────┴─────┴─────────┴────────┼────╢
║ Связи: Каждое значение этой сущности ... │ ║
╟────────────┬─────────┬────────────────────┬───────────┬────┼────╢
║должен(быть)│связующая│одним и только одним│имя \каск│искл│ключ║
║может (быть)│ фраза │одним или более │сущности│уд│дуга│ ║
╟────────────┼─────────┼────────────────────┼────────┼──┼────┼────╢
║ должен │ прода- │одной и только одной│ АВИА │ │ │ ║
║ │ ваться │ │ ЛИНИЯ │ │ │ ║
║ │ │ │ │ │ │ ║
║ должен быть│ для │ одного и только │ЧЕЛОВЕК │ │ │ ║
║ │ │ одного │ │ │ │ ║
║ │ │ │ │ │ │ ║
║ должен быть│ на │ один и только один │ ПОЛЕТ │ │ │ ║
║ │ │ │ │ │ │ ║
╟────────────┴─────────┴────────────────────┴────────┴──┴────┴────╢
║ Замечания: ║
╚═════════════════════════════════════════════════════════════════╝
Группа Проект Разработал Дата
версия Проверил Дата
Форма 1 Лист___ из____
.
Информационно-логическое моделирование.
92 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
╔═════════════════════ ОСОБЕННОСТИ СУЩНОСТИ ════════════════════╗
║ ║
║ Имя сущности ______ БИЛЕТ . __________________ ║
║ ║
╟─────────────────────────────────────────────────────────────────╢
║ ║
║ ОБЛАСТЬ ПРИЛОЖЕНИЯ ║
║ ║
║ Имя ______________________________________ ║
║ ║
║ Ссылка ___________________ ║
║ ║
║ ║
║ Детализация объемов ║
║ ┌───────────────────┬──────────────────────╢
║ │ Объем или % роста │ Примечания ║
║ ├──────────┬────────┼──────────────────────╢
║ Текушие объемы │ 160 000 │--------│ ║
║ ┌────────┼──────────┼────────┼──────────────────────╢
║ Период 1 │ 11989 │ 110 │ % │ Увеличение количества║
║ ├────────┼──────────┼────────┼──────────────────────╢
║ Период 2 │ 11990 │ 120 │ % │ рейсов. ║
║ ├────────┼──────────┼────────┼──────────────────────╢
║ Период 3 │ 11991 │ 115 │ % │ ║
║ ├────────┼──────────┼────────┼──────────────────────╢
║ Период 4 │ │ │ │ ║
║ ├────────┼──────────┼────────┼──────────────────────╢
║ Период 5 │ │ │ │ ║
║ └────────┴──────────┴────────┴──────────────────────╢
║ ║
║ Правила архивации/удаления ║
║ ┌──────────┬────────┬──────────────────────╢
║ │Количество│ Период │ Причина ║
║ ┌────────────────┼──────────┼────────┼──────────────────────╢
║ │ │ │ │ ║
║ │архивация после │ 13 │ месяцев│ ║
║ │ │ │ │ ║
║ ├────────────────┼──────────┼────────┼──────────────────────╢
║ │ │ │ │ ║
║ │удаление после │ 19 │ месяцев│ ║
║ │ │ │ │ ║
║ └────────────────┴──────────┴────────┴──────────────────────╢
║ ║
║ Правила накопления ║
╟────────────────────┬────────────────────────────────────────────╢
║ Создание │ Правила жизни ║
╟────────────────────┼────────────────────────────────────────────╢
║ Билет создается │Билет можно распределять только для полетов,║
║ │ ║
║ для полета │ дата вылета которых сегодня или в будущем. ║
║ │ ║
║ │ ║
╚════════════════════╧════════════════════════════════════════════╝
Группа Проект Разработал Дата
версия Проверил Дата
Форма 2 Лист___ из____
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 93
─────────────────────────────────────────────────────────────────
П2.1. Определение сущности
Особенности сущности определяются в следующих разделах формы1:
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Имя │ О │ О │ Уникальное в пределах проек-│
│ │ │ │та (разработки). Представля- │
│ │ │ │ется существительным в ед. │
│ │ │ │числе. Соответствует понима- │
│ │ │ │нию и терминологии пользова- │
│ │ │ │теля. Недвусмысленное. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Системное│ Ф │ О │ Уникальное в пределах проек-│
│ │ │ │та (разработки). Используется│
│ имя │ │ │при генерации проекта БД и │
│ │ │ │программного кода. Правила │
│ │ │ │построения должны соответст- │
│ │ │ │вовать правилам построения │
│ │ │ │идентификаторов целевого язы-│
│ │ │ │ка программирования. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Синоним │ Ф │ Ф │ Альтернативное имя. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Чей подтип│ О │ О │Имя супертипа для данной сущ-│
│ │ │ │ности, если супертип сущест- │
│ │ │ │вует. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Примеры │ Ф │ Ф │ Используются для обеспечения│
│ │ │ │полного понимания; записыва- │
│ │ │ │ваются в разделе "Замечания".│
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Описание │ О │ О │ Краткое, точное, согласован-│
│ │ │ │ное с пользователем определе-│
│ │ │ │ние сущности, идеально стар- │
│ │ │ │тующее с фразы:" 1Имя-сущности 0 │
│ │ │ │имеет смысл (значение) как..."
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Замечания│ Ф │ Ф │ Содержит полезную информацию│
│ │ │ │о сущности для использования │
│ │ │ │другими аналитиками и проек- │
│ │ │ │тировщиками. │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Информационно-логическое моделирование.
94 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
Ассоциация сущности с другими элементами:
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Атрибут │ Ф │ О │ В течение СТРАТЕГИИ полезно │
│ │ │ │определить один-два атрибута.│
│ │ │ │В основном, для каждой сущно-│
│ │ │ │сти к концу АНАЛИЗА должно │
│ │ │ │быть определено не менее двух│
│ │ │ │и не более восьми атрибутов. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Функция │ Ф │ О │ В течение СТРАТЕГИИ полезно │
│ │ │ │проводить перекрестный конт- │
│ │ │ │роль функции-данные. К концу │
│ │ │ │АНАЛИЗА должно существовать │
│ │ │ │не менее одной функции для │
│ │ │ │каждой сущности, которая │
│ │ │ │создает, модифицирует, удаля-│
│ │ │ │ет или иначе использует дан- │
│ │ │ │ную сущность. Перекрестный │
│ │ │ │ контроль функции-данные │
│ │ │ │выполняется с помощью матри- │
│ │ │ │цы "Функция - Сущность". │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Связь │ О │ О │ Каждая сущность должна быть │
│ │ │ │связана не менее одной связью│
│ │ │ │с другой сущностью. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Уникальный│ Ф │ Ф │ К концу АНАЛИЗА каждая сущ- │
│ │ │ │ность должна иметь уникальный│
│идентифи- │ │ │идентификатор, который пред- │
│ │ │ │ставляет собой комбинацию ат-│
│катор │ │ │рибутов и/или концов связей. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Область │ Ф │ Ф │ Если сущность используется │
│ │ │ │только в определенной функци-│
│приложения│ │ │ональной области приложения, │
│ │ │ │то имя этой области можно │
│ │ │ │указывать в форме 2. │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 95
─────────────────────────────────────────────────────────────────
Информация по объемам каждой сущности (т.е. количеству эк-
земпляров):
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Объемы │ Ф │ О │ Это целое число (например, │
│ │ │ │200 самолетов), которое ука- │
│ │ │ │зывается в пунктах начально- │
│ │ │ │го, среднего или максимально-│
│ │ │ │го объемов в форме 1. Также в│
│ │ │ │этой форме указывается пред- │
│ │ │ │полагаемый ежегодный процент │
│ │ │ │увеличения информации по дан-│
│ │ │ │ной сущности. │
│ │ │ │ Показать изменение объемов │
│ │ │ │по периодам можно с помощью │
│ │ │ │формы 2. │
│ │ │ │ Объемы сущностей подтипов │
│ │ │ │должны приблизительно соот- │
│ │ │ │ветствовать объему супертипа.│
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Архивация│ Ф │ Ф │ Информация со временем архи-│
│ и │ │ │вируется или уничтожается. │
│ удаление │ │ │Правила архивации и удаления │
│ │ │ │можно определить в форме 2. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Создание │ Ф │ Ф │ Причины создания информации │
│ и │ │ │по сущности в БД и правила ее│
│сохранение│ │ │сохранения и использования │
│ │ │ │можно описать в форме 2. │
│ │ │ │ │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Информационно-логическое моделирование.
96 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
П2.2. Определение связи
Для полного определения связи требуется описать следующие
свойства каждого ее конца (см. форму 1):
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Степень │ О │ О │ Определяет соответствующую │
│ │ │ │степень множественности кон- │
│связности │ │ │ца связи. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Имя конца│ О │ О │ Определяет связующую фразу, │
│ │ │ │которой должна предшествовать│
│ │ │ │фраза "должен/может (быть)". │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Обяза- │ О │ О │ Конец должен быть или обяза-│
│тельность │ │ │тельным, или необязательным. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Минималь- │ Ф │ Ф │ Вносится в графу замечания │
│ная │ │ │формы 1, если требуется. │
│степень │ │ │ │
│связности │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Средняя │ Ф │ Ф │ Вносится в графу замечания │
│ степень │ │ │формы 1, если требуется. │
│связности │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Максималь-│ Ф │ Ф │ Вносится в графу замечания │
│ная │ │ │формы 1, если требуется. │
│степень │ │ │ │
│связности │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Индикатор│ О │ О │X= Каскадное удаление, если │
│каскадного│ │ │ удаляется родитель; │
│ удаления │ │ │C= Препятствовать удалению │
│ │ │ │ родителя, если все еще су-│
│ │ │ │ ществует потомок; │
│ │ │ │N= Любой потомок или родитель│
│ │ │ │ могут удаляться независимо│
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 97
─────────────────────────────────────────────────────────────────
Ассоциация связи с другими элементами:
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Сущность │ О │ О │Каждый конец должен ассоци- │
│ │ │ │ироваться с одной сущностью. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Функция │ Ф │ Ф │Иногда требуется функция для │
│ │ │ │явного соединения или разъ- │
│ │ │ │единения связи. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Исключаю-│ Ф │ Ф │ Каждый конец связи может пе-│
│ │ │ │ресекаться одной и только од-│
│ щая дуга │ │ │ной дугой. Дуга показывается │
│ │ │ │путем пометки всех концов с │
│ │ │ │одинаковыми именами, которые │
│ │ │ │она пересекает, в колонке с │
│ │ │ │названием "искл. дуга". │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│Уникальный│ Ф │ Ф │Каждый конец связи может │
│ │ │ │быть частью уникального иден-│
│идентифи- │ │ │тификатора сущности. │
│ │ │ │ │
│катор │ │ │ │
│ │ │ │ │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Информационно-логическое моделирование.
98 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
╔══════════════ ПОЛНОЕ ОПРЕДЕЛЕНИЕ АТРИБУТА ═══════════════════╗
║ ║
║ Имя ___ статус . ______ сущности БИЛЕТ . ______ в домене _____ ║
║ Системные ║
║ имя ___ status .______ сущность __Ticket . _____ домен _____ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Описание: Показывает статус билета, который используется в це-║
║ лях анализа; например, анализ того, как много созданных билетов║
║ невостребовано. ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Обязательный/Необязательный ║
║ ║
║ Условие существования ________________________________________ ║
║ ║
║ ______________________________________________________________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Формат Максимальная длина ║
║ ║
║ ____ char . 0______________ 1 . _____________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ ║
║ Пользователь Право доступа ║
║ ( C/U/D/R ) ║
║ ║
║ ________________________________ _________________ ║
║ ║
║ ________________________________ _________________ ║
║ ║
║ ________________________________ _________________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Значение по умолчанию ________________________________________ ║
║ ║
║ Нулевое значение _____________________________________________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Допустимые значения ║
╟────────────┬───────────────┬──────────────┬────────────────────╢
║ Значение │ Максимальное │ Аббревиатура │ Смысл ║
║ │ значение │ │ ║
╟────────────┼───────────────┼──────────────┼────────────────────╢
║ │ │ │ ║
║ 1 │ │ │ Свободный ║
║ │ │ │ ║
║ 2 │ │ │ Проданный ║
║ │ │ │ ║
║ 3 │ │ │ Бронь ║
║ │ │ │ ║
║ │ │ │ ║
╚════════════╧═══════════════╧══════════════╧════════════════════╝
Группа Проект Разработал Дата
Версия Проверил Дата
Форма 3 Лист___из____
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 99
─────────────────────────────────────────────────────────────────
П2.3. Определение атрибута
Для полного определения атрибута требуется описание следую-
щих свойств (см. форму 3):
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Имя │ О │ О │ Уникальное в пределах сущно-│
│ │ │ │сти. Представляется существи-│
│ │ │ │тельным в ед.числе. Соответс-│
│ │ │ │твует пониманию и терминоло- │
│ │ │ │гии пользователя. │
│ │ │ │Недвусмысленное. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Системное│ Ф │ О │ Уникальное в пределах проек-│
│ │ │ │та (разработки). Используется│
│ имя │ │ │при генерации проекта БД и │
│ │ │ │программного кода. Правила │
│ │ │ │построения должны соответст- │
│ │ │ │вовать правилам построения │
│ │ │ │идентификаторов целевого язы-│
│ │ │ │ка программирования. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Описание │ Ф │ О │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Обязатель-│ Ф │ О │ │
│ный/необя-│ │ │ │
│зательный │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Условие │ Ф │ Ф │ Только для необязательного │
│существо- │ │ │атрибута для определения ус- │
│вания │ │ │ловий, когда значения могут │
│ │ │ │существовать. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Формат │ Ф │ О │ Символьный, целый, дата ... │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Максималь-│ Ф │ О │ │
│ная │ │ │ │
│длина │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Пользова- │ Ф │ Ф │Некоторые атрибуты, такие │
│тель │ │ │как оклад, имеют ограниченный│
│(имеющий │ │ │доступ. Это встречается ред- │
│доступ) │ │ │ко. │
└──────────┴─────────┴────────┴─────────────────────────────┘
.
Информационно-логическое моделирование.
100 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ Право │ Ф │ Ф │ Указываются права доступа, │
│ доступа │ │ │такие как создать (Create), │
│ │ │ │изменить (Update), удалить │
│ │ │ │(Delete), читать (Read). │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Значение │ Ф │ Ф │Используется очень редко. │
│ по │ │ │"Умолчание" предполагает, что│
│ умолчанию│ │ │вы всегда будете удовлетворе-│
│ │ │ │ны, имея это значение. │
│ │ │ │Возможно только для обяза- │
│ │ │ │тельного атрибута. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Нулевое │ Ф │ Ф │В некоторых реализациях ноль │
│ │ │ │резервируется как специальное│
│ значение │ │ │значение для задания "отсут- │
│ │ │ │ствия текущего значения". │
│ │ │ │Является разумным согласовать│
│ │ │ │с пользователями особые зна- │
│ │ │ │чения, которые на практике │
│ │ │ │будут использоваться для ну- │
│ │ │ │ля. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Допустимые│ Ф │ Ф │ Явно определенное значение │
│значения, │ │ │(или нижнее значение, если │
│значение │ │ │ применим диапазон значений).│
├──────────┼─────────┼────────┼─────────────────────────────┤
│максималь-│ Ф │ Ф │ Верхнее значение для диапа- │
│ное │ │ │зона значений. │
│значение │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│аббревиа- │ Ф │ Ф │Согласованная с пользователем│
│тура │ │ │аббревиатура. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ смысл │ Ф │ Ф │Полный смысл значения или │
│ │ │ │диапазона. │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 101
─────────────────────────────────────────────────────────────────
Ассоциация атрибута с другими элементами:
ш1.1
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Сущность │ О │ О │ Атрибуты могут существовать │
│ │ │ │только в контексте одной │
│ │ │ │сущности. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Домен │ Ф │ Ф │ Атрибут может быть ограничен│
│ │ │ │определением домена, но толь-│
│ │ │ │ко, если домен покрывает не │
│ │ │ │менее одного другого атрибута│
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Функция │ Ф │ О │ Каждый атрибут должен ис- │
│ │ │ │пользоваться функцией (неявно│
│ │ │ │через сущность или явно), ко-│
│ │ │ │торая устанавливает и/или │
│ │ │ │изменяет его значение. │
│ │ │ │ │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Информационно-логическое моделирование.
102 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
╔═════════════════════ ОПРЕДЕЛЕНИЕ ДОМЕНА ═════════════════════╗
║ ║
║ Имя домена __ КЛАСС . _________ Системное имя __ CLASS . _____ ║
║ ║
║ Подмножество домена ____________________________________ ║
╟────────────────────────────────────────────────────────────────╢
║ ║
║ Описание: Определяет возможные значения для классификации воз- ║
║ ║
║ душного путешествия; используется для сущностей БИЛЕТ и МЕСТО. ║
║ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ Формат Максимальная длина ║
║ ║
║ ____ char . _________ _______ 8 . ____________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ ║
║ Пользователь Право доступа ║
║ ( C/U/D/R ) ║
║ ║
║ ________________________________ _________________ ║
║ ║
║ ________________________________ _________________ ║
║ ║
║ ________________________________ _________________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ ║
║ Значение по умолчанию ________________________________________ ║
║ ║
║ Нулевое значение _____________________________________________ ║
║ ║
╟────────────────────────────────────────────────────────────────╢
║ ║
║ Допустимые значения ║
╟────────────┬───────────────┬──────────────┬────────────────────╢
║ Значение │ Максимальное │ Аббревиатура │ Смысл ║
║ │ значение │ │ ║
╟────────────┼───────────────┼──────────────┼────────────────────╢
║ Скор │ │ │ Скоростной Класс ║
║ │ │ │ ║
║ Пасс │ │ │ Пассажирский Класс║
║ │ │ │ ║
║ Первый │ │ │ Первый класс ║
║ │ │ │ ║
║ │ │ │ ║
║ │ │ │ ║
║ │ │ │ ║
║ │ │ │ ║
║ │ │ │ ║
╚════════════╧═══════════════╧══════════════╧════════════════════╝
Группа Проект Разработал Дата
Версия Проверил Дата
Форма 4 Лист___из____
.
Приложение 2.
Детальное определение сущности, связи, атрибута и домена 103
─────────────────────────────────────────────────────────────────
П2.4. Определение домена
Для полного определения домена требуется описание следующих
свойств (см. форму 4):
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Имя │ О │ О │ Уникальное в пределах проек-│
│ │ │ │та (разработки). Представля- │
│ │ │ │ется существительным в ед. │
│ │ │ │числе. Соответствует понима- │
│ │ │ │нию и терминологии пользова- │
│ │ │ │теля. Недвусмысленное. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Системное│ Ф │ О │ Уникальное в пределах проек-│
│ │ │ │та (разработки). Используется│
│ имя │ │ │при генерации проекта БД и │
│ │ │ │программного кода. Правила │
│ │ │ │построения должны соответст- │
│ │ │ │вовать правилам построения │
│ │ │ │идентификаторов целевого язы-│
│ │ │ │ка программирования. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Описание │ Ф │ О │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Формат │ Ф │ О │ Символьный, целый, дата ... │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Максималь-│ Ф │ О │ │
│ная │ │ │ │
│длина │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Пользова- │ Ф │ Ф │ Некоторые домены, такие как │
│тель │ │ │оклад, имеют ограниченный до-│
│(имеющий │ │ │ступ. Это встречается редко. │
│доступ) │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Право │ Ф │ Ф │ Указываются права доступа, │
│ доступа │ │ │такие как создать (Create), │
│ │ │ │изменить (Update), удалить │
│ │ │ │(Delete), читать (Read). │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ Значение │ Ф │ Ф │Используется очень редко. │
│ по │ │ │"Умолчание" предполагает, что│
│ умолчанию│ │ │вы всегда будете удовлетворе-│
│ │ │ │ны, имея это значение. │
└──────────┴─────────┴────────┴─────────────────────────────┘
.
Информационно-логическое моделирование.
104 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ Нулевое │ Ф │ Ф │В некоторых реализациях ноль │
│ │ │ │резервируется как специальное│
│ значение │ │ │значение для задания "отсут- │
│ │ │ │ствия текущего значения". │
│ │ │ │Является разумным согласовать│
│ │ │ │с пользователями особые зна- │
│ │ │ │чения, которые на практике │
│ │ │ │будут использоваться для ну- │
│ │ │ │ля. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│Допустимые│ Ф │ Ф │ Явно определенное значение │
│значения, │ │ │(или нижнее значение, если │
│значение │ │ │ применим диапазон значений).│
├──────────┼─────────┼────────┼─────────────────────────────┤
│максималь-│ Ф │ Ф │ Верхнее значение для диапа- │
│ное │ │ │зона значений. │
│значение │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│аббревиа- │ Ф │ Ф │Согласованная с пользователем│
│тура │ │ │аббревиатура. │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ смысл │ Ф │ Ф │Полный смысл значения или │
│ │ │ │диапазона. │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
Ассоциация домена с другими элементами:
┌──────────┬─────────┬────────┬─────────────────────────────┐
│ │ │ │ │
│ │СТРАТЕГИЯ│ АНАЛИЗ │ Правила │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Домен │ Ф │ Ф │ Домен может быть в другом │
│ │ │ │домене и наследовать все его │
│ │ │ │ограничения. │
│ │ │ │ │
├──────────┼─────────┼────────┼─────────────────────────────┤
│ │ │ │ │
│ Атрибут │ Ф │ Ф │ К концу АНАЛИЗА определение │
│ │ │ │домена имеет смысл, если он │
│ │ │ │специфицирует не менее двух │
│ │ │ │атрибутов. │
│ │ │ │ │
├──────────┴─────────┴────────┴─────────────────────────────┤
│ Сокращения: О - обязательный; Ф - факультативный (необяз.)│
└───────────────────────────────────────────────────────────┘
.
Приложение 3.
Извлечение реляционных таблиц из модели "Сущность-Связь" 105
─────────────────────────────────────────────────────────────────
ПРИЛОЖЕНИЕ 3
ИЗВЛЕЧЕНИЕ РЕЛЯЦИОННЫХ ТАБЛИЦ ИЗ МОДЕЛИ "СУЩНОСТЬ-СВЯЗЬ"
В этом приложении описываются технология и правила извлече-
ния предварительного проекта БД в виде реляционных таблиц из
ER-модели.
П4.1. Преобразование базовых конструкций ER-модели
в предварительный проект БД
Шаг 1. Каждая простая сущность транслируется в таблицу.
Простой сущностью считается такая сущность, которая не является
подтипом и сама не имеет подтипов. В качестве имени таблицы ис-
пользуется системное имя сущности.
Шаг 2. Каждый атрибут транслируется в колонку таблицы, к
этому времени точные форматы атрибутов должны быть выбраны.
Необязательные атрибуты становятся null колонками.
Обязательные атрибуты становятся not-null колонками.
Для именования колонок используются системные имена атрибу-
тов.
Шаг 3. Атрибуты, входящие в уникальный (ключевой) идентифи-
катор сущности, становяться первичным ключом таблицы. Сущность
может быть уникально идентифицирована комбинацией атрибутов и/или
связей. Если в ключевой идентификатор была включена связь, то в
таблицу в качестве колонок копируется первичный ключ таблицы, по-
лученной для сущности на другом конце связи, и включается в
первичный ключ рассматриваемой таблицы.
Шаг 4. Связи типа "многие к одному" и "один к одному" транс-
лируются в колонки таблиц, которые рассматриваются как чужые клю-
чи. Трансляция связей происходит следующим образом: копируется
первичный ключ таблицы, полученной для сущности на конце "один",
в колонки таблицы сущности на другом конце связи.
Информационно-логическое моделирование.
106 Модель "Сущность-Связь"
─────────────────────────────────────────────────────────────────
Необязательные связи создают 2null 0колонки.
Обязательные связи создают 2not-null 0 колонки.
При генерации таблиц необходимо заботится об уникальности
имен получаемых колонок в пределах одной таблицы. Одним из воз-
можных решений этой проблемы является уникальность системных имен
атрибутов в пределах всей разработки (проекта), и добавление це-
лых чисел (цифр) к именам колонок, в случае копирования их в одну
и ту же таблицу по различным связям.
Пример преобразования простой ER-модели в реляционные табли-
цы приведен на рис.П4-1, рис.П4-2.
┌─────────────────┐ ┌─────────────┐
│ ├┐от │ │
│ АВИА РЕЙС ├┼──────────── ─ ─ ─ ─ ─┤ АЭРОПОРТ │
│ ├┘ пункт вылета│ │
│# * номер рейса ├┐в │ # * код │
│ o время вылета ├┼─────────── ─ ─ ─ ─ ─ ┤ * имя │
│ ├┘ пункт│ │
└───────┬┬┬───────┘ назначения└─────────────┘
выполняться└┼┘
┼
│выполнять
┌────────────────┐
│ │
│ АВИА ЛИНИЯ │
│ │ входить
│ # * код ├┐в состав
│ * имя ├┼ ─ ┐
│ ├┘
└─────────┬──────┘ │
объединять
└─ ─ ─ ─ ─ ┘
Рис.П4-1. Пример ER-модели
.
Приложение 3.
Извлечение реляционных таблиц из модели "Сущность-Связь" 107
─────────────────────────────────────────────────────────────────
Дополнительная информация
┌──────────────────────────────────────────┬──────────────────┐
│ Имена │ Формат │
├──────────────┬────────────┬──────────────┼────────┬─────────┤
│ Сущности │ Атрибута │ Системное │ Тип │ Длина │
├──────────────┼────────────┼──────────────┼────────┼─────────┤
│ АВИА РЕЙС │ │AIRLINE_ROUTE │ │ │
│ │ │ │ │ │
│ │номер рейса │Flight_numb │integer │ 2 │
│ │ │ │ │ │
│ │время вылета│Scheduled_time│ data │ │
│ │ │ │ │ │
│ АЭРОПОРТ │ │ AIRPORT │ │ │
│ │ │ │ │ │
│ │ код │ Prt_code │integer │ 2 │
│ │ │ │ │ │
│ │ имя │ Prt_name │ char │ 20 │
│ │ │ │ │ │
│ АВИА ЛИНИЯ │ │ AIRLINE │ │ │
│ │ │ │ │ │
│ │ код │ Line_code │integer │ 2 │
│ │ │ │ │ │
│ │ имя │ Line_name │ char │ 20 │
└──────────────┴────────────┴──────────────┴────────┴─────────┘
Реляционные таблицы:
┌─────────────────────────────────────┐
│ AIRPORT │
├─────────────────────────────────────┤
│ Ptr_code integer 2 not null │ <──── первичный
│ │ ключ
│ Ptr_name char 20 not null │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ AIRLINE │
├─────────────────────────────────────┤
│ Line_code integer 2 not null │ <──── первичный
│ │ ключ
│ Line_name char 20 not null │
│ │ чужые ключи от
│ Line_code_1 integer 2 null │ <──── рекурсивной
└─────────────────────────────────────┘ связи
┌──────────────────────────────────────┐
│ AIRLINE_ROUTE │
├──────────────────────────────────────┤
│ Flight_numb integer 2 not null │ <───┬ первичный
│ │ │ ключ
│ Line_code char 20 not null │ <───┘
│ │ <───┐
│ Ptr_code_1 char 20 not null │ <───┤
│ │ │
│ Ptr_code_2 char 20 not null │ <───┴ чужой ключ
│ │ от Airline,
│ Scheduled_ │ Airport
│ time data null │
└──────────────────────────────────────┘
Рис.П4-2. Пример извлечения реляционных таблиц
