
- •Введение
- •Лабораторная работа № 1
- •Единиц информации
- •Задание
- •Лабораторная работа № 2
- •Реляционная модель данных
- •Функциональные зависимости и ключи
- •Вторая и третья нормальные формы
- •Ациклическая база данных
- •Доступ к реляционной базе данных
- •Библиографический список
- •390005, Рязань, ул. Гагарина, 59/1.
Ациклическая база данных
В отношении
существует многозначная зависимость
(МЗ)
,
если для любого
,
являющегося значением атрибута
:
, (9)
где
– знак декартова произведения множеств.
Отношение
с МЗ содержит избыточную информацию.
Для МЗ справедливо отношение
,
где
.
Симметричность вхождения членов в правую часть формулы (9) показывает, что многозначные зависимости встречаются парами.
Рассмотрим следующий пример.
Пусть дано отношение:
.
Вероятный ключ отношения является двухатрибутным:
.
Отношение
может быть разбито на два отношения:
;
.
Отношение
содержит многозначные зависимости:
;
,
т.к. любое изделие имеет один и тот же набор комплектующих на любом заводе.
Отношение может быть разбито на два отношения:
;
.
Поскольку вся
информация из отношения
уже содержится в отношении
,
то отношение
можно исключить из дальнейшего
рассмотрения.
Тогда исходное отношение может быть представлено как:
.
В ряде случаев декомпозиция реляционной базы данных на основе многозначных зависимостей дает различные результаты при перестановках в списке МЗ, что является серьезным недостатком.
Для ациклических реляционных баз данных (АРБД) характерна однозначная декомпозиция на основе МЗ.
Для определения
АРБД введем графы соединений на множестве
отношений
.
Вершинами графа соединений являются
имена существующих отношений
.
Дуга графа
существует, если в структуре отношений
и
имеются общие атрибуты (обозначим их
для определенности через
и назовем весом дуги).
Путь на графе
соединений называется A-путем, если
атрибут A содержится в структуре каждого
отношения, лежащего на пути. В графе
соединений для каждой пары отношений
с общим атрибутом
должен существовать
– путь между
и
.
Если граф можно превратить в дерево с помощью исключения некоторых дуг при сохранении выше названного требования, то БД с отношениями является ациклической.
Для АРБД
введем операцию
.
Величина
вычисляется без потери информации и
размер промежуточных результатов
соединения не превышает по числу строк
размер результирующего отношения.
В отличие от БД с циклическим графом соединений АРБД дает корректные (однозначные) ответы при реализации запросов, т.к. для любого запроса существует не более одного пути его реализации.
АРБД может быть получена одним из двух способов:
добавлением в БД нового отношения с атрибутами, равными объединению весов дуг, образующих цикл;
добавлением новых атрибутов, переименованием и разделением атрибутов.
Рассмотренная выше БД о научно-исследовательских работах является ациклической, а ее дерево соединений имеет вид, приведенный на рисунке.
Рисунок. Дерево соединений
При проектировании структуры реляционной БД можно рекомендовать следующие действия:
каждый входной документ привести к 3НФ и установить первичный ключ в каждом случае;
для полученного множества отношений построить граф соединений.
Если граф соединений можно преобразовать в дерево соединений, то БД является ациклической и соответствует 3НФ. Если дерево соединений не получается, то для достижения ацикличности необходимо вычислить преобразования, рекомендованные выше.