Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Лекция 1_Метод нормализации.docx
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
593.3 Кб
Скачать

9 § 3. Метод нормализации

1. Понятие нормальной формы

Основная цель проектирования реляционной базы данных заключается в создании отношений таким образом, чтобы минимизировать избыточность данных и тем самым сократить объем памяти, необходимый для физического хранения отношений, представленных в виде таблиц.

Избыточность данных. Если некоторые данные в реляционном отношении повторяются в нескольких кортежах, то говорят, что имеет место избыточность этих данных в реляционной таблице.

Нормальная форма отношения – это понятие, характеризующее в целом степень избыточности информации в этом отношении.

Обозначение

Название

Вид зависимости

1NF

1-я нормальная форма

Функциональная зависимость

2NF

2-я нормальная форма

Полная функциональная зависимость

3NF

3-я нормальная форма

Транзитивная зависимость

BCNF

нормальная форма Бойса - Кодда

Понятие надключа

4NF

4-я нормальная форма

Многозначная зависимость

5NF

5-я нормальная форма

Зависимость по соединению

Аномалии избыточности: аномалии вставки, обновления и удаления

Проявляются в том, что в отношении с избыточными данными повышена вероятность нарушения целостности и согласованности данных при всех основных операциях с данными: вставки, обновления и удаления данных.

Отношение «Сотрудники»

Отношение «Отделения»

Отношение «СотрудникиОтделения»

В отношении «СотрудникиОтделения» возможно нарушение целостности при операциях:

Вставка нового сотрудника отделения (B003);

Удаление сотрудника (SA9);

Обновление адреса отделения (B003)

Метод нормализации отношения. Это последовательный процесс, на каждом шаге которого проверяется: удовлетворяет ли отношение R требованиям нормальных форм. Если отношение R не удовлетворяет требованиям некоторой нормальной формы F1, по определенным правилам выполняется декомпозиция отношения R, в результате вместо отношения R получаются новые отношения R1, R2, … , каждое из которых удовлетворяет требованиям нормальной формы F1. Далее для каждого из полученных отношений R1, R2, … проверяется: удовлетворяют ли они требованиям следующей нормальной формы F2, и т.д.

В результате применения метода нормализации оптимизируется структура каждого отношения базы данных и для каждого отношения - степень избыточности информации снижается.

2. Понятие функциональной зависимости

Понятие функциональной зависимости описывает связь между атрибутами отношения.

Определение. Пусть x, y – атрибуты некоторого отношения (возможно составные). Атрибут y функционально зависит от атрибута x, если каждому значению атрибута x соответствует единственное значение атрибута y.

Обозначение функциональной зависимости: xy

Атрибут y функционально не зависит от x: x y

Примеры функциональных зависимостей в отношениях «Сотрудники», «Отделения», «СотрудникиОтделения»

Построение всех функциональных зависимостей отношения

1-й способ.

Систематический способ определения функциональных зависимостей состоит в том, что вначале определяется каждое множество атрибутов А, которое может присутствовать в левой части некоторых функциональных зависимостей, а затем определяется множество всех атрибутов, зависимых от А.

2-й способ.

Минимальным называется такое множество функциональных зависимостей, из которого все остальные функциональные зависимости отношения могут быть получены с помощью аксиом Армстронга.

Аксиомы Армстронга

  1. Аксиома рефлексивности. Пусть x={x1, …, xk, … , xn}, y={xk, … , xn} – составные атрибуты отношения R и y  x, тогда существует тривиальная зависимость xy.

  2. Аксиома пополнения. Пусть x, y – атрибуты отношения R (возможно составные) и существует функциональная зависимость xy, тогда для любого атрибута z отношения R существует и функциональная зависимость x,z  y,z.

  3. Аксиома транзитивности. Если в отношении R существуют функциональные зависимости xy и yz, то существует и транзитивная зависимость xz.

Условия минимальности. Множество функциональных зависимостей X является минимальным, если оно удовлетворяет следующим трем условиям.

  1. Каждая зависимость в X имеет единственный атрибут в правой части.

  2. Ни одну зависимость АB в X нельзя заменить зависимостью CB, где C является собственным подмножеством А, и получить в результате множество зависимостей, эквивалентное X.

  3. Из множества X нельзя удалить ни одной зависимости и получить в результате множество зависимостей, эквивалентное X.

Отношение «СотрудникиОтделения»

Минимальное множество функциональных зависимостей X

Первичный ключ отношения

Определение. Множество атрибутов x={x1, … , xn} отношения R является первичным ключом отношения R, если выполняются условия.

  1. Эти атрибуты x={x1, … , xn} функционально определяют все остальные атрибуты отношения R, т.е. для любого атрибута y отношения R существует функциональная зависимость x1, … , xn  y;

  2. Требование минимальности первичного ключа. Ни одно собственное подмножество атрибутов множества x={x1, … , xn} функционально не определяет все остальные атрибуты отношения R. Т.е. для любого собственного подмножества {xi, … , xj}  {x1, … , xn} существует атрибут z отношения R такой, что {xi, … , xj} z.

Вопросы:

(в предположении, что множества приведенных кортежей иллюстрируют все возможные значения атрибутов отношений)

  1. Какие атрибуты в отношениях «Сотрудники», «Отделения», «СотрудникиОтделения» функционально определяют все остальные атрибуты отношений?

  2. Какие из них удовлетворяют требованию минимальности минимальности первичного ключа?

Определение. Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа.

3. 1-я нормальная форма

Перед обсуждением первой нормальной формы целесообразно дать определение того состояния, которое ей предшествует.

Определение. Ненормализованная форма (ННФ). Таблица, содержащая одну или несколько повторяющихся групп данных.

Определение. Повторяющейся группой называется группа, состоящая из одного или нескольких атрибутов таблицы, в которой возможно наличие нескольких значений для единственного значения ключевого атрибута (атрибутов) таблицы.

Ненормализованная таблица ClientRental (клиенты-арендаторы)

Повторяющаяся группа представляет собой сведения об арендуемом объекте недвижимости, структура группы имеет следующий вид:

(propertyNo, pAddress, rentStart, rentFinish, rent, ownerNo, oName)

Определение (1NF). Отношение, в котором на пересечении каждой строки и каждого столбца содержится одно и только одно значение.