предиката осуществляется указанием формулы логико-математического
языка, содержащей
n переменных. В наиболее распространенном случае
такой язык содержит предикатные переменные
x,
y,
z, … функциональ-
ные символы
f,
g,
h, … с различным количеством аргументных мест и
предикатные символы
P,
Q,
R, … также с различным количеством аргу-
ментных мест. Из переменных и
функциональных символов конструи-
руются термы языка, содержательно интерпретируемые как имена объ-
ектов исследования. Если
P есть
n-местный предикатный символ,
n
≥ 0, а
t
1
, …,
t
n
– термы, то
P(
t
1
, …,
t
n
) есть, по определению, атомарная форму-
ла. Содержательно
P(
t
1
, …,
t
n
) означает, что истинно высказывание, гла-
сящее, что
t
1
, …,
t
n
связаны отношением
P. Из атомарных формул с по-
мощью пропозициональных связок и кванторов конструируются форму-
лы языка. Обычный набор связок состоит из операторов сравнения, а на-
бор кванторов включает конъюнкцию, дизъюнкцию, импликацию, отри-
цание, квантор «для всех», квантор «существует». Вхождения перемен-
ной
x в формулу
ϕ называется
связанным, если
x входит в часть ϕ вида
∃
xϕ или ∀
xϕ. Остальные вхождения называются
свободными.
Для баз данных исчисление предикатов существует в двух формах:
реляционного исчисления кортежей и реляционного исчисления доме-
нов. В
реляционном исчислении кортежей задача состоит в нахождении
таких кортежей, для которых предикат является истинным. Это исчисле-
ние основано на переменных кортежа, т. е. таких, для которых допусти-
мыми значениями могут быть только кортежи данного отношения. Опи-
сательную часть исчисления можно представить в виде
RANGE OF <переменная> IS <список>.
Здесь <переменная> – это идентификатор переменной кортежа, <список>
– конструкция вида
X
1
[,
X
2
[, …,
X
n
]…]. Список содержит элементы, каж-
дый из которых является либо отношением, либо выражением над отно-
шениями. Область допустимых значений <переменной> образуется пу-
тем объединения значений всех элементов списка. Выражение реляцион-
ного исчисления, формирующего запрос на языке исчисления кортежей,
упрощенно можно записать в виде
(
Y
1
[,
Y
2
[…,
Y
m
]…]) [WHERE wff].
Здесь
Y
i
– это запись вида
{<переменная>
⏐<переменная>.<атрибут>} [AS <атрибут>]
Соответственно wff – well-formed formula (правильно построенная фор-
мула) – это предикат, который записывается одним из следующих типов:
<условие>
24
мую условием принадлежности. В общем виде условие принадлежности
записывается в виде
R(
A
1
:
p
1
,
A
2
:
p
2
,…), где
A
i
– атрибут отношения
R, а
p
i
– переменная домена или литерал. Условие считается истинным тогда
и только тогда, когда в отношении
R имеется кортеж со значениями
p
i
для атрибутов
A
i
.
Для приведенных выше в примере первого списка выражения исчис-
ления доменов будут иметь вид
(S) WHERE О1 (КАФ : ‘К1’)
Здесь
S – переменная домена атрибута ПР, объявленная каким-либо
образом, подобно оператору RANGE исчисления кортежей.
В заключение заметим, что если реляционное исчисление ограничи-
вается только безопасными (т. е. имеющими смысл) выражениями, то
реляционное исчисление доменов эквивалентно реляционному исчисле-
нию кортежей, а оно в свою очередь – реляционной алгебре.
Достарыңызбен бөлісу: