Операции реляционной алгебры
Для управления отношениями в реляционной модели используются языки БД. Языки БД подразделяются на процедурные и не процедурные.
Процедурные языки точно указывают системе как манипулировать данными.
Непроцедурные языки позволяют указывать какие нужны данные, а не правила манипулирования ими.
Создатель Э.Кодд предложил в качестве основы реляционных языков – реляционную алгебру (процедурный язык) и реляционное исчисление (непроцедурный язык).
Реляционная алгебра:
УНАРНЫЕ :
-выборка;
-проекция;
БИНАРНЫЕ :
- декартово произведение;
- объединение;
- разность .
И 3 дополнительных:
- соединение;
- пересечение;
- деление.
Выборка (Ограничение)
Операция выборки над отношением R определяет отношение , которое содержит только те картежи исходного отношения, которые удовлетворяют заданному условию (предикату)
R – студент (Нзач, КП, ОЦ)
Rоц > 4.
Проекция
Определяет новое отношение, которое содержит вертикальное подмножество исходного отношения, которое создается извлечением значений указанных атрибутов, используя строки дубликаты.
ФИО |
ТАБ № |
Должность |
|
Иванов |
1 |
Инженер |
|
Петров |
2 |
Инженер |
|
Кот |
3 |
Лаборант |
|
Чипс |
4 |
Техник |
Должность |
Инженер |
Лаборант |
Техник |
Декартово произведение
Выполняется над двумя отношениями R*S, а результат является навое отношение, полученное в результате конкатенации каждого кортежа из R с каждым кортежем в S. Если отношение R имеет m кортежей и n столбцов, а отношение S имеет p кортежей и q столбцов, то результирующее отношение будет содержать (m*p) кортежей и (n+q) столбцов.
Студент |
|
Нзач |
ФИО |
1 |
Иванов |
2 |
Петров |
3 |
Кот |
4 |
Чипс |
m = 4
n = 2
Предмет |
|
НП |
Препод. |
СУБД |
Гусев |
СПО |
Разоренов |
Студент * Предмет |
|||
Нзач |
ФИО |
НП |
Препод. |
1 |
Иванов |
СУБД |
Гусев |
1 |
Иванов |
СПО |
Разоренов |
2 |
Петров |
СУБД |
Гусев |
2 |
Петров |
СПО |
Разоренов |
3 |
Кот |
СУБД |
Гусев |
3 |
Кот |
СПО |
Разоренов |
4 |
Чипс |
СУБД |
Гусев |
4 |
Чипс |
СПО |
Разоренов |
Объединение
Выполняется над двумя отношениями R U S. В результате получается новое отношение конкатенации кортежей из R с кортежами в S.
I + J – максимальное число кортежей (без дублирования).
Отношения R и S должны быть совместимы, т.е. иметь одинаковую структуру.
Разность
Бинарная операция R – S , в результате получается новое отношение, состоящее из тех кортежей отношения R, которые отсутствуют в отношении S. Отношения R и S должны быть совместимы.
Соединение
Производиться от декартово произведения.
Операции разделяются на следующие типы:
1. Тета-соединение (Θ);
2. Соединение по эквивалентности;
3. Естественное соединение ;
4. Внешнее соединение;
5. Полусоединение.
Тета-соединение определяет отношение, которое содержит те кортежи из R*S, которые удовлетворяют предикату F.
F = R.ai Θ S.b, где Θ Є {<, >, =, ≤, ≥, <>}
Степень тета-соединения является суммой степеней операндов R и S.
Отношение по эквивалентности – является частным случаем тета-соединения. В этом случае предикат Θ может содержать только операцию сравнения равенства.
Естественное соединение – по всем общим атрибутам X, причем из результатов исключается по одному общими атрибуту. Степень естественного соединения будет сумма степеней операндов R и S, за минусом количества атрибутов X.
Внешнее соединение - это соединение, при котором кортежи отношения R включены только те, которые не имеют совпадающих значений в общих столбцах отношения.
Полусоединение – определяет отношение, которое содержит все кортежи отношения R, которые входят в соединение отношений R и S. Позволяет сократить число кортежей результирующего отношения.
Пересечение R Ω S = R - ( R – S )
Деление (R÷S)
Результат
– набор кортежей отношения R
определенных на множестве атрибутов C , которое соответствует комбинации всех кортежей отношения S.