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