Иван Андреевич Трещев

Базы данных. Учебное пособие. Для студентов


Скачать книгу

всегда имеет место Х -> Х

      2-я аксиома вывода. Пополнение.

      Если r удовлетворяет Х -> Y, то r удовлетворяет F-зависимости XZ -> Y

      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. Диаграмма функциональных зависимостей.

      Удалим из исходного набора функциональных зависимостей все избыточные:

      – КЗ → КК и КК → ТК, т. е. КЗ → ТК также можно удалить по аксиоме транзитивности.

      – КК → ФИО и КК → АК по аксиоме аддитивности заменим на КК → ФИО, АК.

      – ФИО, АК → КК и КК → ТК, т. е. ФИО, АК → ТК является избыточной зависимостью по аксиоме транзитивности и ее можно удалить.

      – КЗ