Свойство сохранения функциональных зависимостей

Свойство декомпозиции сохранять зависимости из исходного множества F состоит в том, что при восстановлении схемы отношения R из декомпозиционных подсхем все зависимости, объявленные в F, должны автоматически выполняться и в восстановленной схеме R. Определим это свойство формально.

Проекцией множества функциональных зависимостей F на множество атрибутов Z Í U, обозначаемое как pZ (F), называется такое множество зависимостей (X ® Y) Î F+, для которых XY Í Z.

Например, для U = ABC и F = {A ® B, B ® C} проекция pAB (F) = {A ® B}, а pAС(F) = {A ® С}. Легко видеть, что зависимость (A ® C) Ï F, но следует из F по аксиоме транзитивности из зависимостей A ® B и B ® C. Следовательно, (A ® C) Î F+.


Декомпозиция r = {R1, R2,..., Rk} схемы отношения R сохраняет множество функциональных зависимостей F, определенное на R, если из объединения всех зависимостей, принадлежащих проекциям F на декомпозиционные подсхемы Ri, i = 1,2,..., k, логически следуют все зависимости из F.

Тогда

k k

(È pRi(F))+ = F+, т.е. имеет место эквивалентность множеств: (È pRi(F)) º F.

i=1 i=1

Пример 27 [6]. Пусть R = ABC и F = {A ® B, B ® C}.

Случай 1. Декомпозиция r = {AB, BC} схемы отношения R сохраняет зависимости из F, так как F1 = pAB (F) = {A ® B}, F2 = pBC (F) = {B ® C} и (F1 ÈF2) = {A ® B,

B ® C} = F, а следовательно, и {A ® B, B ® C}+ = F+.

Случай 2. Декомпозиция r1 = {AB, AC} не сохраняет зависимостей из F, так как F1 = pAB (F) = {A ® B}, F2 = pAС (F) = {A ® C}. Зависимость A ® C выводится из исходного множества F по аксиоме транзитивности. Тогда (F1 ÈF2)+ = {A ® B, A ® C}+ F+. Зависимость B ® C не восстанавливается из объединения проекций.

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

Достаточное условие сохранения декомпозицией функциональных зависимостей состоит в том, чтобы все атрибуты каждой зависимости из F целиком входили в какую-нибудь декомпозиционную подсхему (как в случае 1). Тогда каждая зависимость из F наверняка окажется в проекции F на какую-нибудь декомпозиционную подсхему, а раз так, то все зависимости из F обязательно восстановятся из объединения проекций. Однако это условие не является необходимым, т.е. условие достаточности может быть не выполнено, а декомпозиция при этом сохраняет зависимости. Например, для R = ABC и F = {A ® B, B ® A, A ® C} декомпозиция r = {AB, BC} сохраняет зависимости из F, несмотря на то, что условие достаточности не выполнено. Атрибуты AC зависимости A ® C целиком не входят ни в одну декомпозиционную подсхему, но F1 = pAB (F) = {A ® B, B ® A}, F2 = p (F) = {B ® C} и F1 ÈF2 = {A ® B, B ® A, B ® C}. Зависимость A ® C транзитивно выводится из зависимостей A ® B и B ® C. Поэтому (F1 ÈF2)+ = F+.

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

Например, зависимость A ® B будет применима к декомпозиционным подсхемам AB, AB C, AB CD, D A HR B и так далее.

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

§ Способ 1 использует алгоритм синтеза множества зависимостей, входящих в проекции pRi(F), где i = 1,2,...,k.

§ Способ 2 основан на простых рассуждениях, использующих понятия расширенного множества зависимостей и условия достаточности.

Рассмотрим эти способы.

Способ 1 подробно изложен в работах[3], [6]. Способ 2, по мнению авторов, проще. Поэтому ограничимся рассмотрением именно этого способа.

Пример 28 [6]. Пусть R = ABCDEM и F = {A ® B, CD ® A, CB ® D, AE ® M, CE ® D}. Рассмотрим декомпозицию r = {R1, R2}, где R1 = AEM и R2 = ABCDE. На основе простых рассуждений выясним, обладает ли заданная декомпозиция r свойством сохранения функциональных зависимостей на заданном множестве атрибутов

U = ABCDEM. Попробуем получить ответ на этот вопрос, используя только свойство достаточности.

Строим таблицу из двух столбцов. В один столбец будем записывать функциональные зависимости из F, которые точно восстанавливаются из объединения проекций по условию достаточности, а в другой – остальные, которые необходимо дополнительно исследовать. Очевидно, точно восстанавливаются те зависимости, которые по условию достаточности применимы к какой-либо декомпозиционной подсхеме:

Восстанавливаются Остальные

A ® B (применима к __

подсхеме R2 = ABCDE)

CD ® A (применима к ABCDE)

CB ® D (применима к ABCDE)

