- •Раздел 4. Проектирования бд
- •4.1. Метод нормальных форм
- •4.1.1. Цели проектирования реляционных бд
- •Возможность хранения всех необходимых данных в бд
- •Исключение избыточных данных.
- •Нормализация отношений.
- •Аномалии добавления (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •4.1.2.Формирование исходного отношения. Функциональные зависимости (фз)
- •Существует 6 нормальных форм, на практике ограничиваются 4-мя. 1,2,3 нф и форма Бойса-Кодда (нфбк).
- •4.1.4. Рекомендации по разработке структур
- •4.2. Метод сущность - связь
- •4.2.1. Основные понятия метода
- •4.2.2. Этапы проектирования
- •Правила формирования отношений для 1:1
- •Правила формирования отношений для 1:м
- •Правила формирования отношений для м:м
- •4.2.3. Пример проектирования бд с использованием метода сущность связь
4.2.2. Этапы проектирования
-
Выделение сущностей и связей между ними.
-
Построение диаграмм ER- типа с учетом сущностей и их связей.
-
Формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения.
-
Добавление неключевых атрибутов в отношения.
-
Приведение к третьей нормальной форме или нормальной форме Бойса-Кодда.
Один из главных этапов – этап формирования отношений.
Правила формирования отношений для 1:1
Правило 1.
Если степень бинарной связи 1:1, класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом отношения может быть ключ любой из двух сущностей.
КП КД
Получаем отношение Преподаватель (КП, Фамилия, Телефон, КД, Дисциплина, Часы)
Преподаватель
КП |
Фамилия |
Телефон |
КД |
Дисциплина |
Часы |
П1 |
Андреев |
234567 |
Д1 |
Физика |
62 |
П2 |
Петров |
234568 |
Д2 |
Логика |
56 |
П3 |
Рушин |
234569 |
Д3 |
Информатика |
74 |
П4 |
Репин |
234561 |
Д4 |
СУБД |
80 |
Правило 2.
Если степень связи 1:1 и класс принадлежности одной сущности является обязательным, а другой – необязательным, то строится два отношения. Под каждую сущность выделяется одно отношение с первичным ключом, являющимся ключом соответствующих сущностей. Ключ сущности, с необязательным классом принадлежности добавляется в качестве атрибута в отношение с обязательным классом принадлежности.
Преподаватель Дисциплина
КП |
Фамилия |
Телефон |
КД |
||||||
П1 |
Андреев |
234567 |
Д1 |
||||||
П2 |
Петров |
234568 |
Д2 |
||||||
П3 |
Рушин |
234569 |
Д3 |
||||||
П4 |
Репин |
234561 |
Д4 |
||||||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
КД |
Дисциплина |
Часы |
Д1 |
Физика |
62 |
Д2 |
Логика |
56 |
Д3 |
Информатика |
74 |
Д4 |
СУБД |
80 |
Д5 |
ИТ |
72 |
Правила формирования отношений для степени связи 1:1, а класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
КП КД
Преподаватель Дисциплина Ведет
КП |
Фамилия |
Телефон |
П1 |
Андреев |
234567 |
П2 |
Петров |
234568 |
П3 |
Рушин |
234569 |
П4 |
Репин |
234561 |
П5 |
Иванов |
234565 |
КД |
Дисциплина |
Часы |
Д1 |
Физика |
62 |
Д2 |
Логика |
56 |
Д3 |
Информатика |
74 |
Д4 |
СУБД |
80 |
Д5 |
ИТ |
72 |
КД |
КП |
Д1 |
П1 |
Д2 |
П2 |
Д3 |
П3 |
Д4 |
П4 |