Базы данных - модели, разработка, реализация



         

Специальные операции реляционной алгебры - часть 4


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

Пусть даны два отношения R и Т соответственно со схемами:

SR = (А1, А2, ... , Ak); ST = (В1, В2, ... , Вm);

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

А ? SR ; В ? ST.

Атрибуты А1 - это атрибуты из R, не вошедшие в множество А.

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

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

R[А:В]Т = {r | r ? R[A1] ? Т[В] ? {у | у ? R [А] А (r, у) ? R } }.

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

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

60

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

R 17
Цех
Цех1

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

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

R9 = R7?R8

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




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