Слайд 1Базы данных
Операции реляционной алгебры
Слайд 2Операции реляционной алгебры
Язык SQL основан на операциях реляционной алгебры (РА).
Операции
РА применяются к отношениям и в результате применения операций РА
получаются отношения (таблицы).
Различают унарные и бинарные операции РА: унарные применяются к одному отношению (таблице), бинарные – к двум.
Существует пять основных операций РА:
селекция;
проекция;
декартово произведение;
объединение;
разность;
и три вспомогательных операции РА, которые могут быть выражены через основные:
пересечение;
соединение;
деление.
Слайд 3Унарные операции реляционной алгебры
Проекция (project).
Это унарная операция (выполняемая над
одним отношением), служащая для выбора подмножества атрибутов из отношения R.
Она уменьшает арность отношения и может уменьшить мощность отношения за счёт исключения одинаковых кортежей.
Слайд 4Унарные операции реляционной алгебры
Селекция (select).
Это унарная операция, результатом которой
является подмножество кортежей исходного отношения, соответствующих условиям, которые накладываются на
значения определённых атрибутов.
Слайд 5Бинарные операции реляционной алгебры
Бинарные операции РА:
разносхемные – применяются к любым
двум отношениям.
односхемные – применяются к односхемным отношениям. Исходные отношения должны
иметь одинаковое количество столбцов одинаковых (или сравнимых) типов. Сравнимыми считаются типы, относящиеся к одному и тому же семейству данных (в таблице полужирным шрифтом выделены базовые типы).
Семейства типов данных Oracle:
Слайд 6Разносхемная основная операция РА
Декартово произведение (cartesian product).
Это бинарная операция
над разносхемными отношениями, соответствующая определению декартова произведения для РМД: в
результате получается отношение, схема которого включает все атрибуты исходных отношений. Результирующее отношение содержит все возможные комбинации кортежей исходных отношений.
Слайд 7Бинарные односхемные операции РА
Объединение (union).
Объединением двух односхемных отношений R и
S называется отношение T = R U S, которое включает в себя все кортежи
исходных отношений без повторов.
Слайд 8Бинарные односхемные операции РА
Разность (except).
Разностью односхемных отношений R и
S называется множество кортежей R, не входящих в S.
Слайд 9Бинарные односхемные операции РА
Пересечение (intersect).
Пересечение двух односхемных отношений R
и S есть подмножество кортежей, принадлежащих обоим отношениям.
Это можно
выразить через разность:
R ∩ S = R – (R – S).
Слайд 10Разносхемные операции РА: соединение
Соединение (join).
Эта операция определяет подмножество декартова
произведения двух разносхемных отношений. Кортеж декартова произведения входит в результирующее
отношение, если для атрибутов разных исходных отношений выполняется некоторое условие F. Соединение может быть выражено так:
R S = σF (R × S)
F
Если условием является равенство значений двух атрибутов исходных отношений, такая операция называется эквисоединением. Естественным называется эквисоединение по одинаковым атрибутам исходных отношений.
Слайд 11Операция деления
Деление (division).
Пусть отношение R содержит атрибуты {r1,r2,...,rk, rk+1,...,rn}, а
отношение S – атрибуты {rk+1,...,rn}. Тогда результирующее отношение содержит атрибуты
{r1,r2,...,rk}. Кортеж отношения R включается в результирующее отношение, если его декартово произведение с отношением S входит в R.
Деление может быть выражено так:
R / S = πr1,…,rk (R) – πr1,…,rk ((πr1,…,rk (R) × S) – R).