Реляционное исчисление — различия между версиями
Sashapff (обсуждение | вклад) |
Sashapff (обсуждение | вклад) (→Отличия от реляционной алгебры) |
||
Строка 24: | Строка 24: | ||
== Отличия от реляционной алгебры == | == Отличия от реляционной алгебры == | ||
− | Рассмотрим разницу между [[Реляционная алгебра | реляционной алгеброй]] и исчислением на примере | + | Рассмотрим разницу между [[Реляционная алгебра | реляционной алгеброй]] и исчислением на примере: необходимо получить идентификаторы студентов, обучающихся в группе M34371. |
− | Запрос в реляционной алгебре: | + | Запрос в реляционной алгебре состоит из естественного соединения студентов с номерами групп, затем фильтрации по номеру группы и получения идентификаторов студентов: |
<tex>\pi_{SId}(\sigma_{Name=M34371}(Students \bowtie Groups))</tex> | <tex>\pi_{SId}(\sigma_{Name=M34371}(Students \bowtie Groups))</tex> |
Версия 22:01, 19 декабря 2021
В этом разделе будет рассмотрен подход к формированию запросов, основанный на описании данных, которые необходимо получить.
Содержание
Реляционное исчисление
Определение: |
Реляционное исчисление — декларативный язык для работы с отношениями, описывающий какими свойствами должен обладать требуемый результат. |
Выделяют две разновидности реляционного исчисления:
- Исчисление кортежей;
- Исчисление доменов.
Структура запросов
Запросы в обоих видах исчислений устроены одинаково:
- Определение переменных;
- Определение атрибутов результата и свойств, которым они должны удовлетворять.
Синтаксис
Определения переменных select СписокАтрибутов from Переменные where Условие
Отличия от реляционной алгебры
Рассмотрим разницу между реляционной алгеброй и исчислением на примере: необходимо получить идентификаторы студентов, обучающихся в группе M34371.
Запрос в реляционной алгебре состоит из естественного соединения студентов с номерами групп, затем фильтрации по номеру группы и получения идентификаторов студентов: