Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gosy_shpory_FULL_provereno.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
24.96 Mб
Скачать
  1. Реляционный подход к проектированию бд: нормализация отношений путем декомпозиции на основе анализа функциональных зависимостей.

Структура информации ПО может быть представлена несколькими способами:

1. одно универсальное отношение;

2. совокупность отношений (результат декомпозиции совокупности отношений).

Возникает ряд проблем:

1. проблема адекватности представления ПО в обоих случаях;

2. проблема эквивалентности;

3. проблема эффективности представления с точки зрения манипулирования данными.

Универсальное отношение обладает дефектами с точки зрения манипулирования данными (аномалии вставки, обновления, удаления) – следствие избыточного дублирования данных. Аномалии возникают, т.к. в одном отношении представлена семантически разнородная информация. Манипулирование одними данными ведёт к изменению других. Решение – декомпозиция на семантически однородные отношения:

R(A1,A2,…An);F ρ={R1,…, Rk}, R=Ri F – множество функциональных зависимостей.

Декомпозиция должна быть выполнена так, чтобы не была утеряна семантически значимая информация и семантически значимые отношения:

1. обеспечения соединения без потерь информации (необходимо, чтобы каждую реализацию схемы можно было восстановить в результате операции естественного соединения r = πR1(r)* πR2(r)*…* πRk(r));

2. обеспечения сохранения зависимостей (множество функциональных зависимостей F должно быть выводимо из множеств Fi каждого компонента декомпозиции).

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

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

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

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

нормальная форма Бойса-Кодда (НФБК);

четвёртая нормальная форма (4НФ);

пятая нормальная форма (5НФ).

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

Функциональная зависимость. Атрибут X функционально зависит от атрибута Y, если значение Y однозначно отображает значение X.

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

Транзитивная функциональная зависимость. Атрибут X транзитивно зависит от атрибута Y (X->Y), если в отношении имеются функциональные зависимости X->Z и Z->Y.

Атрибуты X, Y и Z могут быть как простыми, так и составными.

Детерминант – это атрибут, от которого функционально полно зависит некоторый другой атрибут.

Отношение находится в 1НФ, если все его атрибуты определены на скалярных доменах. Это требование должно автоматически выполняться для всех отношений, иначе не будет поддерживаться реляционная целостность.

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

Отношение находится в 3НФ, если оно находится во 2НФ и при этом каждый его неключевой атрибут не транзитивно зависит от ключа. Это требование позволяет избавиться от функциональных зависимостей неключевых атрибутов.

Отношение находится в НФБК, если оно находится в 3НФ и любой детерминант является возможным ключом. Это усиленная 3НФ.

Общая схема декомпозиции:

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

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

Замечания:

Понятие нормализации касается содержания данных. Языки же манипулирования данных имеют дело с фактическими данными нормализованного или не нормализованного отношения.

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

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

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