В 70-е годы были предложены два языка: реляционная алгебра и реляционное исчисление.
Реляционная алгебра – процедурный язык обработки реляционных таблиц. В нём используются пошаговый принцип создания таблиц, содержащих ответы на запросы. Реляционная алгебра, как теоретический язык запросов, по сравнению с реляционным исчислением, более наглядно описывает выполняемые над отношениями действия.
В реляционной алгебре предложены следующие основные операции:
1. Объединение;
2. Разность;
3. Пересечение;
4. Произведение;
5. Выборка (селекция);
6. Проекция;
7. Деление;
8. Соединение.
Эти операции можно разделить на 2 группы: базовые теоретико-множественные (включает классические операции теории множеств) и специально реляционные (развитие базовых теоретико-множественных операций в направление к реальным задачам манипулирования данными).
Операции реляционной алгебры могут выполняться как над одним отношением (унарные), так и над двумя (бинарные). При выполнении бинарной операции, участвующие в операциях отношения д.б. совместимы по структуре (это означает совместимость имен атрибутов и типов соответствующих доменов). Частным случаем совместимости является полная идентичность.
Для устранения конфликтов имен атрибутов применяют операцию переименования атрибутов.
Объединение двух совместимых отношений RI и RII одинаковой размерности – отношение R, содержащее все элементы исходного отношения с исключением повторений.
Вычитание совместимых отношений RI и RII одинаковой размерности – отношение, тело которого состоит из множества кортежей, принадлежащих RI, но не принадлежащих отношению RII.
Пересечение двух совместимых отношений RI и RII одинаковой размерности – отношение R с телом, включающим в себя кортежи одновременно принадлежащим обоим исходным отношениям.
Произведение отношения RI степени k1 и отношения RII степени k2, которые не имеют одинаковых имен атрибутов – отношение RI степени k1+k2, заголовок которого представляет сцепление заголовков отношении RI и RII, а тело имеет кортежи такие, что первые k1 элементов кортежей принадлежат множеству RI, а последние k2 элементов - множеству RII.
Выборка отношения RI по формуле F – новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения заданной формулой F. Для записи формулы используются операнды – имена атрибутов (или их номера столбцов), константы, логические операции, операции сравнения и скобки.
Проекция отношения A на атрибуты x, y, …, z, где множество {x, y, …, z} является подмножеством полного списка атрибутов отношения A - отношение с заголовком x, y, …, z и телом, содержащим кортежи отношения A, за исключением повторяющихся кортежей. Повторение атрибутов в списке x, y, …, z запрещается!
Результат деления отношения RI с атрибутами A и B на отношение RII с атрибутом B, где A и B – составные или простые атрибуты, причем атрибут B – общий атрибут, определенный на одном и том же домене – отношение R с заголовком A и телом, состоящим из кортежей r таких, что в отношении RI имеются кортежи rs, причем множество значений s включает множество значений атрибута B множества RII.
Реляционное исчисление – непроцедурный язык, в котором запрос создается путём определения таблицы запроса за 1 шаг. В реляционном исчислении используется другой подход, тем не менее, эти два языка логически эквивалентны. Результатами обработки таблицы реляционным исчислением достигаются с помощью запроса, который формируется целевым списком или определяющим выражением.
Целевой список – список выражений реляционного исчисления, определяющий атрибуты результирующей таблицы.
Определяющее выражение – условие выражения реляционного исчисления, на основании которого отбираются записи, которые войдут в результирующую таблицу.
Квантор существования означает существование хотя бы одной строки, удовлетворяющей условию.
Квантор всеобщности – выражение, которое означает, что некоторое условие применяется ко всем строкам некоторого типа.