|
|
(не показаны 22 промежуточные версии 2 участников) |
Строка 1: |
Строка 1: |
− | В этом разделе будет рассмотрен один из видов [[Реляционное исчисление | реляционного исчисления]] {{---}} исчисление кортежей.
| |
| | | |
− | == Переменные-кортежи ==
| |
− | Каждая переменная-кортеж имеет тип.
| |
− |
| |
− | === Тип кортежа ===
| |
− | * Имена и типы атрибутов;
| |
− | * Набор значений.
| |
− | Комбинация из имен и типов атрибутов и набора значений в данной модели называется отношением. Из этого следует, что каждая кортежная переменная пробегает некоторое отношение.
| |
− |
| |
− | === Синтаксис ===
| |
− | <font color = red>Переменная <font color = grey>::</font> Отношение</font>
| |
− |
| |
− | === Примеры ===
| |
− | S <font color = grey>::</font> Students
| |
− | G <font color = grey>::</font> Groups
| |
− | G4 <font color = grey>::</font> Groups <font color = blue>where</font>
| |
− | Name <font color = grey>=</font> <font color = green>'M34351'</font> <font color = blue>∨</font>
| |
− | Name <font color = grey>=</font> <font color = green>'M34371'</font> <font color = blue>∨</font>
| |
− | Name <font color = grey>=</font> <font color = green>'M34391'</font>
| |
− | Последний пример демонстрирует, что для отношения можно указать ограничивающее его условие.
| |
− |
| |
− | == Операции с отношениями ==
| |
− | === Ограничение ===
| |
− | Можно ограничить отношение, выбрав те кортежи, которые удовлетворяют требуемым условиям.
| |
− | <font color = red>Отношения</font> <font color = blue>where</font> <font color = red>Условие</font>
| |
− |
| |
− | === Объединение ===
| |
− | Для объединения используется синтаксис перечисления необходимых отношений через запятую.
| |
− | <font color = red>Отношение1<font color = grey>,</font> Отношение2</font>
| |
− |
| |
− | === Примеры ===
| |
− | Groups <font color = blue>where</font> Name <font color = grey>=</font> <font color = green>'M34371'</font>
| |
− |
| |
− | G4 <font color = grey>::</font> Groups <font color = blue>where</font> Name <font color = grey>=</font> <font color = green>'M34351'</font><font color = grey>,</font>
| |
− | Groups <font color = blue>where</font> Name <font color = grey>=</font> <font color = green>'M34371'</font><font color = grey>,</font>
| |
− | Groups <font color = blue>where</font> Name <font color = grey>=</font> <font color = green>'M34391'</font>
| |
− |
| |
− | == Условия ==
| |
− | === Простые условия ===
| |
− | Сравнение атрибутов с константами:
| |
− | S<font color = grey>.</font>Name <font color = grey>=</font> <font color = green>'Иван'</font>
| |
− |
| |
− | S<font color = grey>.</font>Id <font color = grey><</font> <font color = #056967>5</font>
| |
− |
| |
− | Сравнение атрибутов между собой:
| |
− |
| |
− | Сравнение с применением формул:
| |
− |
| |
− | === Составные условия ===
| |
− | === Условия с кванторами ===
| |