Составители:
Рубрика:
В общем случае термы сравнения могут иметь следующий вид:
(A
i
# "Константа") или (A
i
# A
k
),
где – символ # - одна из операций, являющаяся элементом из множества: { = ,
<> , > , < , >= , <= }.
Операция ограничения записывается следующим образом:
Rrez (A1, ..., An) = R1[булевское выражение],
при этом "булевское выражение" имеет вид:
AND ... AND (терм или дизъюнкция термов).
Как видно, степень результата остается прежней, а мощность лежит в пределах:
0 <= Мrez <= М1.
Пример для отношения R1:
R1 (ШД, ШМ, ЕИ
, НР)
д1 м2 1 15
д2 м5 3 3
д2 м9 3 5
д3 м2 1 10
Найти все кортежи, в которых единица измерения (ЕИ) имеет код "1", а норма
расхода (НР) больше или равна 10:
Rrez (ШД, ШМ, ЕИ, НР) = R1[(ЕИ = "1") AND (НР >= 10)].
В результате имеем:
Rrez (ШД, ШМ, ЕИ, НР)
д1 м2 1 15
д3 м2 1 10
Примечание. В языке SQL для обозначения операции ограничения используется конструкция
FROM R WHERE <условие>, где R - ограничиваемое отношение, а <условие> - простое условие
сравнения. Пусть comp1 и comp2 - два простых условия ограничения. Тогда по определению:
• R WHERE comp1 AND comp2 обозначает то же самое, что и (R WHERE comp1)
INTERSECT (R WHERE comp2)
• R WHERE comp1 OR comp2 обозначает то же самое, что и (R WHERE comp1) UNION (R
WHERE comp2)
• R WHERE NOT comp1 обозначает то же самое, что и R MINUS (R WHERE comp1)
С использованием этих определений можно использовать операции ограничения, в которых
условием ограничения является произвольное булевское выражение, составленное из простых условий
с использованием логических связок AND, OR, NOT и скобок.
На интуитивном уровне операцию ограничения лучше всего представлять как
взятие некоторой "горизонтальной" вырезки из отношения-операнда.
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »
