
- •Часть I. Теория баз данных
- •Глава I. Системы файлов и базы данных
- •Оценка системы файлов
- •1.2. Понятие базы данных и системы управления базами данных.
- •1.3 Архитектура бд
- •Концептуальная модель
- •Внутренняя модель
- •Физическая модель
- •1.4 Модели баз данных
- •1.4.1 Иерархическая модель данных
- •1.4.2 Сетевая модель данных
- •1.4.3 Реляционная модель данных
- •Нормализация отношений
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Денормализация
- •Методы реализации денормализации
- •1.4.4. Объектно-ориентированная модель данных
- •1.4.4.1. Атрибуты
- •1.4.4.2. Состояние объекта. Сообщения и методы
- •1.4.4.3. Классы
- •1.4.4.4. Протокол
- •1.4.4.5. Суперклассы, подклассы, наследование
- •1.4.4.6. Единичное наследование. Множественное наследование.
- •1.4.4.7. Переопределение методов и полиморфизм
- •1.4.4.8. Абстрактные типы данных
- •1.4.4.9. Классификация объектов
- •1.4.4.10. Свойства объектно-ориентированных моделей данных
- •1.5.1 Сущности
- •1.5.2 Атрибуты
- •1.5.3. Связи
- •1.5.4. Сравнение обозначений в er-моделировании
- •1.5.5. Разработка er-диаграмм
Нормализация отношений
Определил Кодд в 1970 г.
Нормализация является основой для удаления из сущностей нежелательных транзитивных и функциональных зависимостей (ФЗ).
Под функциональной зависимостью подразумевается, что мы можем определить значение атрибута, просто зная значение некоторого другого атрибута. Например, зная название страны, можно определить ее столицу. Следовательно, между страной и столицей имеется функциональная зависимость (ФЗ).
Существует еще один вариант зависимости – многозначная зависимость (МЗЗ). Она означает, что если знаем значение одного атрибута, то можно определить набор значений другого атрибута. Например, зная название страны, можно определить названия всех ее аэропортов. Следовательно, между страной и аэропортами существует многозначная зависимость.
ФЗ и МЗЗ обозначаются следующим образом:
ФЗ А * В (А определяет В)
МЗЗ А**В (А определяет набор В)
Нормализация позволяет проектировать БД, в которых нет ненужных избыточных данных и противоречий, которые могут повлечь за собой проблемы производительности или потерю информации при проектировании.
Первая нормальная форма
Сущность находится в первой нормальной форме, если значения всех ее атрибутов атомарные.
Все повторяющиеся группы должны быть удалены и помещены в новую (связанную) сущность Рис.5
Рис.5. Ненормализованная (повторяющаяся группа)
Рис. 6
Если груз аннулируется и данная строка удаляется, то вместе с ней исчезают все следы партий, которые должны были быть на борту.
Если прибывает новая партия груза, и ее еще не включили в состав груза, подлежащий отправке, то сведения о партии записывать некуда.
Вторая нормальная форма
Сущность находится во второй нормальной форме, если она находится в первой нормальной форме, а каждый ее неключевой атрибут функционально полно зависит от ключа (или от каждого компонента первичного ключа – для сущностей с составными ключами, состоящими из двух и более атрибутов).
Вторая нормальная форма требует, чтобы не было непервичных атрибутов, которые зависят только от части первичного ключа.
Рис.
7
Грузоподъемность корабля не зависит от даты убытия, и зависит только от корабля (изъятие зависимых атрибутов из сущности Shipment и создание связанной подчиненной сущности Shipment).
Невозможно зарегистрировать название и грузоподъемность корабля, который еще не доставил ни одного груза.
Если удалим запись Shipment после отправки груза, то потеряем все записи о кораблях, для которых нет груза (сейчас или в перспективе).
Третья нормальная форма
Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и все ее неключевые атрибуты зависят только от первичного ключа, то есть при этом они не должны зависеть и от других неключевых атрибутов.
Атрибут ‘Необходимость таможенной декларации’ является свойством атрибутов ‘Пункт отправления’ и ‘Пункт назначения’.
Если корабль курсирует между двумя портами в одной стране, то Таможенной очистке груз не подлежит.
Перенесем нарушающую форму атрибуты в дочернюю сущность Route (Маршрут)
Рис. 8 Третья нормальная форма
Чтобы преобразовать информационную модель в третью нормальную форму, нужно руководствоваться здравым смыслом и помнить пословицу: ‘Все атрибуты сущности должны зависеть от ключа, только от ключа и ни от чего, кроме ключа’.
В результате вместо одной таблицы имеем четыре.