Реферат: Реляционное исчисление
2.4. Кванторы.
Существуют два квантора: EXISTS и FORALL. Квантор EXISTS является квантором существования, а FORALL─ квантором всеобщности. По сути, если выражение p ─ формула WFF, в которой переменная V свободна, то выражения
EXISTS V (p)
и
FORALL V (p)
также являются допустимыми формулами WFF, но переменная V в них обеих будет связанной. Первая формула означает следующее: «Существует по крайней мере одно значение переменной V, такое, что вычисление формулы p даёт для него значение истина ». Вторая формула означает следующее: «Для всех значений переменной V вычисление формулы p даёт значение истина ». Предположим, например, что переменная V изменяется на множестве «Члены сената США в 1999 году», и предположим также, что выражение p ─ следующая формула WFF: «V ─ женщина» (разумеется, здесь не пытаемся использовать формальный синтаксис). Тогда выражение EXISTSV(p) будет допустимой формулой WFF, имеющей значение истина (true); выражение FORALLV(p) также будет допустимой формулой WFF, но вычисление его значения будет давать значение ложь (false).
Теперь рассмотрим квантор существования EXISTS более внимательно. Ещё раз обратимся к примеру из предыдущего раздела.
EXISTSSPX (SPX.S# = SX.S# ANDSPX.P# = P# (‘P2’) )
Из приведённых ранее рассуждений следует, что эта формула WFF может быть прочитана следующим образом.
В текущем значении отношения SP существует кортеж (скажем, SPX), такой, для которого значение атрибута S# в этом кортеже равно значению атрибута SX. S# (какое бы оно ни было), а значение атрибута P# в кортеже SPX равно ‘ P2’.
Каждая ссылка на переменную SPX в этом примере является связанной. Единственная ссылка на переменную SX свободна.
Формально квантор существования EXISTS определяется как повторение операции OR (ИЛИ). Другими словами, если r ─ это отношение с кортежами t1, t2, … , tm, V ─ это переменная кортежа, изменяющаяся на данном отношении, и p(V) ─ это формула WFF, в которой переменная V используется как свободная переменная, то формула WFF вида
EXISTSV (p (V))
равносильна следующей формуле WFF.
false OR p (t1) OR … OR p (tm)
В частности, обратите внимание, что если отношение R пустое (т.е. m=0), то результатом вычисления данного выражения будет значение ложь .
Рассмотрим в качестве примера отношение r, содержащее следующие кортежи.
(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
Для простоты предположим, что три атрибута, идущие по порядку слева направо, имеют имена A, B и Cсоответственно и каждый из этих атрибутов имеет тип INTEGER. Тогда приведённые ниже выражения будут иметь указанные значения.
EXISTS V (V.C>1) : true
EXISTS V (V.B>3) : false
EXISTS V (V.A>1 OR V.C = 4) : true
Теперь рассмотрим квантор общности FORALL, для чего вернёмся к соответствующему примеру из предыдущего раздела.
FORALL PX (PX.COLOR = COLOR (‘Red’) )
Эта формула WFF может быть прочитана следующим образом.
В текущем значении отношения P для всех кортежей (скажем, PX) значение их атрибута COLOR равно ‘ Red’.
Обе ссылки на переменную PX в этом примере связаны.