Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МР - Лекция № 4.doc
Скачиваний:
1
Добавлен:
16.09.2019
Размер:
574.46 Кб
Скачать
  1. Нормализация: формы 1нф, 2нф, 3нф и нфбк

    1. Введение

У рассмотренной ранее переменной-отношения SCP имеется существенный недостаток – избыточность. Эта избыточность заключается в том, что для каждого кортежа, описывающего поставку деталей каким-либо поставщиком повсюду дублируется информация о городе, из которого осуществляется поставка, хотя он является одним и тем же для одного и того же поставщика. Таким образом, информация о городе, в котором находится поставщик, повторяется столько раз, сколько он осуществляет поставок. Эта избыточность может привести к некоторым проблемам. Например, описывая различные поставки, осуществляемые поставщиком, может быть указаны различные значения города, что является заведомо неверным, так как в нашей базе данных свойство «город, в котором находится поставщик» является однозначным.

Для избегания подобных ситуаций и создания хорошего макета БД следует придерживаться принципа «по одному факту в одном месте» (т.е. следует избегать избыточности данных). Предметом нормализации, в сущности, является всего лишь формализация подобных простых идей, однако это должна быть формализация, которая действительно будет иметь большое практическое значение при проектировании базы данных.

Конечно, как мы уже отмечали во второй лекции, отношения в реляционной модели всегда нормализованы. Можно также сказать, что переменная-отношение также нормализована, поскольку ее допустимыми значениями являются нормализованные отношения. Следовательно, в контексте реляционной модели переменная-отношение также всегда нормализована.

Нормальные формы

Процесс дальнейшей нормализации, который ниже будет упоминаться просто как нормализация, основывается на концепции нормальных форм. Говорят, что переменная-отношение находится в определенной нормальной форме, если она удовлетворяет некоторому набору условий. Например, переменная-отношение находится во второй нормальной форме (2НФ), если она находится в первой нормальной форме и удовлетворяет некоторым дополнительным условиям.

На рис. 4.3 показаны нормальные формы, определенные в данный момент. Первые три (1НФ, 2НФ, 3НФ) были определены Коддом. Каждая переменная-отношение, находящаяся в некоторой нормальной форме, находится и в предыдущей нормальной форме. Мотивом введения все новых нормальных форм было то, что переменная-отношение в следующей нормальной форме является более желательной, чем в предыдущей в том смысле, который будет указан ниже.

Переменные-отношения в 1НФ

Переменные-отношения в 2НФ

Переменные-отношения в 3НФ

Переменные-отношения в НФБК

Переменные-отношения в 4НФ

Переменные-отношения в 5НФ

Рис. 4.3. Уровни нормализации

Имеется описание процедур нормализации, которые позволяют перевести переменную-отношение, находящуюся в более низкой нормальной форме в несколько переменных-отношений более высокой (вплоть до пятой) нормальной формы, являющихся эквивалентом исходной переменной-отношения. Следует отметить, что данная процедура является обратимой, т.е. возможно выполнить обратное преобразование, что свидетельствует о том, что в процессе выполнения этих преобразований информация не утрачивается.

Заметим, что Кодд дал определение для 3НФ не совсем корректно. Это привело к необходимости его уточнения, что было выполнено впоследствии Бойсом (Boyce) и Коддом. Так появилась нормальная форма Бойса-Кодда.

Впоследствии Фейгином (Fagin) была определена новая, четвертая нормальная форма (4НФ), поскольку на тот момент нормальная форма Бойса-Кодда считалась третьей. В заключение было дано определение пятой нормальной форме (5НФ), которая еще называется проективно-соединительной нормальной формой (ПСНФ). Ее можно рассматривать как «окончательную» нормальную форму в некотором смысле.