Добавлен: 21.10.2018
Просмотров: 859
Скачиваний: 5
либо категории или добавлении новой,а также неоправданное использование
памяти для хранения дублированной информации.
Для
устранения
транзитивной
зависимости
необходимо
провести
"расщепление" исходной таблицы. В результате расщепления часть
реквизитов удаляется из исходной таблицы и включается в состав других
(возможно, вновь созданных) таблиц.
Добавим таблицу “Kategorii” ,которая будет содержать поля «name_kategorii»
и «Id_kategorii» - первичный ключ.
Далее добавим внешний ключ «Id_kategorii» в таблицу “Knigi” и проведем
связь “Kategorii”-“Knigi”,тип связи «один-ко-многим».
Поле «stoimost_zakaza» в таблице “Zakaz” однозначно определяется полями
«obschaya_st_yslug» , «kolich_ekzemplyrov» и «cena_ekzemplyara», то
исключаем его из таблицы.
Поле «obschaya_st_yslug» расчитывается исходя из перчня «yslug» с
указанием стоимости каждой ,определенного в конкретном заказе. Поэтому
исключаем его из таблицы.
Поскольку в таблицах не осталось транзитивных зависимостей (Рис.4), то
процесс приведения таблиц к 3НФ считаем завершенным.
Рис.4- Структура таблиц в третьей нормальной форме
Таким образом, мы получаем корректную, нормализированную структуру
базы данных.