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