
MV–зависимости.
Многозначные зависимости, имеющиеся в отношении, вносят избыточность. Если отношение содержит много атрибутов, то избыточность может быть очень большой.
Поэтому отношения MV-зависимостями должны быть приведены в 4 нормальную форму, путем декомпозиции.
Определение MV-зависимостей.
MV-зависимость ранее была определена следующим образом:
Если была задана схема отношения R(x, y) и X и Y атрибуты R, то существует многозначная зависимость Y от X или X→→Y. Если при заданных значениях атрибутов из X существует множество состоящие из нуля или более ассоциированных значений атрибутов из Y и это множество Y- значений не связанно каким либо образом со значениями атрибутов в R-x-y.
Это определение хорошо работает, когда схема отношений имеет вид R(x, y), т.е. состоит из атрибутов X и Y.
В том случае, если схема содержит большее количество атрибутов, для ответа на вопрос о наличии MV-связей в отношении используются алгоритмы, связанные обработкой записей отношения.
Для этого случая понятие многозначной зависимости определяется следующим образом:
Пусть R(x, y, z) – реляционная схема отношения R, x и y пересекающиеся подмножества, где (xy) – объединение подмножеств R,пусть Z = R- (xy). Отношение R удовлетворяет многозначной зависимости X→→Y, для любых двух кортежей t и s из R для которых t[x]= s[x], в R существуют кортежи U и V, для которых выполнены условия :
-
U[x] = V[x] = t[x] = s[x]
-
U[y] = t[y]
U[R-x-y] = s[R-x-y], R-x-y = z
-
V[y] = s[y]
V[R-x-] = t[R-x-y]
Обозначение t[x] интерпретируется, как значение атрибута x в кортеже t.Это определение можно использовать для ответа на вопрос: существует ли в отношении зависимость x→→y.
Пример:
Дано отношение
|
X |
Y |
Z |
Назначение |
Рейс |
День недели |
Тип самолета |
t |
106 |
Пн |
747 |
V |
106 |
Чт |
747 |
s |
106 |
Чт |
1011 |
|
204 |
Ср |
707 |
|
204 |
Ср |
727 |
Нужно определить есть ли Рейс→→День недели. Обозначим 1-й кортеж через t, тогда t[x]= 106. В качестве s – возьмем 3-ий кортеж т.к. s[x] = t[x] = 106.Теперь запишем условия:
U[x] =V[x] = t[x] =s[x] =106
U[y] =t[y] = Пн
U[z] =s[z] =1011
V[y] =s[y] =Чт
V[z] =t[z] =747
Теперь определяем состав кортежей U и V.
U: <106, Пн, 1011>
V: <106, Чт, 747>
Кортежа U в отношении нет. Значит не существует многозначной зависимости Рейс→→День недели.
Из приведенного определения MV-зависимости выводиться так же следствие 1:
Пусть R(x,y,z) – схема отношения R. x,y,z – подмножества из R, такие, что: Z=R-(xy). Отношение R удовлетворяет MV-зависимости X→→Y тогда и только тогда, когда R без потерь разделяется на отношения со схемами R1(x,y) и R2(x,z).
Пример:
Дано отношение R
|
X |
Y |
Z |
Назначение |
Рейс |
День недели |
Тип самолета |
|
106 |
Пн |
747 |
|
106 |
Чт |
747 |
|
106 |
Пн |
1011 |
|
106 |
Чт |
1011 |
|
204 |
Ср |
707 |
|
204 |
Ср |
727 |
Определим: существует ли MV-связь Рейс→→ недели.
Разложим его на отношения:
R1
-
Рейс
День недели
106
Пн
106
Чт
204
Ср
R2
-
Рейс
Тип самолета
106
747
106
1011
204
707
204
727
Если R раскладываются без потерь, то это значит, что существует естественное соединение:
R=R1[рейс=рейс]R2
Рейс |
День недели |
Тип самолета |
t 106 |
Пн |
747 |
U 106 |
Пн |
1011 |
V 106 |
Чт |
747 |
s 106 |
Чт |
1011 |
204 |
Ср |
707 |
204 |
Ср |
727 |
Отношение R получено путем естественного соединения отношений R1 и R2. Обратите внимание на то, что здесь появился кортеж U.
Сформулируем еще одно свойство отношения с MV- зависимостью (Следствие 2).
Если R-отношение со схемой R(x, y, z) удовлетворяет MV-зависимость X→→Y и Z = R-(xy), то R удовлетворяет X→→Y.
В нашем примере существует MV-связь.
Рейс→→День недели, а по сформулированному свойству и Рейс→→Тип самолета.