Поскольку отношение представляет собой множество кортежей для реляционной алгебры характерны две группы операций: теоретико-множественные операции и дополнительные специфичные операции РА.
.Теоретико-множественные или булевы операции
Операция объединения. В результате операции объединения получаем новое отношение T, в которое входят строки из обоих исходных отношений R, S.
Операция пересечения. В результате операции пересечения получаем новое отношение T, в которое входят строки, одновременно принадлежащие исходным отношениям R, S.
Операция вычитания. В результате операции вычитания получаем новое отношение T, в которое входят строки только из отношения уменьшаемого R и не входят строки из отношения вычитаемого S.
Для того чтобы над отношениями можно было бы выполнить теоретико-множественные операции необходимо, чтобы они имели одинаковые схемы.
Пусть dom(A) – множество всех кортежей над атрибутами схемы A и их доменами. Дополнением отношения R(A) будем называть разность:
.
Однако, если какой-либо атрибут A1 в R имеет бесконечный домен также будет бесконечно, и не будет отношением в нашем понимании.
Модифицированная версия дополнения, называемая активным дополнением, всегда будет активным дополнением. Если отношение и , то активным дополнением отношения R называется множество:
Пусть adom(A, R) множество всех кортежей над атрибутами A и их активными доменами отношения R. Активным дополнением R является:
Заметим, что всегда отношение. В первом случае используются все возможные значения атрибута, во втором – только из отношения.
Пусть
.Специфические операции РА.
Выборка или ограничение.- операция выборки работает с одним отношением R и определяет результирующее отношение, которое содержит только те кортежи R, которые удовлетворяют заданному условию p (предикату).
Операция декартова произведения. Операция декартового произведения определяет новое отношение, которое является результатом сцепления (конкатенации)мкаждого кортежа из отношения R с каждым кортежем из отношения S. R*S.
Операции соединения. К операциям соединения относятся:
1. q - соединение (q -join).
2. Соединение по эквивалентности (equal – join).
3. Естественное соединение (natural join).
4. Внешнее соединение (enter join).
5. Попусоединение (semi – join).
q - соединение.
Если предикат p содержит операцию равенства, то соединение называют соединением по эквивалентности.
Естественным соединением называют соединение по всем общим атрибутам x отношений R, S из результатов которого исключаются по одному экземпляру общего атрибута. .
Левым внешним соединением называется соединение, при котором кортежи R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение. Для обозначения отсутствующих значений используем null.
Аналогичным образом можно определить правое внешнее соединение и полное внешнее соединение RÉÌS.
Операция полусоединения определяет отношение, которое содержит те кортежи отношения R, которые входят в соединение отношений R, S.
Здесь A – это набор всех атрибутов в отношении R.
Операция деления. Результатом операции деления является набор кортежей отношения R, определенный на множестве атрибутов C, которые соответствуют комби нации всех кортежей отношения S. Проще всего этот оператор сформулировать на основе других операторов:
Пример реализации запроса в РА. Определить Ф.И.О. студентов и группы, в которых они учатся, имеющих задолженности по курсу «Базы данных».
Определим таблицы, в которых содержится информация, необходимая для реализации запроса.
Predmet
CodPredm
Predm
Таблица Student (Список студентов)
Имя поля
Тип поля
Описание
Ключевое
SGroup
Мастер подстановок
Шифр группы, в которой учится студент
Нет
NZach
Текстовое
Номер зачетки
Да
FIOS
Текстовое
Фамилия студента
Нет
YearEnter
Числовое
Год поступления
Нет
Таблица Vedom (Список ведомостей)
Имя поля
Тип поля
Описание
Ключевое
SGroup
Мастер подстановок
Шифр группы
Нет
NVed
Счетчик
Номер ведомости
Да
CodPredm
Мастер подстановок
Предмет, по которому проводится экзамен
Нет
DataEkz
Дата/Время
Дата экзамена
Нет
CodPrep
Мастер подстановок
Преподаватель, проводящий экзамен
Нет
Таблица Ekzamen (Результаты экзаменов)
Имя поля
Тип поля
Описание
Ключевое
NZach
Мастер подстановок
Номер зачетки
Да
NVed
Мастер подстановок
Номер ведомости
Да
CodOcen
Мастер подстановок
Оценка
Нет
Выполним запрос в несколько этапов:
1.Определим коды предметов, имеющих наименование «Базы данных».
.
2.Найдем ведомости по этим предметам.
3.Найдем результаты экзамена в этих ведомостях.
4.Определим результаты, соответствующие задолженностям.
5.Определим, имеющих эти результаты.
6.Окончательный результат.
Общее алгебраическое выражение можно записать в следующем виде: