Многозначные зависимости




 

Многозначная зависимость существует, если при заданных значениях атрибута X существует множество, состоящее из нуля (или более) ассоциированных значений атрибута Y, причем множество значений атрибута Y не связано каким-либо способом со значениями атрибутов в отношении U - X - Y.

Многозначная зависимость обозначается следующим образом:

Х ®® Y.

 

Приведем некоторые аксиомы многозначных зависимостей.

Аксиома 1. Рефлексивность для многозначных зависимостей. Если Х Í U,то имеет место многозначная зависимость

Х ®® X.

 

Аксиома 2. Дополнение для многозначных зависимостей. Если Х Í U, Y Í U и Х ®® Y,то имеет место многозначная зависимость

 

Х ®® U - X - Y.

Аксиома 3. Пополнение для многозначных зависимостей. Если Х Í U, V Í U, W Í U, Y Í U, V Í W и Х ®® Y, то имеет место многозначная зависимость

 

WUX ®® VUY.

Аксиома 4. Аддитивность для многозначных зависимостей. Если Х Í U, Y Í U, Z Í U и Х ®® Y, Х ®® Z, то имеет место многозначная зависимость

 

X ®® Z È Y.

 

Аксиома 5. Транзитивность для многозначных зависимостей. Если Х Í U, Y Í U, Z Í U и Х ®® Y, Y ®® Z, то имеет место многозначная зависимость

 

X ®® Z - Y.

 

Аксиома 6. Псевдотранзитивность для многозначных зависимостей. Если Х Í U, Y Í U, Z Í U, W Í U, Х ®® Y, Y È W ® Z, то имеет место многозначная зависимость

 

X È W ®® Z - (Y È W).

Аксиома 7. Проективность для многозначных зависимостей. Если Х Í U, Y Í U, Z Í U и Х ®® Y, Х ®® Z, то имеет место многозначная зависимость

 

Х ®® Z Ç Y, Х ®® Y - Z.

 

Существует еще целый ряд других аксиом многозначных зависимостей. Кроме того, многозначная зависимость справедлива, так как она следует из смыслового понимания представляемых данных, т.е. формальная проверка многозначной зависимости должна выполняться на множестве всех возможных экземпляров кортежей рассматриваемого отношения.

 

Ключи отношений

 

Приведем формальное определение ключа. Если R – схема отношения с атрибутами A 1, A 2, ... An и множеством F функциональных зависимостей, X – подмножество множества атрибутов { A 1, A 2, ... An },то X называется ключом в случае выполнения следующих условий:

1. Зависимость X ® A 1 A 2 ...An, принадлежит замыканию F+ (полному множеству функциональных зависимостей, которые можно получить из F с помощью правил вывода).

2. Ни для какого собственного подмножества X зависимость Y ® A 1 A 2 ...An, где Y Ì X, не принадлежит замыканию F+.

Условие 2 ставит вопрос о минимальности ключа, т.е. данный ключ только тогда будет ключом, когда он является максимальным. Иначе ключом будет одно (или более) из его подмножеств.

Введем понятия первичных атрибутов. Атрибут Аi называется первичным, если он входит в состав любого ключа (первичного или возможного) отношения R. В противном случае будем называть его непервичным (вторичным).

 

Нормализация отношений

 

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

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

1. Выбранные для отношений первичные (возможные) ключи должны быть минимальными.

2. Выбранный состав отношений базы должен быть минимальным (отличаться минимальной избыточностью атрибутов).

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

4. Перестройка набора отношений при введении новых типов данных должна быть минимальной.

5. Разброс времени ответа на различные запросы к БД должен быть небольшим.

Трудности (аномалии) выполнения операций включения, удаления и модификации данных при неправильном, проекте базы заключаются в следующем.

Например, имеется реляционная БД со следующей схемой и экземпляром отношения:

 

Поставка (Индекс, Название Поставщика, Адрес, Товар, Цена)

 

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

Аномалия удаления в нашем примере возникает при попытке удаления всех кортежей, где есть поставка от одного поставщика. В этом случае в системе теряется адрес и название поставщика, хотя с ним заключен, например, договор на весь год и срок следующей поставки наступит несколько позже. При такой ситуации система выдаст неверный ответ, например, на такой запрос: «С какими поставщиками заключен договор?».

Аномалия включения возникает в том случае, когда с поставщиком только что заключен договор, но еще не было поставок. Нельзя включать в БД Название поставщика и Адрес поставщика, поскольку нельзя полностью сформировать кортеж – нет данных о поставках. Можно, конечно, поместить неопределенные значения (например, пробелы) в компоненты Товар и Цена, но это чревато своими трудностями и не всегда возможно. Если подобные атрибуты входят в состав ключа, то организовать в отношении поиск кортежа с неопределенным значением ключа невозможно.

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

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

 



Поделиться:




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

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


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