Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD шпорки.doc
Скачиваний:
112
Добавлен:
17.06.2021
Размер:
4.62 Mб
Скачать
  1. Реляционная операция естественного соединения и ее свойства

Пусть даны сущность S с заголовком {A1, … An, B1,…, Bm} и сущность R с заголовком {B1,…,Bm,C1,…,Cp} при этом заголовки содержат общие атрибуты B1,…,Bm, тогда естественным соединением сущности S и R называется сущность с заголовком {A1, … An, B1,…, Bm,C1,…,Cp} и телом, содержащее множество кортежей вида: {a1, … an, b1,…, bm,c1,…,cp}, таких, для каждого из которых имеет место (a1,…an,b1,…,bm) принадлежащих S и (b1,…bm,c1,…,cp) принадлежащих R

Естественное соединение важно, для него существует спец. Синтаксис: S JOIN R

Замечание

  1. В синтаксисе естественного соединения не указывается по каким атрибутам производится соединение. это объясняется тем, что соединение проводится по всем одинаковым атрибутам.

  2. Естественное соединение эквивалентно последовательности операций:

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

  2. Выполнить декартово произведение сущности

  3. Выполнить операцию селекции по совпадающим значениям атрибутов, имевших в начале одинаковые имена

  4. Выполнить операцию проекции ,удаляя повторяющиеся атрибуты(с учетом того, что было выполнено переименование)

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

  1. Естественное соединение, как и соединение общего вида ,обладает свойством ассоциативности, т.е (S JOIN R)JOIN T = S JOIN (R JOIN T). Поэтому такие соединения можно записывать опуская скобки S JOIN R JOIN T

  2. Если заголовки сущностей S и R не имеют общих атрибутов, то операция S JOIN R вырождается в операцию S TIMES R

Если сущность S и R относятся к одному и тому же типу, т.е имеют одинаковые заголовки , то операции S JOIN R вырождаются в S INTERSECT R

Поставка

Код поставщика

Номер детали

1

1

1

2

1

3

2

1

2

2

3

1


Поставщик

Код поставщика

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

1

МП Темп

2

ИП Орион

3

ГП Калибр

ПРИМЕР
Необходимо получить естественное соединение сущностей поставщик и поставка

Поставщик JOIN Поставка

Код поставщика

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

Номер детали

1

МП Темп

1

1

МП Темп

2

1

МП Темп

3

2

ИП Орион

1

2

ИП Орион

2

3

ГП Калибр

1

  1. Реляционная операция деления

Операция деления.

Пусть даны сущность S с заголовком {A1, … An, B1,…, Bm} и сущность R с заголовком {B1,…,Bm,C1,…,Cp} при этом заголовки содержат одинаковые атрибуты B1,…, Bm, тогда делением сущностей S на R называется сущность с заголовком {A1, … An} и телом (a1,…,an), таких, что для любого кортежа (b1,…,bm) принадлежащего R ,существует кортеж (a1,…,an, b1,…,bm) принадлежащий S. Сущность S в роли делимого, а R – делитель. Деление сущностей похоже на деление целых чисел с отбрасыванием остатка. Синтаксис S DIVEDEBY R

Замечание

Типичные задачи, решаемые с помощью операции деления, обычно содержат в своей формулировке слово “все”(например, какие поставщики поставляют все детали для изготовление изделия)

Если необходимо узнать не коды, а имена ,то следует выполнить операцию: ((Поставка DEVIDEBY Изделие) JOIN Поставщик)[имя поставщика]

Соседние файлы в предмете Базы данных