Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационные системы базы данных.DOC
Скачиваний:
42
Добавлен:
02.05.2014
Размер:
840 Кб
Скачать
☆
      1. Комбинированный запрос с операторами proj и sel

Рассмотрим комбинированный запрос с операторами PROJ и SEL для БД "Разработчики ПП", приведенной на рис.5.1.

Запрос.

Выбрать ФИО разработчиков со стажем от 12 лет, ГодРождения которых 1960 и позже.

Для ответа на запрос в БД "Разработчики ПП" необходимо использовать РТ "Разработчики". Тогда уравнение ответа можно записать в виде:

R=ProjФИО(sel<(Стаж >=12)and(ГодРожд-я>=1960)> (Разр-ки))

Ответ : R:

ФИО

Крылов Г.

5.7 Оператор "соединение" (join)

Функция: на основе двух реляционных таблиц R1 и R2, имеющих одно или несколько полей идентичных типов, формируется реляционная таблица R, состоящая из записей, каждая из которых является конкатенацией, т.е. соединением в одну тех записей таблиц R1 и R2, у которых совпадают значения полей всех идентичных типов.

Следовательно, соединение может быть реализовано двумя способами:

  • по одному полю;

  • по нескольким полям.

Если у таблиц R1 и R2 типы полей, по которым выполняется соединение, имеют идентичные имена, то соединение называется естественным. В этом случае в результирующей записи общий тип поля помещается лишь один раз. Если имена разные, то в результирующей записи остается каждый тип поля.

Синтаксис: R = R1 join R2.

Пример 1.

Соединить таблицы R1 и R2 с одним общим полем.

R1:

A

B

R2:

C

B

Ответ: R:

A

B

C

d

3

3

a

d

3

a

h

7

3

b

d

3

b

y

4

7

a

h

7

a

9

c

Пример 2.

Соединить таблицы R1 и R2 с двумя общими полями

R1:

A

B

C

R2:

B

C

D

Ответ: R:

A

B

C

D

d

3

a

3

a

c

d

3

a

c

h

7

b

3

a

d

d

3

a

d

y

4

a

4

a

e

y

4

a

e

g

2

c