ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

       

Деление


Определение 11. Пусть даны отношения

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

Отношение

выступает в роли делимого, отношение
выступает в роли делителя. Деление отношений аналогично делению чисел с остатком.

Синтаксис операции деления:

Замечание. Типичные запросы, реализуемые с помощью операции деления, обычно в своей формулировке имеют слово "все" - "какие поставщики поставляют все детали?".

Пример 11. В примере с поставщиками, деталями и поставками ответим на вопрос, "какие поставщики поставляют все детали?".

В качестве делимого возьмем проекцию

, содержащую номера поставщиков и номера поставляемых ими деталей:

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

PNUM

Номер детали

DNUM



1 1
1 2
1 3
2 1
2 2
3 1

Таблица 21 Проекция X=PD[PNUM,DNUM]

В качестве делителя возьмем проекцию

, содержащую список номеров всех деталей (не обязательно поставляемых кем-либо):

Номер детали

DNUM

1
2
3

Таблица 22 Проекция Y=D[DNUM]

Деление

дает список номеров поставщиков, поставляющих все детали:

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

PNUM

1

Таблица 23 Отношение X DEVIDEBY Y

Оказалось, что только поставщик с номером 1 поставляет все детали.



Содержание раздела