Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД.docx
Скачиваний:
12
Добавлен:
07.09.2019
Размер:
2 Мб
Скачать
☆

Оператор Проекция.

Проекция отношения А по атрибутам х,у,z…где каждый атрибут принадлежит отношения А называется отношением с заголовком х,у,z и телом содержащим множество картежей вида (х,у,z), таких для которых в отношении А найдутся картежи со значением атрибута Х равного х, У=у и Z=z.

Синтаксис:

А[x,y,z]

Даёт вертикальный срез отношения в котором удалены все возникшие при таком срезе дубликаты картежей.

Пример:

№

Наименование

Город

1

Иванов

Уфа

2

Петров

москва

3

Сидоров

москва

4

Сидоров

Челябинск

А[город поставщика] будет иметь вид:

Город

Уфа

москва

москва

Челябинск

Соединение.

Разновидности:

  1. Общая операция соединения. Соединением отношения А и В по условию с, называется отношением вида ( A TIMES B) where c, где

С-логическое выражение в которое могут входить атрибуты отношения А и В или скалярные выражения.

Операция соединения-это р-т последовательного применения операции декартового произведения и выборки.

  1. Тетта-соединение.Пусть отношение А содержит атрибут х, отношение В содержит атрибут у. А тетта – один из операторов сравнения, тогда тетта соединение отношения А по атрибуту х с отношение В по атрибуту у, называется отношением (А Times B) where x «тетта» у.

Пример:

№

Наименование

Статус

1

Макаров

4

2

Маринкин

1

3

Черкасов

2

Отношение детали:

№

Наименование

Статус

1

Болт

3

2

гайка

2

3

винт

1

Вопрос:какие поставщики имеют право поставлять какие детали?

Ответ: A[x>=y]B.А само отношение будет выглядеть

№поставщика

Наименование Поставщика

Статус поставщика

№детали

Наименование детали

Статус детали

1

макаров

4

1

болт

3

1

макаров

4

2

Гайка

2

1

макаров

4

3

Винт

1

2

маринкин

1

3

Винт

1

3

черкасов

2

2

Гайка

2

3

черкасов

2

3

винт

1

  1. Экви-соединение. Частичный случай тетта-соединиения, поэтому А[x=y]B. Пример: отношение Р

№поставщика

Наименование поставщика

1

Макаров

2

Маринкин

3

черкасов

Отношение D

№ детали

Наименование детали

1

Болт

2

Гайка

3

Винт

Отношение PD

№ поставщика

№ детали

Кол-во

1

1

100

1

2

200

1

3

300

2

1

150

2

2

250

3

1

1000

Какие детали поставляются какими поставщиками записываются в след виде:

P[N-пост=N-пост]

(P rename n-пост as nпост 1)

[N пост 1=n пост 2]

(pdrename nпост as n пост 2)

№ пост

наименование

№ пост 2

№ детали

количество

1

макаров

1

1

100

1

макаров

1

2

200

1

макаров

1

1

300

2

маринкин

2

1

150

2

маринкин

2

2

250

3

Черкасов

3

1

1000

  1. Естественное. Пусть даны отношения А с атрибутами (А1 а2 аn x1 x2 xn) и В(X1 X2 Xn b1 b2 bn)

Естественным отношением А и В называется отношение с заголовком (А1 А2 Аn x1 x2 xn b1 b2 bn

И телом(a1 a2 an x1 x2 xn b1 b2 bn)

(a1 a2 an x1 x2 xn)принадлежит А и (x1 x2 xn b1 b2 bn)принадл В

Аjoin B

Естественное соединение проходит по всем одинаковым полям. Оно эквивалентно след последовательности раляционных операций:

  1. Переименовать одинаковые имена

  2. Выполнить декартовое произведение отношений

  3. Выполнить выборку по совпадающим атрибутам имеющим одинаковые имена

  4. Выполнить проекцию удалив повторяющие атрибуты

  5. Переименовать атрибуты вернув им первоначальные имена

Можно выполнить последовательное естественное соединение нескольких отношений:

(A join B) join C= a join(Bjoin C)=a join B join C

Пример:

P join PD join D

№

Имя поставщика

№ детали

Наименование детали

Кол-во

1

Макаров

1

Болт

100

1

Макаров

2

Гайка

200

1

Макаров

3

Винт

300

2

Маринкин

1

Болт

150

2

Маринкин

2

Гайка

250

3

черкасов

1

болт

1000