Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inform sistem.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.22 Mб
Скачать

13 Нормализация отношений.

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

Следовательно, для исключения аномалий обновления данных необходимо, чтобы схема БД была построена из отношений (таблиц), данные которых были бы независимы. Для решения этой задачи Эдгар Кодд предложил аппарат нормализации отношений.

Нормализация - это процесс проверки и преобразования отношений и атрибутов таким образом, чтобы устранить аномалии хранения данных.

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

Известно шесть нормальных форм:

1) первая нормальная форма (1NF);

2) вторая нормальная форма (2NF);

3) третья нормальная форма (3NF);

4) нормальная форма Бойса-Кодда (усиленная 3NF, BCNF);

5) четвертая нормальная форма (4NF);

6) пятая нормальная форма (5NF).

Здесь каждая нормальная форма полностью удовлетворяет требованиям предыдущей нормальной форм и выдвигает некоторые дополнительные требования. Требования нормальных форм основаны на понятии функциональной зависимости.

Функциональная зависимость- это такая связь между атрибутами А и В одного и того же отношения, когда каждому значению А соответствует только одно значение В. Атрибут А называется детерминантом. Детерминанты могут быть составными, то есть состоять из нескольких атрибутов.

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

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

В частичной функциональной зависимости атрибут В зависит только от части составного детерминанта А.

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

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

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

Вторая нормальная форма (2NF): отношение не должно содержать частичных функциональных зависимостей, то есть каждый неключевой атрибут должен зависеть только от всего составного ключа, а не от его частей.

Третья нормальная форма (3NF) требует исключения транзитивных зависимостей. Это означает, что не должно быть зависимостей между неключевыми атрибутами одного отношения.

Нормальная форма Бойса-Кодда (BCNF) требует, чтобы каждый детерминант являлся возможным ключом.

Четвертая нормальная форма требует отсутствия многозначных зависимостей между атрибутами.

Пятая нормальная форма на практике не используется.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]