Дата выполнения заказа ДВЗ
Количество товара для каждого заказанного названия КТЗ.
Универсальное отношение будет иметь вид: r (НТ, ЦТ, ПСТ, КК, ФИО, АК, ТК, КЗ, СЗ, ДВЗ, КТЗ).
Определив все функциональные зависимости, имеющиеся между атрибутами универсального отношения, построим диаграмму функциональных зависимостей (см. рис. 1.1).
Рис. 1.1. Диаграмма функциональных зависимостей.
Удалим из исходного набора функциональных зависимостей все избыточные:
КЗ КК и КК ТК, т. е. КЗ ТК также можно удалить по аксиоме транзитивности.
КК ФИО и КК АК по аксиоме аддитивности заменим на КК ФИО, АК.
ФИО, АК КК и КК ТК, т. е. ФИО, АК ТК является избыточной зависимостью по аксиоме транзитивности и ее можно удалить.
КЗ КК и КК ФИО, АК, т. е. КЗ ФИО, АК также можно удалить по аксиоме транзитивности.
НТ ЦТ, НТ ПСТ, НТ НС по аксиоме аддитивности заменим на НТ ЦТ, ПСТ.
КЗ СЗ, КЗ ДВЗ, КЗ КК по аксиоме аддитивности заменим на КЗ СЗ, ДВЗ, КК.
КК ФИО, АК и КК ТК по аксиоме аддитивности заменим на КК ФИО, АК, ТК.
Окончательно диаграмма функциональных зависимостей примет вид, показанный на рис. 1.2.
Рис. 1.2. Окончательный вид диаграммы функциональных зависимостей.
Выполним преобразование исходного отношения в набор НФБК отношений:
1)
r1 (НТ, ЦТ, ПСТ, КК, ФИО, АК, ТК, КЗ, СЗ, ДВЗ, КТЗ).
Отношение r1 не находится в НФБК (есть зависимости от частей ключа (НТ ЦТ, ПСТ); детерминанты НТ, КЗ, КК, (ФИО, АК) не являются возможными ключами) и поэтому разбивается далее.
2) Для проведения проекции по правилу цепочки выберем F-зависимость НТ ЦТ, ПСТ. Получим следующие отношения:
r2 (НТ, ЦТ, ПСТ);
r3 (НТ, КК, ФИО, АК, ТК, КЗ, СЗ, ДВЗ, КТЗ).
Отношение r2 находится в НФБК (его детерминант (НТ) является возможным ключом) и не нуждается больше в декомпозиции. Отношение r3 не находится в НФБК (есть зависимости от частей ключа (КЗ СЗ, ДВЗ, КК); детерминанты КЗ, КК, (ФИО, АК) не являются возможными ключами) и поэтому разбивается далее.
3) Для проведения второй проекции также по правилу цепочки выберем F-зависимость КК ФИО, АК, ТК. Получим следующие отношения:
r4 (КК, ФИО, АК, ТК);
r5 (НТ, КК, КЗ, СЗ, ДВЗ, КТЗ).
Отношение r4 находится в НФБК (его детерминанты (КК, (ФИО, АК)) являются возможными ключами) и не нуждается больше в декомпозиции. Отношение r5 не находится в НФБК (есть зависимости от частей ключа (КЗ СЗ, ДВЗ, КК); детерминант КЗ не является возможным ключом) и поэтому разбивается далее.
4) Для проведения третьей проекции по правилу цепочки выберем F-зависимость КЗ СЗ, ДВЗ, КК.
r6 (КЗ, СЗ, ДВЗ, КК).
Отношение r6 находится в НФБК (его детерминант (КЗ) является возможным ключом) и не нуждается больше в декомпозиции.
r7 (НТ, КЗ, КТЗ).
Отношение r7 находится в НФБК (его детерминант (НТ, КЗ) является возможным ключом) и не нуждается больше в декомпозиции.
Преобразование исходного отношения в набор НФБК отношений завершено.
Таким образом, получили следующий набор отношений:
r2 (НТ, ЦТ, ПСТ);
r4 (КК, ФИО, АК, ТК);
r6 (КЗ, СЗ, ДВЗ, КК);
r7 (НТ, КЗ, КТЗ).
Выполним проверку полученного набора отношений:
1) Проверим отношения на наличие дублирующихся функциональных зависимостей. Для этого составим списки F-зависимостей для каждого отношения.
F-зависимости в отношении r2:
НТ ЦТ, ПСТ.
F-зависимости в отношении r4:
КК ФИО, АК, ТК;
ФИО, АК КК;
ФИО, АК ТК.
F-зависимости в отношении r6:
КЗ СЗ, ДВЗ, КК.
F-зависимости в отношении r7:
НТ, КЗ КТЗ.
Таким образом, в полученном наборе отношений нет F-зависимости, которая появлялась бы более чем в одном отношении. Полученный набор F-зависимостей не совпадает с набором минимального покрытия и может быть получен из него с помощью аксиомы аддитивности (в отношении r4 объединим F-зависимости ФИО, АК КК и ФИО, АК ТК).
2) Осуществим проверку набора отношений на наличие избыточных. В полученном наборе отношений нет отношения, все атрибуты которого находились бы в одном другом отношении набора или могли быть найдены в отношении, получаемом с помощью операции соединения любых других отношений проектного набора.
3) Рассмотрим отношения с практической точки зрения. Все полученные отношения разумны с практической точки зрения: в отношении r2 регистрируются данные о товарах, в отношении r4 хранятся данные о клиентах, отношение r6 отвечает за учет полученных товаров, в отношение r7 записывается информация о количестве каждого товара в заказе.