Ациклическая база данных




 

В отношении существует многозначная зависимость (МЗ) , если для любого , являющегося значением атрибута :

, (9)

где – знак декартова произведения множеств.

Отношение с МЗ содержит избыточную информацию. Для МЗ справедливо отношение , где .

Симметричность вхождения членов в правую часть формулы (9) показывает, что многозначные зависимости встречаются парами.

Рассмотрим следующий пример.

Пусть дано отношение:

.

Вероятный ключ отношения является двухатрибутным:

.

Отношение может быть разбито на два отношения:

;

.

Отношение содержит многозначные зависимости:

;

,

т.к. любое изделие имеет один и тот же набор комплектующих на любом заводе.

Отношение может быть разбито на два отношения:

;

.

Поскольку вся информация из отношения уже содержится в отношении , то отношение можно исключить из дальнейшего рассмотрения.

Тогда исходное отношение может быть представлено как:

.

 

В ряде случаев декомпозиция реляционной базы данных на основе многозначных зависимостей дает различные результаты при перестановках в списке МЗ, что является серьезным недостатком.

Для ациклических реляционных баз данных (АРБД) характерна однозначная декомпозиция на основе МЗ.

Для определения АРБД введем графы соединений на множестве отношений . Вершинами графа соединений являются имена существующих отношений . Дуга графа существует, если в структуре отношений и имеются общие атрибуты (обозначим их для определенности через и назовем весом дуги).

Путь на графе соединений называется A-путем, если атрибут A содержится в структуре каждого отношения, лежащего на пути. В графе соединений для каждой пары отношений с общим атрибутом должен существовать – путь между и .

Если граф можно превратить в дерево с помощью исключения некоторых дуг при сохранении выше названного требования, то БД с отношениями является ациклической.

Для АРБД введем операцию

.

Величина вычисляется без потери информации и размер промежуточных результатов соединения не превышает по числу строк размер результирующего отношения.

В отличие от БД с циклическим графом соединений АРБД дает корректные (однозначные) ответы при реализации запросов, т.к. для любого запроса существует не более одного пути его реализации.

АРБД может быть получена одним из двух способов:

- добавлением в БД нового отношения с атрибутами, равными объединению весов дуг, образующих цикл;

- добавлением новых атрибутов, переименованием и разделением атрибутов.

Рассмотренная выше БД о научно-исследовательских работах является ациклической, а ее дерево соединений имеет вид, приведенный на рисунке.

 

Рисунок. Дерево соединений

 

При проектировании структуры реляционной БД можно рекомендовать следующие действия:

- каждый входной документ привести к 3НФ и установить первичный ключ в каждом случае;

- для полученного множества отношений построить граф соединений.

Если граф соединений можно преобразовать в дерево соединений, то БД является ациклической и соответствует 3НФ. Если дерево соединений не получается, то для достижения ацикличности необходимо вычислить преобразования, рекомендованные выше.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: