Алгоритм. 1. Определение ключа исходного отношения
1. Определение ключа исходного отношения. 2. Выделение ФС, не содержащих ключа исходного отношения. 3. В полученном подмножестве ФС выделяются те, в которых атрибут не является составной частью детерминанта ни в одной из ФС. 4. Декомпозиция исходного отношения на составляющие подмножества элементов. Из исходного отношения выделяются все элементы, входящие в выделенную ФС. Эти элементы образуют самостоятельное отношение, удовлетворяющее требованиям НФБК. Другое подмножество будет содержать элементы исходного отношения, кроме атрибутов в выделенной ФС. 5. Определение множества ФЗ, которые могут быть заданы на втором подмножестве элемента. Продолжаем нормализацию со 2-го шага.
Замечания: 1. Если при выполнении шага 2 для исходного отношения не были определены ФС, не содержащие ключа исходного отношения, то переходим к выполнению шага 3. 2. Если не были выявлены связи, в которых атрибут не является частью детерминанта, то из исходного отношения выделяются элементы, входящие в любую из ФС. 3. Если в результате декомпозиции полученное отношение теряет смысл или по-прежнему не удовлетворяет требованиям НФБК, то множество ФС было определено неверно.
Приведение отношения к 4НФ Проекты (№ проекта, Код сотрудника, Задание сотрудника) номер проекта→→код сотрудника номер проекта→→задание сотрудника
Теорема Фейджина Отношение R (А,В,С) можно спроецировать без потерь в отношение R1(А,В) и R2(А,С) в том случае, когда существует зависимость А→→В и А→→С (А определяет В и С). Отношение R находится в 4 НФ в том случае, когда существует многозначная зависимость. А определяет В, а все остальные атрибуты R функ-но зависят от А. А→→В Сотрудник проекта((№ проекта, Код сотрудника) Задание проекта(№ проекта, Задание сотрудника) Сотрудник проекта Задание проекта
Приведение отношения к 5НФ сотрудники-отделы-проекты
Отношение R находится в 5 НФ, или НФ проекции соединения, в том и только том случае, когда любая зависимость соединения в отношении следует из существования некоторого возможного ключа. Образуем отношения на основе сочетания атрибутов из отношения сотрудники-отделы-проекты. Сотрудник-отдел(Код сотрудника, Код отдела) Отдел-Проект(Код отдела, №проекта) Сотрудник-Проект(Код сотрудника, №проекта)
|