Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Горбунов / УП_ОПТ2 / Р8_Проектир.doc
Скачиваний:
41
Добавлен:
16.04.2013
Размер:
654.85 Кб
Скачать
      1. Аксиомы вывода.

«Деяние есть живое единство теории и практики». АРИСТОТЕЛЬ, 384-322гг. до н.э.

Множество функциональных зависимостей, заданных на конечной схеме отношения, всегда конечно. Но оно может быть черезвычайно велико, т.к. общее количество подмножество схемы 2n, гдеn – количество атрибутов. Если известны некоторые F–зависимости семейства Ф, то мы можем вывести из них все остальные. Следовательно, семейство функциональных зависимостей Ф будет не полным, если из него возможен вывод не содержащейся в нем зависимости зависимости XY. Выводимость такой зависимости обозначается как ФXY и принято говорить, что XY является логическим следствием Ф, или что XY следует из Ф.

АКСИОМА ВЫВОДА – правило, устанавливающее, что если отношение удовлетворяет определённым F–зависимостям, то оно должно удовлетворять и другим F–зависимостям. Если мы имеем неполную систему аксиом вывода, то мы можем построить по известным нам функциональным зависимостям Ф, справедливых для конкретной предметной области, полное множество функциональных зависимостей Ф+.Ясно, что именно это семейство должно полностью описать все ограничения на допустимые состояния экземпляров отношений рассматриваемой предметной области. Заметим, что в реальной жизни не всегда ясно, что является первичным: функциональные зависимости или допустимые состояния экземпляров отношений. Особенно сложной можно считать ситуацию с динамической семантикой, когда в различные моменты времени неявно меняется семантика объекта, т.е. возникают новые функциональные связи и отменяются другие. Поэтому пока мы будем считать семантику предметной области статической.

Введем и рассмотрим шесть аксиом вывода для F–зависимостей.

А1. Рефлексивность: XX.

Отношение X(X=x(r(R))) по определению имеет не более одного кортежа, следовательно XXвсегда имеет место в любом r(R).

А2. Пополнение: XY влечет XZY.

Z

XY

ZXY

W

C1

Z1

X1=X2

Y1=Y2

W1

Z1=Z2

X1=X2

Y1=Y2

W1

...

...

...

...

...

...

...

...

...

C2

Z2

X2=X1

Y2=Y1

W2

Z2=Z1

X2=X1

Y2=Y1

W2

...

...

...

...

...

...

...

...

Имеет место расширение левой части F–зависимости. Еслиr(R) удовлетворяет XY, тоY(X=x(r(R))) имеет не более одного кортежа для любого Х-значения х. Если Zявляется любым подмножествомr(R), то для операций выбора справедливоXZ=xz(r(R))  (X=x(r(R)) и следовательно, Y(XZ=xz(r(R)))  Y(X=x(r(R))), т.е. имеет самое большое один кортеж.

А3. Аддитивность: XY и XZ влечет XYZ.

XY

XZ

XYZ

C1

Y1=Y2

X1=X2

Z1=Z2

W1

X1=X2

Y1=Y2

Z1=Z2

W1

...

...

...

...

...

...

...

...

...

C2

Y2=Y1

X2=X1

Z2=Z1

W2

X2=X1

Y2=Y1

Z2=Z1

W2

...

...

...

...

...

...

...

...

Эта аксиома позволяет объединить две F–зависимости, имеющих одинаковые левые части. Если отношение r(R) удовлетворяет XY иXZ, то обе проекции Y(X=x(r(R))) иZ(X=x(r(R))) имеют не более одного кортежа для каждого Х–значения х. Если бы отношение YZ(X=x(r(R))) имело бы более одного кортежа, то это было бы справедливо и для одного из них. Таким образом r(R) удовлетворяетF–зависимостиXYZ.

А4. Проективность: XYZ влечет XY.

XY

XYZ

XZ

C1

X1=X2

Y1=Y2

Z1=Z2

W1

Y1=Y2

X1=X2

Z1=Z2

W1

...

...

...

...

...

...

...

...

...

C2

X2=X1

Y2=Y1

Z2=Z1

W2

Y2=Y1

X2=X1

Z2=Z1

W2

...

...

...

...

...

...

...

...

Эта аксиома в известном смысле обратна аксиоме аддитивности. Если r(R) удовлетворяет XYZ, тоYZ(X=x(r(R)))имеет не более одного кортежа для любого Х–значения х. Так как Y(YZ(X=x(r(R)))) = Y(X=x(r(R))), следовательноr(R) удовлетворяет иXY (а из соображений симметрии и XZ).

А5. Транзитивность: XY и YZ влечет XZ.

XY

YZ

XZ

C1

Y1=Y2

X1=X2

Z1=Z2

W1

Y1=Y2

X1=X2

Z1=Z2

W1

...

...

...

...

...

...

...

...

...

C2

Y2=Y1

X2=X1

Z2=Z1

W2

Y2=Y1

X2=X1

Z2=Z1

W2

...

...

...

...

...

...

...

...

...

Эта и следующая акксиомы наиболее мощные в системе аксиом вывода. Пусть r(R) удовлетворяетXY иYZ. Рассмотрим два кортежа с1 и с2 вr(R). Если с1(Х) = с2(Х), то из этого следует что с1(Y) = c2(Y). Последнее условие обеспечивает выполнение и c1(Z) = c2(Z). Из с1(Х) = с2(Х) вытекаетc1(Z) = c2(Z), то r(R) удовлетворяетXZ.

А6. Псевдотранзитивность: XY и YZW влечет XZW.

XY

Z

W

Y

X

Z

W

X

YZW

XZW

C1

X1=X2

Y1=Y2

Z1=Z2

W1=W2

Y1=Y2

X1=X2

Z1=Z2

W1=W2

...

...

...

...

...

...

...

...

...

C2

X2=X1

Y2=Y1

Z2=Z1

W2=W1

Y2=Y1

X2=X1

Z2=Z1

W2=W1

...

...

...

...

...

...

...

...

Пусть r(R) удовлетворяетXY иYZW. Рассмотрим два кортежа с1 и с2 вr(R). Если с1(Х) = с2(Х), то из этого следует что с1(Y) = c2(Y). Аналогично, если с1(YZ) = с2(YZ), то из этого следует что с1(W) = c2(W). Из с1(ХZ) = с2(ХZ) следует что с1(X) = c2(X). Последнее условие обеспечивает выполнение и c1(Z) = c2(Z). Значит мы имеем с1(Y) = с2(Y) и с1(YZ)=c2(YZ) из чего и вытекаетc1(W) = c2(W), или что r(R) удовлетворяетXZW.

Соседние файлы в папке УП_ОПТ2