- •Раздел 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. Пример проектирования бд с использованием метода сущность связь
4.1.3. Процедура нормализации
Нормализация отношений - это процесс построения оптимальной структуры таблиц и связей в реляционной БД (процесс уменьшения избыточности информации), что достигается
последовательной заменой таблицы ее декомпозициями, т.е. разбиение отношения на два или более отношений, обладающих лучшими свойствами при добавлении, обновлении и удалении данных.
В процессе нормализации данные группируются в таблицы, представляющие классы объектов и их взаимодействие.
Цели, которые преследуются при построении наиболее эффективной структуры данных:
-
Обеспечить быстрый доступ к данным.
-
Исключить ненужное повторение данных, которое может являться причиной ошибок при вводе, а также привести к нерациональному использованию дискового пространства.
-
Обеспечить целостность данных, т.о. чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектов.
Теория нормализации отношений работает с 5 нормальными формами таблиц. Каждая последующая форма должна отвечать требованиям предыдущих форм плюс некоторые дополнительные требования.
Проектирование реляционной БД методом декомпозиции:
-
разработка универсального отношения для БД
-
определение всех ФЗ между отношениями
-
определение того, находится ли отношение в НФБК
-
повторение шагов 1,2 для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, если все отношения находятся в НФБК.
Зависимости между атрибутами
Теория нормализации основывается на наличии ФЗ между атрибутами в рассматриваемом отношении.
Функциональная зависимость определяется следующим образом: если даны два атрибута А и В, атрибут В функционально зависит от атрибута, если каждое отдельное значение атрибута А связано только с одним значением атрибута В. Значение А и В могут изменяться, но только так, чтобы уникальное значение А имело только одно значение В, связанное с ним.
На практике ФЗ определяется путем анализа смысловых свойств всех атрибутов в отношении.
Функциональная взаимозависимость. Если существует функциональная зависимость вида АàB и B à А, то между А и В имеется взаимно однозначное соответствие, или функциональная взаимозависимость. Обозначается АВ или ВА.
Функциональная зависимость называется частичной, если существует зависимость неключевого атрибута от части составного ключа.
ФИО à Долж
Функциональная зависимость называется полной, если существует зависимость неключевого атрибута от всего составного ключа.
ФИО Группа Предм à ВидЗан
Функциональная зависимость называется транзитивной , если АàB и BC, но обратная зависимость отсутствует.
ФИОà ДолжàОклад
Многозначная зависимость означает, что В многозначно зависит от А , если каждому значению А соответствует множество значений В, не связанных с другими атрибутами из этого отношения. Многозначные зависимости могут быть один ко многим, многие к одному и многие ко многим. АàВ, АВ, АВ. Преподаватель ведет несколько предметов и каждый предмет ведет несколько преподавателей. ФИО Предм
Взаимно независимые атрибуты не зависят от других атрибутов. А¬àВ
Возможный ключ отношения представляет собой атрибут или набор атрибутов, который может быть использован в данном отношении в качестве первичного ключа.
Неключевой атрибут отношения - это атрибут не входящий в состав ни одного возможного ключа.
Если в отношении есть несколько ФЗ, то каждый атрибут или набор атрибутов А, от которого в полной функциональной зависимости находится другой атрибут В, называется детерминантом отношения.
Избыточная функциональная зависимость содержит информацию, которую можно получить на основе других зависимостей, созданных при проектировании БД.
Выявим зависимости между атрибутами в таб. ПРЕПОДАВАТЕЛЬ.
Условие: один преподаватель может проводить только один вид занятий (Лекция или Практ.) в одной группе, но может проводить разные занятия в др. группах.
ФИОàОклад; ФИОàДолж; ФИОàСтаж; ФИОàД-Стаж; ФИОàКаф; Стаж à Д-Стаж;
Должà Оклад; Окладà Долж; ФИО Группа Предм à ВидЗан
Нормальные формы