Реляционная алгебра

Материал из Викиконспекты
Перейти к: навигация, поиск

Запросы. Мотивация

Базы данных подразумевают не только хранение данных, но и запросы, позволяющие эти данные так или иначе получать. Как минимум, запросы нужны для следующих действий:

  • Выборка данных: достаем данные из БД, чтобы их как-то использовать уже извне;
  • Область действия обновлений: часто в запросах обновления (например, UPDATE, DELETE) необходимо указывать область данных, на которые этот запрос распостраняется;
  • Ограничения целостности: до сих пор было только два вида ограничений (ключи и внешние ключи). Использование запросов позволит расширить инструментарий;
  • Ограничения доступа.

Реляционная алгебра

В рамках курса рассматривается несколько подходов к описанию запросов. Один из них — реляционная алгебра.

Определение:
Реляционная алгебра — императивный язык для работы с отношениями. Носитель в терминах алгебры над отношениями — множество всех отношений. Далее будут определены операции, замкнутые над носителем, и ограничения, им соответствующие.


Примеры операций

  • Проекция: [math]\pi_A(R)[/math];
  • Естественное соединение: [math]R_1 \bowtie R_2[/math].

Замечание. Поскольку все операции в алгебре замкнуты по определению, можно комбинировать применения тех или иных операций любым разумным способом. Например: [math]\pi_A(R_1 \bowtie \pi_B(R_2)) \bowtie R_3[/math].

Отношения и операции

Для определения операций будет полезным уточнить, что такое отношение.

Определение:
Отношение — пара из заголовка и тела.


Определение:
Операция — правило построения заголовка и тела по заданным отношениям, а так же набор условий, при которых операция применима.