Реляционная алгебра
Запросы. Мотивация
Базы данных подразумевают не только хранение данных, но и запросы, позволяющие эти данные так или иначе получать. Как минимум, запросы нужны для следующих действий:
- Выборка данных: достаем данные из БД, чтобы их как-то использовать уже извне;
- Область действия обновлений: часто в запросах обовления (например, UPDATE, DELETE) необходимо указывать область данных, на которые этот запрос распостраняется;
- Ограничения целостности: до сих пор было только два вида ограничений (ключи и внешние ключи). Использование запросов позволит расширить инструментарий;
- Ограничения доступа.
Реляционная алгебра
В рамках курса рассматривается несколько подходов к описанию запросов. Один из них — реляционная алгебра.
Определение: |
Реляционная алгебра — императивный язык для работы с отношениями. Носитель в терминах алгебры над отношениями — множество всех отношений. Далее будут определены операции, замкнутые над носителем, и ограничения, им соответствующие. |
Примеры операций
- Проекция: ;
- Естественное соединение: .
Замечание. Поскольку все операции в алгебре замкнуты по определению, можно комбинировать применения тех или иных операций любым разумным способом. Например:
.Отношения и операции
Для определения операций будет полезным уточнить, что такое отношение.
Определение: |
Отношение — пара из заголовка и тела. |
Определение: |
Операция — правило построения заголовка и тела по заданным отношениям, а так же набор условий, при которых операция применима. |