1632
правки
Изменения
м
Запрос Соответсвующий запрос в реляционной алгебретерминах исчисления кортежей (S {{---}} Students, G {{---}} Groups): <font color = blue>select</font> S<font color = grey>.</font>SId <font color = blue>from</font> S <texfont color = blue>where $\pi_{SId}exists$</font>G <font color = grey>(\sigma_{</font>S<font color = grey>.</font>GId <font color = grey>=</font> G<font color = grey>.</font>GId <font color = blue>∧</font> G<font color = grey>.</font>Name<font color =grey>=</font> <font color = green>'M34371}(Students \bowtie Groups)'</font><font color = grey>)</texfont>То есть, не указываем, как конкретно собираемся исполнять запрос, а описали, какие студенты нас интересуют.
rollbackEdits.php mass rollback
'''Реляционное исчисление''' {{---}} декларативный язык для работы с отношениями, описывающий какими свойствами должен обладать требуемый результат.
}}
В отличие от [[Реляционная алгебра | реляционной алгебры]] не описываем, как будет получен результат.
Выделяют две разновидности реляционного исчисления:
* Исчисление кортежей{{---}} переменные принимают значения кортежа целиком;* Исчисление доменов{{---}} каждая переменная принимает одно атомарное значение из какого-то домена.
== Структура запросов ==
Запросы в обоих видах исчислений устроены одинаково:* Определение сначала определяем переменные, с которыми будем работать, а затем определяем атрибуты результата из наборов переменных;* Определение атрибутов результата и свойствсвойства, которым они должны удовлетворять. === Синтаксис ===Для реализации описанного поведения в реляционном исчисление используется стандартная конструкция select-from-where, как и в [[Реляционная алгебра|реляционной алгебре]]. В секции select указываются интересующие атрибуты, в секции from указываются переменные, из которых берутся соответствующие атрибуты, а в секции where ограничивающие условия. С точки зрения синтаксиса запрос выглядит так:
<font color = red>Определения переменных</font>
<font color = blue>select</font> <font color = red>СписокАтрибутов</font>
== Отличия от реляционной алгебры ==
Рассмотрим разницу между [[Реляционная алгебра | реляционной алгеброй]] и реляционным исчислением на примере. Необходимо : получить идентификаторы студентов, обучающихся в группе M34371. Запрос в реляционной алгебре состоит из естественного соединения студентов с номерами групп, затем фильтрации по номеру группы и получения идентификаторов студентов:<tex>\pi_{SId}(\sigma_{Name=M34371}(Students \bowtie Groups))</tex>. По шагам описали, что необходимо сделать.