Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[конспект] Технологии баз данных [v0.8.1].pdf
Скачиваний:
79
Добавлен:
21.03.2016
Размер:
1.3 Mб
Скачать

Словесно эту формулу можно описать так: результатом выполнения операции деления является отношение R1 R2, которое включает в себя атрибуты отношения R1, отличные от атрибутов отношения R2, и только те кортежи, декартовы произведения которых с телом отношения R2 дают (в объединении) тело отношения R1.

Замечание. Эта операция называется делением потому, что она в некотором смысле обратна операции (декартова) произведения в силу выполнения тождества:

pR1 R2q R2 R1

3.2. Приоритеты операций

Поскольку результатом рассмотренных реляционных операций является некое отношение, можно образовывать реляционные выражения, в которых вместо отношения-операнда некоторой реляционной операции находится вложенное реляционное выражение. Вычислительная интерпретация реляционного выражения диктуется установленными приоритетами операций:

Название операции

Обозначение

Приоритет

 

 

 

Выборка

F

3

Проекция

A

3

Декартово произведение

 

2

Соединения

'F ; '; 'F ; 'F ; 'F

2

Пересечение

X

2

Деление

 

2

Объединение

Y

1

Разность

 

1

 

 

 

Условно можно это записать одной строкой (символ ě интерпретируется как «выше», а — «тот же» или «одинаковый»):

F A ě ' X ě Y :

3.3. Базис алгебры и ства операций

Базис

Базисными операциями алгебры Кодда, через которые выражаются все остальные реляционные операции, являются:

1 Выборка,

2 Проекция,

3 Декартово произведение,

4 Объединение,

5 Разность.

Все остальные реляционные операции можно выразить через базисные, например, следующим образом:

1. Пересечение:

R1 X R2 R1 pR1 R2q;

2. -соединение:

R1 'F R2 F pR1 R2q ;

3. Естественное соединение (при общих атрибутах A HR1 X HR2 ):

R1 ' R2 HR1 YHR2 ŹaPApR1:a R2:aqpR1 R2q ;

20

4.Левое и правое внешние -соединения отношений R1 и R2: пусть — отношение с заголовком HR2 zHR1 (для правого — HR1 zHR2 ) и одним кортежем, заполненным лишь неопределенными

значениями !, тогда

 

R1 'F R2 pR1 'F R2q Y pR1 HR1 pR1 'F R2qq Ω ;

 

R1 'F R2 pR1 'F R2q Y Ω pR2 HR2 pR1 'F R2qq ;

5.

Полное внешнее -соединение:

 

R1 'F R2 pR1 'F R2q Y pR1 'F R2q ;

6.

Деление:

 

R1 R2 ApR1q A ApR1q R2 R1 :

Свойства операций

Дадим несколько определений:

Определение 15. Говорят, что унарный оператор f распределяется по бинарной операции f, если fpA f Bq fpAq f fpBq.

Определение 16. Говорят, что бинарная операция распределяется по бинарной операции f, если

A pB f Cq pA f Bq pA f Cq.

Теперь перечислим другие свойства реляционных операций, используемых при оптимизации запросов:

1. Коммутативность и ассоциативность:

R1 f R2 R2 f R1;

pR1 f R2q f R3 R1 f pR2 f R3q;

где f P tY; X; ; '; 'F ; 'F u и P t ; u:

2. Распределение выборки по операциям:

 

 

FpR1 f R2q FpR1q f FpR2q;

где f P tY; X; u:

 

 

 

 

 

Предположим теперь, что в условии F1 используются только атрибуты отношения R1 (или во-

обще никакие), а в условии F2 используются атрибуты отношения R2, тогда

 

 

 

 

 

 

F1^F2 pR1 f R2q F1 pR1q f F2 pR2q; где f P t ; 'F ; '; ' ; ' ; ' u:

 

 

3. Распределение проекции по операциям:

 

 

 

 

 

 

 

 

 

 

 

ApR1 f R2q ApR1q f ApR2q;

 

где f P tY; X; u:

 

 

 

AF

 

 

 

 

 

 

 

 

 

 

 

 

. Пусть теперь

A A1A2

, где

Рассмотрим некоторый вид соединения с условием F

 

 

1

некоторые атрибуты

отношения R

,

A2

— некоторые атрибуты отношения R

. Пусть

A1

 

и

F

 

1

 

 

 

 

2

 

 

.

 

атрибуты

отношения R

A2

— атрибуты отношения R

, участвующие в условии F

 

 

F

 

 

1 F

 

 

 

 

 

2

 

 

 

 

 

 

 

• Если A1

Ď A1 и A2

Ď A2, тогда

 

 

где f P t'F ; 'F ; 'F ; 'F u:

 

 

 

A1YA2 pR1 f R2q A1 pR1q f A2 pR2q;

 

 

 

• Иначе — общий случай:

 

A1YA1F pR1q f A2YA2F pR2q ; где f P t'F ; 'F ; 'F ; 'F u:

A1YA2 pR1 f R2q A1YA2

4. Идемпотентность:

R f R R; где f P tY; X; 'F ; '; 'F ; 'F ; 'F u:

5. Законы поглощения:

R1 Y pR1 X R2q R1;

R1 X pR1 Y R2q R1:

21