Алгоритм приведения отношений к третьей нормальной форме
1. Создать универсальное отношение, содержащее все требуемые атрибуты (в отношении не должно быть пустых ячеек);
2. Определить все функциональные зависимости между атрибутами в этом отношении. При этом рассматриваются все сочетания по два атрибута, и в каждом случае доказывается или отвергается функциональная зависимость. Затем рассматриваются сочетания по три атрибута, и т.д. При нахождении функциональных зависимостей нужно помнить, что в левой части практически никогда не может находиться атрибут-основание.
3. Получить минимальное покрытие функциональных зависимостей. Минимальным покрытием называется список тех функциональных зависимостей, которые остаются в общем списке после вычеркивания функциональных зависимостей, являющихся производными. В частности, объединяются все функциональные зависимости с одинаковой левой частью, исключаются транзитивные зависимости.
4. Определить первичный ключ отношения.
5. С помощью операции проекции разбить исходное отношение на части по следующему принципу:
Ri = R [Xi], где Xi - список атрибутов из i-той функциональной зависимости. Количество отношений будет равно числу функциональных зависимостей.
6. Если первичный ключ не вошел ни в одно из полученных отношений, то для него создается отдельное отношение.
7. Атрибуты, входящие во взаимооднозначное соответствие, выделяются в отдельные отношения. Среди них выбирается один, по смыслу являющийся основным. Он будет представлять остальные атрибуты в других отношениях.
Пример:
Приведите отношение к третьей нормальной форме при известном списке атрибутов и функциональных зависимостей:
Табельный номер
ФИО рабочего
Цех
Участок
Дата
Сумма зарплаты
Участок® Цех
Табельный номер® Цех
Табельный номер® Участок
Табельный номер, Дата® Сумма зарплаты
Табельный номер® ФИО рабочего
Табельный номер® ФИО рабочего, Участок
Дата добавления: 2015-10-19; просмотров: 1563;