CE ® D (применима к ABCDE)

AE ® M (применима к AEM)

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

Если в столбце “Остальные” останутся зависимости, то они требуют дополнительного исследования. Какого? Рассмотрим примеры.

Пример 29. Пусть R = ABCDEKX и

F = {A ® BC, A ® D, C ® B, D ® EK, AD ® X, X ® AK, E ® K, A ® K}.

Рассмотрим декомпозицию r = {ADEX, EKC, ACEK, DEBC} схемы R.

Пытаемся ограничиться только свойством достаточности. Строим таблицу:

Восстанавливаются Остальные

A ® C (применима к ACEK) A ® B

A ® D (применима к ADEX) D ® K

C ® B (применима к DEBC) X ® K

D ® E (применима к DEBC)

AD ® X (применима к ADEX)

X ® A (применима к ADEX)

E ® K (применима к EKC)

A ® K (применима к ACEK)

Теперь попытаемся вывести остальные зависимости из тех зависимостей, которые восстанавливаются. Так, зависимость A ® B выводится транзитивно из зависимостей

A ® C и C ® B, зависимость D ® K аналогично выводится из зависимостей D ® E и E ® K, зависимость X ® K – из зависимостей X ® A и A ® K. Таким образом, все зависимости из F восстанавливаются и свойство сохранения функциональных зависимостей для заданной декомпозиции выполняется. Однако так просто бывает не всегда. Иногда свойство достаточности дает отрицательный результат, а на самом деле свойство сохранения зависимостей выполняется. В этом случае предлагается получить дополнительные, выводимые из F зависимости, которые дадут возможность опять воспользоваться свойством достаточности. Эти дополнительные зависимости можно получить из расширенного множества F- зависимостей.

Пример 30. Пусть R = ABC и F = {A ® B, B ® A, A ® C}.

Рассмотрим декомпозицию r = {AB, BC} схемы R. Воспользуемся только что предложенной процедурой. Для этого строим таблицу:

Восстанавливаются Остальные

A ® B (применима к AB) A ® C

B ® A (применима к AB)

Из таблицы видно, что зависимость A ® C неприменима ни к подсхеме AB, ни к подсхеме BC. Поэтому она требует дополнительного исследования, которое может заключаться в следующем. Из левого столбца таблицы видно, что A функционально определяет B. Попробуем найти дополнительную зависимость, в которой B может функционально определять C (поскольку C является правой частью исследуемой зависимости)? Для этого строим расширенное множество F- зависимостей:

= {A ® BC, B ® AC, A ® CB}.

Поскольку расширенное множество содержат все F-зависимости и выводимые из F зависимости, то в качестве дополнительной зависимости можно использовать B ® C, которая получается из зависимости B ® AC по правилу декомпозиции ее правой части и которая применима к декомпозиционной подсхеме BC.

Добавляем полученную дополнительную зависимость в таблицу:

Восстанавливаются Остальные

A ® B (применима к AB) A ® C

B ® A (применима к AB)

B ® C (применима к BC)

Теперь зависимость A ® C транзитивно выводится из зависимостей A ® B и B ® C, поэтому свойство сохранения зависимостей для рассматриваемой декомпозиции выполняется.

Пример 31. Пусть R = ABCDEKMNLX и F = {A ® CD, C ® KML, A ® BD, D ® XNC, X ® D, K ® L, LB ® E}. Рассмотрим декомпозицию r = {ABCDE, DX, XE, CKMNL, KM}. Выясним, обладает ли заданная декомпозиция r свойством сохранения функциональных зависимостей на заданном множестве атрибутов U = ABCDEKMNLX.

Строим таблицу:

Восстанавливаются Остальные

A ® CD (применима к ABCDE) D ® N

A ® BD (применима к ABCDE) LB ® E

D ® C (применима к ABCDE)

C ® KML (применима к CKMNL)

K ® L (применима CKMNL)

D ® X (применима к DX)

X ® D (применима к DX)

Две зависимости в столбце “Остальные” требуют дополнительного исследования. Используя аксиомы и правила вывода функциональных зависимостей (раздел 1.3), а также факт выводимости зависимости (теорема 1 из раздела 1.4), нетрудно выяснить, что зависимости D ® N и LB ® E не выводятся из восстанавливаемых зависимостей.

Попробуем воспользоваться расширенным множеством зависимостей.

= {A ® CDKMLBXNE, C ® KML, A ® CDKMLBXNE, D ® XNCKML, X ® DNCKML, K ® L, LB ® E}.

Исследуя множество , приходим к выводу об отсутствии нужной дополнительной зависимости, которая позволила бы вывести зависимость LB ® E. А, если такая зависимость и нашлась бы, то она была бы неприменима ни к одной декомпозиционной подсхеме. Таким образом, делаем вывод о невыполнимости свойства сохранения функциональных зависимостей для заданной декомпозиции.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: