Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_BD.doc
Скачиваний:
6
Добавлен:
19.08.2019
Размер:
249.86 Кб
Скачать

14. Функциональные зависимости и нормализация отношений.

Существует несколько разновидностей зависимостей, которые рассматриваются реляционной теорией: F-зависимости, MV-зависимости и J-зависимости. В настоящий момент наибольший интерес среди них для нас представляют функциональные зависимости, или F-зависимости.

ПИЛОТ РЕЙС ДАТА ВРЕМЯ-ВЫЛЕТА

Кушинг 83 09 авг 10:15

Кушинг 116 10 авг 13:25

Кларк 281 08 авг 05:50

Кларк 301 12 авг 18:35

Кларк 83 11 авг 10:15

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

Предположим, что не каждое сочетание данных является допустимым. На совокупность данных накладывается ряд ограничений:

- Каждый рейс имеет определенное время вылета.

- Данный пилот в данные день и время может участвовать только в одном рейсе.

- Для данного рейса и даты назначается только один пилот.

Рассмотрев исходные данные с учетом этих ограничений, мы можем сделать ряд выводов:

- ВРЕМЯ-ВЫЛЕТА функционально зависит от РЕЙСА.

- РЕЙС функционально зависит от {ПИЛОТ, ДАТА, ВРЕМЯ-ВЫЛЕТА}.

- ПИЛОТ функционально зависит от {РЕЙС, ДАТА}.

Итак, если значения кортежа на некотором множестве атрибутов единственным образом определяют значения на другом множестве атрибутов, говорят, что имеет место функциональная зависимость или, короче, F-зависимость.

Пусть r - отношение со схемой R, X и Y - подмножества R. Отношение r удовлетворяет функциональной зависимости X->Y, если (r WHERE (X=x))[Y] имеет не более одного кортежа для каждого X-значения x. Другими словами, возьмем любые два кортежа t1 и t2. Если X->Y и t1(X)=t2(X), то t1(Y)=t2(Y).

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

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

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

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

Отношение находится в первой нормальной форме тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов. (Простой атрибут - атрибут, значения которого атомарны (неделимы). Сложный атрибут - получается соединением нескольких атомарных атрибутов, которые могут быть определены на одном или разных доменах. (его также называют вектор или агрегат данных). Отношение находится в 1 НФ если значения всех его атрибутов атомарны. Др. словами значения атрибутов не являются ни списками, ни множ-ами значений.)

В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение. Что же касается таблиц в существующих реляционных СУБД (SQL-СУБД), то они могут не быть правильными отношениями и, соответственно, не находиться в 1NF.

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

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

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

Существуют:

- 1 НФ; - 2НФ; - 3 НФ; - НФ Бойса – Кодда (НФБК); - 4 НФ;

- 5 НФ (НФ проекция- соединения); - ДКНФ (доменно-ключевая НФ).

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