Теория баз данных

Дадим теперь определение операции деления.



Дадим теперь определение операции деления. Пусть даны два отношения R и Т соответственно со схемами: SR = (А1, А2, ... , Ak); ST =-(В1, В2, ... , Вm);

А и В — наборы атрибутов этих отношений, одинаковой длины (без повторений);

А
SR ; В
ST. Атрибуты А1 — это атрибуты из R, не вошедшие в множество А.

Пересечение множеств А
А1 =
— пусто и A
А1 = SR. Проекции R[A] и Т[В] совместимы по объединению, то есть имеют эквивалентные схемы: SR|A|~ ST[B|.

Тогда операция деления ставит в соответствие отношениям R и Т отношение

Q = R[A:B]T, кортежи которого являются теми элементами проекции R[A1], для которых Т[В] входит в построенные для них множество образов:

R[A:B]T = {r | r
R[A1] ^ Т[В]
(у | у
R [А] ^ (r, у)
R } }.

Операция деления удобна тогда, когда требуется сравнить некоторое множество характеристик отдельных атрибутов. Например, пусть у нас есть отношение R7, которое содержит номенклатуру всех выпускаемых деталей на нашем предприятии, а в отношении R10 хранятся сведения о том, что и в каких цехах действительно выпускается. Поставим задачу определить перечень цехов, в которых выпускается вся номенклатура деталей.

Тогда решением этой задачи будет операция деления отношения R10 на отношение R7 по набору атрибутов (Шифр детали, Наименование детали).

R17 = R10[Шифр детали, Наименование детали: Шифр детали, Наименование детали] R7

















R 17



Цех



Цех1



Операция деления достаточно сложна для абстрактного представления. Она может быть заменена последовательностью других операций. Действительно, выполним тот же запрос с использованием других операций. Для этого определим последовательность промежуточных запросов, которая приведет нас к конечному результату:

  • Построим отношение, которое моделирует ситуацию, когда в каждом цеху изготавливается вся номенклатура, это уже построенное нами ранее расширенное декартово произведение отношений R7 и R8. Это отношение R9:

    R9 = R7
    R8

  • Теперь найдем перечень того, что из обязательной номенклатуры не выпускается в некоторых цехах

    Содержание  Назад  Вперед