Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД.doc
Скачиваний:
34
Добавлен:
23.09.2019
Размер:
1.93 Mб
Скачать

Аксиомы вывода

Для отношения r(R) в любой момент существует некоторое семейство ФЗ, которому оно удовлетворяет, причем, одно его состояние может удовлетворять данной ФЗ, другое – нет. Требуется выявить семейство ФЗ F, которому удовлетворяют все допустимые состояния r, то есть будем считать семейство F заданным на схеме R.

Множество ФЗ, применимых к r(R), конечно, поэтому можно найти все ФЗ, которым удовлетворяет r (например, применяя алгоритм, рассмотренный ранее). Но это достаточно долгий процесс. Иногда оказывается возможным по некоторому множеству ФЗ определить другие ФЗ.

Определение. Будем говорить, что множество ФЗ F влечет ФЗ X Y (F |= XY), если каждое отношение, удовлетворяющее всем зависимостям из F, удовлетворяет и X Y.

Аксиома вывода – правило, устанавливающее, что если отношение удовлетворяет какой-то ФЗ, то оно удовлетворяет и некоторой другой ФЗ. Рассмотрим следующее множество аксиом.

F1. Рефлексивность

X X

F2. Пополнение (расширение левой части)

(X Y) (XZ Y)

П

r (A B C D)

a1

b1

c1

d1

a2

b2

c1

d1

a1

b1

c1

d2

a3

b3

c2

d3

ример

Здесь (A B) { ABB, ACB, ADB, ABCB, ABDB }

Конец примера

F3. Аддитивность

Позволяет объединить две ФЗ с одинаковыми левыми частями.

(XY, XZ) (XYZ)

Пример

Для предыдущего отношения: (AB, AC) (ABC)

Конец примера

F4. Проективность

В некоторой степени обратная F3.

(XYZ) (XY)

F5. Транзитивность

(XY, YZ) (XZ)

П

r (A B C D)

a1

b1

c2

d1

a2

b2

c1

d2

a3

b1

c2

d1

a4

b1

c2

d3

ример

Здесь (AB, BC) (AC)

Конец примера

F6. Псевдотранзитивность

(XY, YZW) (XZW)

На самом деле, эта система избыточна. Например, F6 F5 (для Z=), (F1, F2, F3, F5) F6. Но она полна, то есть любая ФЗ, которая следует из F, может быть получена применением F1-F6.

Можно доказать [14], что {F1, F2, F6} – полное подмножество аксиом: (F1, F2, F6) F3, (F1, F2, F6) F4, F6 F5. Например, докажем F4. Пусть XYZ, тогда из (F1): YY и (F2): YZY. По (F6): XY. Утверждение доказано.

Подмножество независимых аксиом {F1, F2, F6} носит название аксиом Армстронга.

Определение. Пусть F – множество ФЗ для r(R). Замыкание F (обозначается F+) – это наименьшее множество, содержащее F, и такое, что при применении к нему аксиом Армстронга нельзя получить ни одной ФЗ, не принадлежащей F.

Определение. Два множества ФЗ F и G над одной и той же схемой называются эквивалентными, если F+ = G+, и обозначается это так: F G.

Если F |= XY, то либо XYF, либо её можно получить путём последовательного применения аксиом вывода к F. Эта последовательность аксиом называется выводом XY из F.

Определение. Последовательность P функциональных зависимостей называется последовательностью вывода на F, если каждая ФЗ из P либо принадлежит F, либо следует из предыдущих ФЗ в P после применения к ним одной из аксиом вывода.

Пример

F = {ABE, AGJ, BEI, EG, GIH}. Последовательность вывода определяется неоднозначно, например для ABGH она может выглядеть так (справа указана аксиома и предыдущий шаг, на котором выведена требуемая ФЗ):

1. ABE;

2. ABAB (F1: 1);

3. ABB (F4: 2);

4. ABBE (F3: 1, 2);

5. BEI;

6. ABI (F5: 4, 5);

7. EG;

8. ABG (F5:1, 7);

9. ABGI (F3: 6,8);

10. GIH;

11. ABH (F5: 9, 10);

12. ABGH (F3: 8, 11).

Очевидно, что эта последовательность будет, в частности, последовательностью вывода для других ФЗ, например, ABGI.

Конец примера

Определение. Используемое множество в последовательности вывода P – множество ФЗ изF, принадлежащее P.

B-аксиомы и RAP-последовательности вывода

Кроме аксиом Армстронга, часто рассматривается другая полная система аксиом, которая называется B-аксиомами.

B1. Рефлексивность (Reflexivity)

XX

B2. Накопление (Accumulation)

(XYZ, ZCW)  (XYZC)

B3. Проективность (Projectivity)

(XYZ)  (XY)

Пример

Пусть F – такое же множество ФЗ, как в предыдущем примере. Приведём последовательность вывода для ABGH, использующую только B-аксиомы:

1. EIEI (B1);

2. EG;

3. EIEGI (B2);

4. EIGI (B3);

5. GIH;

6. EIGHI (B2);

7. EIGH (B3);

8. ABAB (B1);

9. ABE;

10. ABABE (B2);

11. BEI;

12. ABABEI (B2);

13. ABABEGI (B2);

14. ABABEGH (B2);

15. ABGH (B3).

Конец примера

Можно показать [14], что аксиомы Армстронга выводятся из B-аксиом. Из полноты системы аксиом Армстронга следует и полнота системы B-аксиом.

Определение. Последовательность вывода XY из F, полученная при помощи B-аксиом называется RAP-последовательностью (по первым буквам названия B-аксиом), если она удовлетворяет следующим условиям:

  1. первая ФЗ – это XX;

  2. последняя ФЗ – это XY;

  3. каждая ФЗ (за исключением первой и последней) либо принадлежит F, либо имеет вид XZ и получена с помощью аксиомы B2.

Пример

Пусть F – такое же множество ФЗ, как в предыдущем примере. Выпишем RAP-последовательность вывода ABGH из F:

1. ABAB (B1);

2. ABE;

3. ABABE (B2);

4. BEI;

5. ABABEI (B2);

6. EG;

7. ABABEGI (B2);

8. GIH;

9. ABABEGH (B2);

10. ABGH.

Конец примера

Теорема. Пусть F – множество ФЗ. Если существует последовательность вывода из F для XY, то существует RAP-последовательность вывода из F для XY.