- •Раздел 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. Пример проектирования бд с использованием метода сущность связь
Правила формирования отношений для 1:м
Если две сущности связаны как 1:М, то сущность С1 Называется односвязанной (1-связанной), а сущность С2 –многосвязанной (М-связанной). При формировании отношений определяющим является класс принадлежности М-связанной сущности, класс отношения 1-связанной сущности на результат не влияет.
Рассмотрим диаграмму 1:М Н-О
К1 К2
КП |
Фамилия |
Телефон |
КД |
Дисциплина |
Часы |
П1 |
Андреев |
234567 |
Д1 |
Физика |
62 |
П1 |
Андреев |
234567 |
Д2 |
Логика |
56 |
П2 |
Петров |
234568 |
Д3 |
Информатика |
74 |
П2 |
Петров |
234568 |
Д4 |
СУБД |
80 |
П3 |
Рушин |
234569 |
Д5 |
С++ |
100 |
П4 |
Репин |
234561 |
Д6 |
Матанализ |
74 |
П4 |
Репин |
234561 |
Д7 |
Экономика |
120 |
П5 |
Егоров |
234562 |
- |
- |
- |
Две проблемы:
-
есть записи с пустыми полями
-
избыточное дублирование данных
Если бы класс принадлежности одно-связанной сущности был обязательным, то от первой проблемы избавились, но от второй нет.
Правило 4.
Если степень связи между сущностями 1:М (илиМ:1) и класс принадлежности М-связанной сущности обязательный, то достаточно формирования двух отношений. При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ одно-связанной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связанной сущности.
КП |
КД |
Дисциплина |
Часы |
П1 |
Д1 |
Физика |
62 |
П1 |
Д2 |
Логика |
56 |
П2 |
Д3 |
Информатика |
74 |
П2 |
Д4 |
СУБД |
80 |
П3 |
Д5 |
С++ |
100 |
П4 |
Д6 |
Матанализ |
74 |
П4 |
Д7 |
Экономика |
120 |
КП |
Фамилия |
Телефон |
П1 |
Андреев |
234567 |
П2 |
Петров |
234568 |
П3 |
Рушин |
234569 |
П4 |
Репин |
234561 |
П5 |
Егоров |
234562 |
Рассмотрим связь 1:М Н-Н
КП |
Фамилия |
Телефон |
КД |
Дисциплина |
Часы |
П1 |
Андреев |
234567 |
Д1 |
Физика |
62 |
П1 |
Андреев |
234567 |
Д2 |
Логика |
56 |
П2 |
Петров |
234568 |
Д3 |
Информатика |
74 |
- |
- |
- |
Д4 |
СУБД |
80 |
П3 |
Рушин |
234569 |
Д5 |
С++ |
100 |
П4 |
Репин |
234561 |
Д6 |
Матанализ |
74 |
П4 |
Репин |
234561 |
Д7 |
Экономика |
120 |
П5 |
Егоров |
234562 |
- |
- |
- |
Две проблемы:
-
Имеются пустые поля в записях
-
Избыточные данные о преподавателях ведущих более одной дисциплины.
Для устранения этих проблем необходимо перейти к следующему правилу.
Правило 5.
Если степень связи 1:М (М:1) и класс принадлежности М-связанной сущности является необязательной, то необходимо формирование трех отношений. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
КД |
Дисциплина |
Часы |
Д1 |
Физика |
62 |
Д2 |
Логика |
56 |
Д3 |
Информатика |
74 |
Д4 |
СУБД |
80 |
Д5 |
С++ |
100 |
Д6 |
Матанализ |
74 |
Д7 |
Экономика |
120 |
КП |
Фамилия |
Телефон |
П1 |
Андреев |
234567 |
П2 |
Петров |
234568 |
П3 |
Рушин |
234569 |
П4 |
Репин |
234561 |
П5 |
Егоров |
234562 |
КП |
КД |
П1 |
Д1 |
П1 |
Д2 |
П2 |
Д3 |
П3 |
Д5 |
П4 |
Д6 |
П4 |
Д7 |
Ключ в связанном отношении "Ведет" является составным и включает ключевые атрибуты обоих связанных отношений.