Примеры нормализации отношений
Вторая нормальная форма (2NF)
Пример: БУЛОЧНАЯ.
| Хп/завод | Продукт | Цена | Количество |
| Пекарь | Батон нарезной | ||
| Каравай | Батон нарезной | ||
| Кушелевский | Батон нарезной | ||
| Кушелевский | Хлеб Дарницкий | ||
| Каравай | Хлеб Дарницкий |
Составной ключ: Хлебозавод + Продукт.
Неключевые атрибуты: Цена, Количество.
Атрибут Цена зависит и от части ключа – Продукт.
Для устранения неполной функциональной зависимости необходимо разделить исходное отношение в 1-й NF на 2, не содержащих неполной зависимости.
1-е отношение: Хлебозавод, Продукт, Количество.
| Хп/завод | Продукт | Количество |
| Пекарь | Батон нарезной | |
| Каравай | Батон нарезной | |
| Кушелевский | Батон нарезной | |
| Кушелевский | Хлеб Дарницкий | |
| Каравай | Хлеб Дарницкий |
2-е отношение: Продукт, Цена.
| Код продукта | Продукт | Цена |
| Б01н | Батон нарезной | |
| Х05д | Хлеб Дарницкий |
Как правило, во 2-е отношение вводится Код продукта, тогда в 1-м тоже будет Код продукта.
Третья нормальная форма (3NF)
Пример: СОТРУДНИК
| ФИО (ключ) | Должность | Оклад |
| Мирошин | Начальник отдела | 1000 у.е. |
| Евстафьв | Экономист | 500 у.е. |
| Сакутов | Экономист | 500 у.е. |
| Теглин | Экономист | 500 у.е. |
Должность зависит от ФИО, а Оклад – от Должности для данной фамилии, т.е. Оклад транзитивно зависит от ФИО через неключевой атрибут Должность.
Для устранения 3NF следует разделить исходное отношение на 2:
| ФИО | Должность | Должность | Оклад | |
| Мирошин | Начальник отдела | Начальник отдела | 1000 у.е. | |
| Евстафьв | Экономист | Экономист | 500 у.е. | |
| Сакутов | Экономист | Экономист | 500 у.е. | |
| Теглин | Экономист | Экономист | 500 у.е. |
Существуют специальные методы нормализации (разработан аппарат) и во всех современных СУБД, в том числе в Access есть возможность создать исходную ненормализованную таблицу и в результате анализа получить варианты нормализованных отношений и устранить избыточность
Тема 7
Дата добавления: 2015-08-08; просмотров: 783;
