- •Раздел 4. Проектирования бд
- •4.1. Метод нормальных форм
- •4.1.1. Цели проектирования реляционных бд
- •Возможность хранения всех необходимых данных в бд
- •Исключение избыточных данных.
- •Нормализация отношений.
- •Аномалии добавления (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •4.1.2.Формирование исходного отношения. Функциональные зависимости (фз)
- •4.1.3. Процедура нормализации
- •Существует 6 нормальных форм, на практике ограничиваются 4-мя. 1,2,3 нф и форма Бойса-Кодда (нфбк).
- •4.1.4. Рекомендации по разработке структур
- •4.2. Метод сущность - связь
- •4.2.1. Основные понятия метода
- •4.2.2. Этапы проектирования
- •Правила формирования отношений для 1:1
- •Правила формирования отношений для 1:м
- •Правила формирования отношений для м:м
- •4.2.3. Пример проектирования бд с использованием метода сущность связь
Аномалии обновления (update)
Фамилии сотрудников, наименования проектов, номера телефонов повторяются во многих кортежах отношения. Поэтому если сотрудник меняет фамилию, или проект меняет наименование, или меняется номер телефона, то такие изменения необходимо одновременно выполнить во всех местах, где эта фамилия, наименование или номер телефона встречаются, иначе отношение станет некорректным (например, один и тот же проект в разных кортежах будет называться по-разному). Таким образом, обновление базы данных одним действием реализовать невозможно.
Причина аномалии - избыточность данных, порожденная тем, что в одном отношении хранится разнородная информация.
Аномалии удаления (delete)
При удалении некоторых данных может произойти потеря другой информации. Например, если закрыть проект "Космос" и удалить все строки, в которых он встречается, то будут потеряны все данные о сотруднике Петрове. Если удалить сотрудника Сидорову, то будет потеряна информация о том, что в отделе номер 2 находится телефон 33-22-11. Если по Н_ЗАДАН временно прекращены работы, то при удалении данных о работах по этому проекту будут удалены и данные о самом проекте (наименование проекта). При этом если был сотрудник, который работал только над этим проектом, то будут потеряны и данные об этом сотруднике.
Причина аномалии - хранение в одном отношении разнородной информации (и о сотрудниках, и о проектах, и о работах по проекту).
Для устранения указанных аномалий (а на самом деле для правильного проектирования модели данных!) применяется метод нормализации отношений. Нормализация основана на понятии функциональной зависимости атрибутов отношения.
4.1.2.Формирование исходного отношения. Функциональные зависимости (фз)
Проектирование БД начинается с определения всех объектов, сведения о которых будут включены в базу, и определения их атрибутов. Такое отношение называется исходным или универсальным отношением.
Процесс разбиения отношения с целью уменьшения вероятности появления аномалий называется декомпозицией. Для разбиения исходного отношения на ряд новых, называемых проекциями отношения, используются операции реляционной алгебры. Полная декомпозиция отношения – это совокупность произвольного числа его проекций, естественное соединение которых дает исходное отношение.
Рассмотрим пример формирования исходного отношения и выявим зависимости между атрибутами.
ПРЕПОДАВАТЕЛЬ
ФИО |
Долж |
Оклад |
Стаж |
Д_Стаж |
Каф |
Предм |
Группа |
ВидЗан |
Иванов И.П. |
препод |
500 |
5 |
100 |
25 |
СУБД |
256 |
Практ |
Иванов И.П. |
препод |
500 |
5 |
100 |
25 |
VBA |
123 |
Практ |
Петров М.И. |
Ст.препод |
800 |
7 |
100 |
25 |
СУБД |
256 |
Лекция |
Петров М.И. |
Ст.препод |
800 |
7 |
100 |
25 |
ОС |
256 |
Практ |
Сидоров Н.Г |
препод |
500 |
10 |
150 |
25 |
VBA |
123 |
Лекция |
Сидоров Н.Г |
препод |
500 |
10 |
150 |
25 |
ОС |
256 |
Лекция |
Егоров В.Н. |
препод |
500 |
5 |
100 |
24 |
ПЭВМ |
244 |
Лекция |
В исходном отношении все атрибуты имеют атомарные (простые) значения.
Схема отношения ПРЕПОДАВАТЕЛЬ (ФИО, Долж, Оклад, Стаж, Д_Стаж, Каф, Предм, Группа, ВидЗан)
Явная избыточность: строки с ФИО повторяются несколько раз, изменение Долж у преподавателя надо проводить во всех строка.
Неявная избыточность: оклад у преподавателей, занимающих одинаковую должность и надбавки за одинаковый стаж одинаковые. При изменении оклада (редактировании) надо менять значение во всех строках.
Средством исключения избыточности является нормализация отношений.