Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
221.91 Кб
Скачать

21. Условия отсутствия потерь при соединениях

 

Из всех возможных разложений схемы должны использоваться только те, которые обладают свойством соединений без потерь. Пусть в схеме R имеется множество функциональных зависимостей. Говорят, что схема R разложима без потерь на отношения R1,R2,Rk, с сохранением функциональной зависимости, если для каждого кортежа r из R может быть rвосстановлен соединением его проекций.

Условия отсутствия потерь при соединении:

Если R1 и R2 являются разложением R, с сокращением функциональных зависимостей – это разложение обеспечивает соединение без потерь с сохранением функциональной зависимости <=> если R1^R2R1-R2 либо R1^R2R2-R1 при многозначной зависимости R1^R2->>R1-R2, либо R1^R2->>R2-R1

Операции пересечения и разности определены над списками атрибутов отношений.

Пример:

Служащие(№,отдел,город)

1 разложение E1(№, отдел) E2(№, город)

2 разложение E3(№, отдел) E4(отдел, город)

1. E1^E2=№ E1-E2=отдел E2-E1=город. №отдел, №город условие удовлетворяет, разложение без потерь.

2. E3^E4=отдел E3-E4=№  E4-E3=город. отдел№, отделгород эти зависимости в исходном разложении не существуют, а исходные функциональные зависимости утеряны, значит это разложение с потерями.

Для разложений более чем из двух отношений можно использовать метод Табло

22. Метод в Табло

 

Дано множество функциональных зависимостей, схема отношения полученная в результате разложения. Процедура состоит в построении таблицы, строками которой являются разложенные отношения, а столбцами – список атрибутов этих отношений без повторений. Таблица заполняется символом aj если элементы строки i в столбце j соответствуют атрибуту Aj отношения Ri в противном случае ставится bij. После построения таблицы следует просмотр всех функциональных зависимостей XY если для атрибутов из X найдутся строки, где в соответствующих местах стоят aj, то элементы bij этих строк соответствующие столбцам атрибутов из Y заменяется на aj. Если в результате появляется строка таблицы, полностью заполненная aj, то это соединение без потерь.

Пример: R(A,B,C,D) Ф.З. AC, BC, CD.

Разложили: R1(A,B) R2(B,D) R3(A,B,C) R4(B,C,D)

 

A

B

C

D

R1

a

a

b

b

R2

b

a

b

A

R3

a

a

a

B

R4

b

a

a

a

AC

 

A

B

C

D

R1

a

a

a

b

R2

b

a

b

A

R3

a

a

a

B

R4

b

a

a

a

BC

 

A

B

C

D

R1

a

a

a

b

R2

b

a

a

A

R3

a

a

a

B

R4

b

a

a

a

CD

 

A

B

C

D

R1

a

a

a

A

R2

b

a

a

A

R3

a

a

a

A

R4

b

a

a

A

Есть строки со всеми a, разложение без потерь.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]