Существует формализованный математический аппарат (набор операций), который позволяет формализованно описать манипулирование данными – реляционная алгебра. Она является математическим оператором, реализованным средствами SQL. Реляционная алгебра применима только к реляционным БД, где данные хранятся в виде отношений (была предложена Дж.Коддом (J.Codd)).
Реляционная алгебра – перечень операций, применимых к отношениям, эти операции можно разделить на 2 класса:
- Унарные операции. Операции над одним отношением;
- Бинарные операции. Операции над двумя отношениями;
Реляционная алгебра Кодда включает 8 операций над отношениями:
- 2 унарные: проекция и выборка;
- остальные – бинарные: объединение, пересечение, разность, деление, соединение, декартово произведение.
Кларус Дейт добавил ещё 5 новых операций:
- 3 унарные операции: расширение, обобщение, переименование;
- 2 бинарные операции: полусоединение, полувычитание.
 : при этих операциях у двух отношений заголовки должны быть одинаковыми.
Аспирант (R1)
Табельный номер |
Фамилия Имя Отчество |
Год рождения |
Пол |
14 |
Алексеев Пётр Валерьевич |
1984 |
М |
28 |
Георгадзе Шота Шавлович |
1982 |
М |
29 |
Ахметова Зульфия Равильевна |
1983 |
Ж |
Преподаватель (R2)
Табельный номер |
Фамилия Имя Отчество |
Год рождения |
Пол |
28 |
Георгадзе Шота Шавлович |
1982 |
М |
185 |
Андреев Владислав Николаевич |
1968 |
М |
206 |
Абрамян Софья Борисовна |
1956 |
Ж |
83 |
Ильиченко Владимир Иванович |
1948 |
М |
Объединение (UNION). R = R1 R2 – результирующее отношение содержит все кортежи исходных отношений R 1 и R 2. Каждый кортеж входит в результирующее отношение только один раз. Результат объединения – таблица. Аспиранты и преподаватели = Аспирант Преподаватель.
Разность (DIFFERENCE, MINUS). R = R1 – R2. Итоговый результат – то, что содержится в R1 и не содержится в R2, т.е. Аспиранты, которые не занимаются преподаванием = Аспирант – Преподаватель.
(R)
Табельный номер |
Фамилия Имя Отчество |
Год рождения |
Пол |
14 |
Алексеев Пётр Валерьевич |
1984 |
М |
29 |
Ахметова Зульфия Равильевна |
1983 |
Ж |
Пересечение (INTERSECTION). R = R1 R2 – результирующее отношение содержит только те кортежи, которые имеются в обоих исходных отношениях R1 и R2. Аспиранты, которые преподают = Аспирант Преподаватель.
Графическая реализация:
Правила:
- Исходные отношения должны иметь одинаковую схему (число и порядок полей);
- Если отношения имеют разные схемы, но есть одинаковые поля (есть подмножество идентичных полей), то эти операции (
) применяются к проекциям данных отношений на данные подмножества;
- Если имеются идентичные поля, но у них разные названия, то допустима операция переименования.
Унарные операции – операции над одним отношением:
- Выборка - выделение нужных строк, кортежей;
- Проекция - выделение нужных столбцов, атрибутов.
№ зачётной книжки |
Фамилия И.О. |
Год рождения |
Пол |
1393 |
Иванов А.В. |
1989 |
М |
1862 |
Акопов Э.В. |
1990 |
М |
1864 |
Васильева Е.Ф. |
1986 |
Ж |
2341 |
Савицкий В.Б. |
1988 |
М |
Выборка (селекция, отбор, ограничение) обозначается σC(R). Выделяются только те кортежи, удовлетворяющие данному условию «С» – критерию выборки, фильтру. Условие – сколь угодно сложная логическая операция (выражение), которое включает в себя логические операции «И» и/или «ИЛИ».
Пример: студенты старше 1990 года рождения мужского пола = σгод рождения < 1990 AND Пол = «М».
Студент
№ зачётной книжки |
Фамилия И.О. |
Год рождения |
Пол |
1393 |
Иванов А.В. |
1989 |
М |
2341 |
Савицкий В.Б. |
1988 |
М |
Проекция. a 1, …, a n – атрибуты. Результирующее отношение, содержит только перечисленные поля исходного отношения. Обозначается:  (R).
Пример:  (студент).
Фамилия И.О. |
Пол |
Иванов А.В. |
М |
Акопов Э.В. |
М |
Васильева Е.Ф. |
Ж |
Савицкий В.Б. |
М |
Для чего используется?
- Для того, чтобы дать пользователю ту информацию, которая ему нужна;
- Обеспечивает операции
и над отношениями с разным количеством атрибутов.

Бинарные операции. Декартово произведение и соединение.
Студент
№ зачётной книжки |
Фамилия И.О. |
№ комнаты |
1393 |
Иванов А.В. |
321 |
- |
- |
NULL |
1864 |
Васильева Е.Ф. |
321 |
2341 |
Савицкий В.Б. |
321 |

Комната в общежитии
№ комн. |
Вместимость |
Площадь, м² |
321 |
2 |
12 |
322 |
3 |
18 |
521 |
2 |
12 |
Дисциплина
Шифр |
Название |
Трудоёмкость |
ОПД.Ф.10 |
БД |
136 |
СД.Ф.10 |
ПАСОИУ |
170 |
Предположим, что студенты из одного курса с одной специальности.
Декартово произведение (R1 · R2) – бинарная операция, в которой участвуют 2 отношения. Результирующее отношение (R) состоит из кортежей, каждый из которых представляет собой слияние (сцепление, конкатенацию) кортежа из первого отношения с кортежем из второго отношения. Схема R получается суммированием исходных отношений.
Студент · дисциплина
№ зачётной книжки |
Фамилия И.О. |
№ комнаты |
Шифр |
Название |
Трудоёмкость |
1393 |
Иванов А.В. |
321 |
ОПД.Ф.10 |
БД |
136 |
1393 |
Иванов А.В. |
321 |
СД.Ф.10 |
ПАСОИУ |
170 |
1862 |
Акопов Э.В. |
NULL |
ОПД.Ф.10 |
БД |
136 |
1862 |
Акопов Э.В. |
NULL |
СД.Ф.10 |
ПАСОИУ |
170 |
1864 |
Васильева Е.Ф. |
321 |
ОПД.Ф.10 |
БД |
136 |
1864 |
Васильева Е.Ф. |
321 |
СД.Ф.10 |
ПАСОИУ |
170 |
2341 |
Савицкий В.Б. |
321 |
ОПД.Ф.10 |
БД |
136 |
2341 |
Савицкий В.Б. |
321 |
СД.Ф.10 |
ПАСОИУ |
170 |
Каждому студенту сопоставлены все дисциплины. Итого: 8 шт. кортежей.
№ зачётной книжки |
Название |
1393 |
БД |
1393 |
ПАСОИУ |
1862 |
БД |
1862 |
ПАСОИУ |
1864 |
БД |
1864 |
ПАСОИУ |
2341 |
БД |
2341 |
ПАСОИУ |
Операция декартового произведения не может применяться к отношениям, имеющим одинаковые поля. В этом случае они должны быть предварительно переименованы.
|