Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метода к типовому v.3_.doc
Скачиваний:
5
Добавлен:
11.11.2019
Размер:
2.18 Mб
Скачать

3.3Реляционная алгебра

Пример 1. Объединение, пересечение, разность.

Даны отношения R и S с заголовками R(А, В, С), S(А, В, С):

R

A

В

С

1

10

100

2

20

200

3

30

300

S

A

В

С

3

30

300

4

40

400

5

50

500

Решение. Отношения имеют одинаковые заголовки, поэтому над ними можно выполнить указанные операции.

В результат объединения войдут все кортежи обоих отношений, исключая дублирующиеся кортежи.

RS

A

В

С

1

10

100

2

20

200

3

30

300

4

40

400

5

50

500

Следует отметить, что кортеж {(3,30,300)} входит как в отношение R, так и в отношение S, но в результат включается только один раз.

В результат пересечения войдут кортежи, содержащиеся как в отношении R, так и в отношении S. Для отношений R и S такой кортеж один.

RS

3

30

300

В результат разности войдут все кортежи отношения R, которые не входят в отношение S.

R-S

A

В

С

1

10

100

2

20

200

Если необходимо найти разность S-R, то результат будет другим.

S-R

A

В

С

4

40

400

5

50

500

Пример 2. Декартово произведение.

Даны отношения R и S с заголовками R(А, В, С), S(D, E):

R

A

В

С

1

10

100

2

20

200

3

30

300

S

D

E

100

11

200

22

300

33

Решение:

R*S

A

В

С

D

E

1

10

100

100

11

2

20

200

200

22

3

30

300

300

33

1

10

100

300

33

2

20

200

100

11

3

30

300

200

22

1

10

100

200

22

2

20

200

300

33

3

30

300

100

11

Пример 3. Дано отношение R заголовком R(А, В, С):

R

A

В

С

1

10

100

2

20

200

3

30

300

и предикат F: A>1. В результате выполнения ограничения отношения R по условию F получится отношение, содержащее кортежи, со значением в поле A, большем 1:

_(R)

A

В

С

2

20

200

3

30

300

Пример 4. Дано отношение R заголовком R(А, В, С):

R

A

В

С

1

10

100

2

20

200

3

30

300

Необходимо найти проекцию на набор атрибутов X={A,В}. В результате получится отношение, содержащее все значения атрибутов A и В. Следует отметить, что результат не содержит дублирующихся кортежей.

(R)

A

В

1

10

2

20

3

30

Пример 5. Найти соединение отношений R и S из примера 2 по условию А>2.

Для получения результата в отношении R*S, полученном в примере 2, необходимо оставить только те кортежи, которые удовлетворяют условию А>2.

RcompS

A

В

С

D

E

3

30

300

300

33

3

30

300

200

22

3

30

300

100

11

Пример 6. Найти эквисоединение отношений R и S из примера 2 по условию R.С=S.D.

Для получения результата в отношении R*S, полученном в примере 2, необходимо оставить только те кортежи, которые удовлетворяют условию R.С=S.D.

RcompS

A

В

С

D

E

1

10

100

100

11

2

20

200

200

22

3

30

300

300

33

Пример 7. Найти естественное соединение отношений R и S с заголовками R(А, В, С), S(C, E):

R

A

В

С

1

10

100

2

20

200

3

30

300

S

C

E

100

11

200

22

300

33

Сначала необходимо найти их декартово произведение.

R*S

R.A

R.В

R.С

S.C

S.E

1

10

100

100

11

2

20

200

200

22

3

30

300

300

33

1

10

100

300

33

2

20

200

100

11

3

30

300

200

22

1

10

100

200

22

2

20

200

300

33

3

30

300

100

11

Теперь из отношения R*S нужно исключить кортежи, которые не удовлетворяют условию R.С=S.C.

RS

R.A

R.В

R.С

S.C

S.E

1

10

100

100

11

2

20

200

200

22

3

30

300

300

33

И наконец, следует произвести проекцию отношения RS на набор атрибутов {A,В,С,E}.

RcompS

A

В

С

E

1

10

100

11

2

20

200

22

3

30

300

33

Пример 8. Даны отношения R и S с заголовками R(А, В, С), S(C):

R

A

В

С

1

10

100

1

10

200

1

10

300

2

20

200

2

20

300

2

20

100

3

30

300

3

30

200

3

30

200

S

C

100

200

300

Найти деление отношения R на отношение S. В результате получится следующее отношение.

R/S

A

В

1

10

2

20