Оформить и купить диплом на бланке ГОЗНАК без предоплаты

Проверка декомпозиции

Результат декомпозиции универсального отношения проверяют на свойство "соединение без потерь". Пусть универсальное отношение, имеющее схему R=(A1, A2, ...,An), разложено на k отношений со схемами (R1, R2, ... ,Rk), использующих множество F функциональных зависимостей. Алгоритм проверки на свойство "соединение без потерь" заключается в следующем.

Строится таблица с n столбцами и  k строками, причем j-й столбец сопоставляется j-му атрибуту Aj , а i-я строка i-й схеме отношения Ri . На пересечении i-й строки и j-го столбца записывается символ  aj , если атрибут Aj входит в схему отношения Ri ; в противном случае записывается символ bij . После составления таблицы перебираем поочередно функциональные зависимости X -> Y из множества F . В таблице выделяем столбцы  с атрибутами из агрегата  X и проходим по строкам. В случае обнаружения одинаковых в пределах агрегата X строк преобразуем столбцы из агрегата Y по следующему правилу: если в столбцах из агрегата Y один из символов aj , то и другие делаем равными aj; если же ни один из символов не равен aj ,  то другие символы делаем одинаковыми, а именно равными одному из bij .

Если после преобразований образуется хотя бы одна строка только из aj , то свойство соединения без потерь присутствует.

Пример. Пусть исходное отношение R=(A, B, C, D, E) было разложено на пять отношений

R1=(A, D) , R2=(A, B) , R3=(B, E) , R4=(C, D, E) , R5=(A, E)

и было создано множество функциональных зависимостей F:

A -> CB -> CC -> D(D, E) -> C(C, E) -> A.

Создаем исходную таблицу по схемам R:

 

 

 

A

B

C

D

E

1

a1

b12

b13

a4

b15

2

a1

a2

b23

b24

b25

3

b31

a2

b33

b34

a5

4

b41

b42

a3

a4

a5

5

a1

b52

b53

b54

a5

 

 

 

Обрабатываем зависимости A -> C и B -> C:

 

 

A

B

C

D

E

 

A

B

C

D

E

1

a1

b12

b13

a4

b15

 

a1

b12

b13

a4

b15

2

a1

a2

b13

b24

b25

 

a1

a2

b13

b24

b25

3

b31

a2

b33

b34

a5

 

b31

a2

b13

b34

a5

4

b41

b42

a3

a4

a5

 

b41

b42

a3

a4

a5

5

a1

b52

b13

b54

a5

 

a1

b52

b13

b54

a5

 

 

Обрабатываем зависимости C -> D и (D, E) -> C:

 

 

A

B

C

D

E

 

A

B

C

D

E

1

a1

b12

b13

a4

b15

 

a1

b12

b13

a4

b15

2

a1

a2

b13

a4

b25

 

a1

a2

b13

a4

b25

3

b31

a2

b13

a4

a5

 

b31

a2

a3

a4

a5

4

b41

b42

a3

a4

a5

 

b41

b42

a3

a4

a5

5

a1

b52

b13

a4

a5

 

a1

b52

a3

a4

a5

 

 

Обрабатываем зависимость (C, E) -> A:

 

 

A

B

C

D

E

1

a1

b12

b13

a4

b15

2

a1

a2

b13

a4

b25

3

a1

a2

a3

a4

a5

4

a1

b42

a3

a4

a5

5

a1

b52

a3

a4

a5

 

 

Строка 3 состоит только из символов aj, а это означает, что  свойство соединения без потерь имеет место и, следовательно,  декомпозиция отношения была выполнена без ошибок.