Иван Трещев - Базы данных. Учебное пособие. Для студентов
- Название:Базы данных. Учебное пособие. Для студентов
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785449645425
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Иван Трещев - Базы данных. Учебное пособие. Для студентов краткое содержание
Базы данных. Учебное пособие. Для студентов - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
3-я аксиома вывода. Аддитивность(так же известна под названием – объединение).
Если отношение r удовлетворяет X -> Y и X -> Z, то r удовлетворяет F-зависимости Х -> YZ. (можно объединить правые части)
4-я аксиома вывода. Проективность.
Если отношение r удовлетворяет X -> YZ, то r удовлетворяет X -> Y и X -> Z.
(разбиваем совокупность)
5-я аксиома вывода. Транзитивность.
Х -> Y и Y -> Z влечет за собой X -> Z. (избыточная транзитивная зависимость может быть удалена)
6-я аксиома вывода. Псевдотранзитивность.
Если r удовлетворяет зависимостям X -> Y и YZ -> W, то r удовлетворяет XZ -> W.
Исходная диаграмма функциональных зависимостей:

A -> B; A -> D; A -> G,
D -> G,
G -> D; G -> C; G -> F; G -> E,
E -> F,
F -> E
Удалим из исходного набора функциональных зависимостей все избыточные:
– т. к. A -> D, D -> G, то A -> G – исключим по аксиоме транзитивности
– т. к. G -> E, E -> F, то G -> F исключим по аксиоме транзитивности
– т. к. G -> E, G -> C, то по аксиоме аддитивности G -> E, C
– т. к. A -> B; A -> D, то по аксиоме аддитивности A -> D, B
Окончательная диаграмма функциональных зависимостей:

Пример проектирования методом декомпозиции БД интернет-магазин.
Уточнив вопрос о том какую информацию следует хранить в базе данных, определим все атрибуты, представляющие интерес для проектируемой базы данных. Это: для каждого товара его код, название, цена, процентная скидка; ФИО, адрес, телефон каждого клиента; для каждого заказа его код, сумма, дата выполнения и количество товара для каждого заказанного названия.
Применим для всех атрибутов краткие обозначения:
Название товара – НТ
Цена товара – ЦТ
Процентная скидка на товар – ПСТ
Код клиента – КК
ФИО клиента – ФИО
Адрес клиента – АК
Телефон клиента – ТК
Код заказа – КЗ
Сумма заказа – СЗ
Дата выполнения заказа – ДВЗ
Количество товара для каждого заказанного названия – КТЗ.
Универсальное отношение будет иметь вид: 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 записывается информация о количестве каждого товара в заказе.
Читать дальшеИнтервал:
Закладка: