Теоретико-множественные операции

(ОПЕРАЦИИ ИЗ ТЕОРИИ МНОЖЕСТВ)

Пусть А, В – отношения с эквивалентной схемой (множества кортежей с одинаковым набором атрибутов),
a1...ak - кортежи отношения A
b1...bk - кортежи отношения B

а) объединение - отношение со схемой, эквивалентной А и B, включающее все различные кортежи из A и B (объединение множеств кортежей A и B).

б) разность - отношение со схемой, эквивалентной А и B, включающее все кортежи из A, которые отсутствуют в B (разность множеств кортежей A и B)

в) пересечение - отношение со схемой, эквивалентной А и B, включающее только совпадающие в A и B кортежи (пересечение множеств A и B)

г) произведение (А, В – отношения, схемы которых не имеют одинаковых атрибутов.) - новое отношение со схемой, включающей все атрибуты схем A и B, и множеством кортежей, полученным комбинаторной подстановкой кортежей из A и B: для каждой пары кортежей и произведение содержит кортеж (декартово произведение A и B).

Если схемы A и B содержат одинаковые атрибуты, то перед произведением выполняется операция переименования (см. ниже) таким образом, чтобы схемы содержали разноименные атрибуты, после чего выполняется операция произведения, как указано выше.

СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ ОПЕРАЦИИ

(ОПЕРАЦИИ ОБРАБОТКИ ДАННЫХ)

а) выборка (селекция) - отношение со схемой, эквивалентной схеме R, включающее только те кортежи из R, для которых логическое выражение f является истинным.
Выражение f – синтаксически верное выражение, включающее:
- круглые скобки для группировки операндов;
- логические связки AND, OR, NOT;
- операторы сравнения
- константы

проекция - отношение со схемой, включающей только атрибуты A1...AN из схемы R, то есть - это отношение R, в котором удалены все атрибуты, кроме A1...AN. При отсутствии списка атрибутов, считается, что проекция выполнена на все атрибуты.

в) соединение - выборка по f из декартова произведения A на B
Если f имеет произвольный вид, соединение называется Q – соединением.
Если f имеет вид Z=X (где Z, X – простые или составные атрибуты одинаковой структуры, а равенство, в случае составных атрибутов, понимается как поэлементное), то соединение называется эквисоединением.

Если схемы отношений A и B имеют один общий атрибут (простой или составной), по нему выполнено эквисоединение, и в результирующую часть необходимо включить только одну копию данного атрибута, то данная операция называется естественным соединением

г) деление
Пусть схема A включает простые или составные атрибуты A1 и A2 , а схема B - атрибут B1=A2.

Деление - отношение со схемой, включающей только атрибут A1, и телом, содержащим такие значения ai из A1 , что для любого значения bj из B1 в отношении А есть кортеж вида ai bj.

Другими словами, операция деления есть практически (но не в строгом смысле) обратная к операции произведения, и корректность выполнения деления можно проверить умножением результата на делитель.

ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ

а) переименованиие
RENAME <исходное отношение> <старое имя атрибута1> AS <новое имя атрибута1>, ... , <старое имя атрибутаN> AS <новое имя атрибутаN>
Изменение имени атрибута, что необходимо при выполнении некоторых операций, требованием которых является различие в именах атрибутов операндов – отношений.

б) расширение
EXTEND <отношение> ADD <выражение1> AS <имя1>, ... , <выражениеK> AS <имяK>
Добавление атрибута, вычисляемого с помощью <выражения>, под именем <имя>. Помимо арифметических операций и операций сравнения могут быть использованы также итоговые функции (к списку скалярных значений):
COUNT() – количество
SUM() – сумма
AVG() – среднее
MAX() - максимальное
MIN() – минимальное

Пример: Для отношения Студент, схема которого содержит атрибуты F, I, O (фамилия, имя, отчество) и значения его среднего рейтинга в соответствии с двумя различными системам расчета можно сформировать новое отношение, схема которого включает все атрибуты исходной схемы и два новых атрибута : FIO, значением которого является строка с фамилией, именем и отчеством студента, и MR - его минимальный рейтинг по двум системам расчета.
EXTEND STUDENT ADD MIN(R1, R2) AS MR, F+I+O AS FIO

в) подведение итогов
SUMMARIZE <отношение> BY <список атрибутов> ADD <выражение1> AS <имя1>, ... , <выражение1> AS <имя1>
Групповые вычисления. Аналогично EXTEND выполняется расчет значения и добавление нового атрибута под именем <имя>, но предварительно выполняется проецирование на атрибуты, указанные в <список атрибутов>. При проецировании множество кортежей исходного отношения разобьется на группы одинаковых строк отношения – проекции. Для каждой такой группы и выполняется расчет <выражение>. Так как <выражение> применяется к группе, оно должно быть обязательно итоговой функцией от атрибута или скалярного выражения, применяемой уже не к списку скалярных значений, а к столбцу значений в одной такой группе:



Наши рекомендации