Реляционная алгебра
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Запросы. Мотивация
Предположим, что так или иначе мы научились проектировать базы данных. Теперь хотелось бы их использовать. Действительно, базы данных не только хранить данные, но и делать выборки, изменять их каким-либо образом. Для этого вводится понятие запроса. При первом рассмотрении, запросы нужны как минимум для выполнения следующих действий:
- Выборка данных: получить данные из базы, чтобы тем или иным способом обрабатывать их уже извне.
- Область действия обновлений: запросы позволят указывать область действия тех или иных операций, что крайне полезно. Например, к таким операциям относятся операции удаления или изменения данных: хочется указывать, на какие именно записи эти операции подействуют.
- Ограничения целостности: до сих пор было только два вида ограничений (ключи и внешние ключи). Некоторые базы данных позволяют создавать произвольные ограничения целостности, заданные на поддерживаемом языке. В рамках этих ограничений очень удобно пользоваться запросами.
- Ограничения доступа.
Одним из способов описания запросов является реляционная алгебра.
Реляционная алгебра
Определение: |
Реляционная алгебра — алгебра над множеством всех отношений. Далее будут определены операции, замкнутые над носителем, и ограничения, им соответствующие. |
В целом, реляционная алгебра — это императивный язык для работы с отношениями: он позволяет в явном виде, по действиям, описать, каким образом получить требуемый результат.
Примеры операций
В качестве примеров рассмотрим несколько простых операций в рамках реляционной алгебры.
- Проекция: . Проекция отношения на набор атрибутов .
- Естественное соединение: . Естественное соединение отношений и .
Все операции в алгебре замкнуты по определению, поэтому можно комбинировать применения тех или иных операций любым разумным способом. Например:
.Операции
В текущем контексте полезно уточнить, что именно понимается под операцией над отношениями в рамках реляционной алгебры. А именно, для того, чтобы определить операцию, необходимо определить следующее:
- Правило построения заголовка по заданным отношениям.
- Правило построения тела по заданным отношениям.
- Условия, при которых операция выполнима, то есть ограничения на отношения, к которым она применяется.