Реферат: Реляционное исчисление

(SX WHERE EXISTS SPX (SPX.S# = SX.S# AND

SPX.P# SPX = P# (‘P1’) ) );

Переменная кортежа SU из последнего примера определена на объединении множества кортежей поставщиков детали с номером ‘P1’. Обратите внимание, что в определении переменной кортежа SU используются переменные кортежей SX и SPX. Также обратите внимание на то, что в подобных определениях переменных, построенных на объединении отношений, объединяемые отношения, безусловно, должны быть совместимы по типу.

Замечание . Переменные кортежей не являются переменными в обычном смысле (как в языках программирования); они являются переменными в логическом смысле.

2.3. Свободные и связанные переменные кортежей.

Каждая ссылка на переменную кортежа (в некотором контексте, в частности в формуле WFF) является или свободной , или связанной . Сначала поясним это утверждение в чисто синтаксических терминах, а затем перейдем к обсуждению его смысла.

Пусть V – переменная кортежа. Тогда имеем следующее.

- Ссылки на переменную V в формулах WFF типа NOTp свободны или связаны в пределах этой формулы в зависимости от того, свободны ли они в формуле p.Ссылки на переменную V в формулах WFF типа (pANDq) и (pORq) свободны или связаны в зависимости от того, свободны ли они в формулах p и q.

- Ссылки на переменную V, которые свободны в формуле WFFp, связаны в формулах WFF типа EXISTSV(p) и FORALLV(p). Другие ссылки на переменные кортежей в формуле p будут свободны или связаны в формулах WFF типа EXISTSV(p) и FORALLV(p) в соответствии с тем, свободны ли они в формуле p.

Для полноты необходимо добавить следующие замечания.

- Единственная ссылка на переменную V в значении параметра <имя переменной кортежа> является свободной в пределах этого параметра <имя переменной кортежа>.

- Единственная ссылка на переменную V в значении параметра <ссылка на атрибут кортежа> V.A является свободной в пределах этого параметра <ссылка на атрибут кортежа>.

- Если ссылка на переменную V является свободной в некотором выражении exp, то эта ссылка будет также свободной в любом выражении exp’, непосредственно содержащем выражение exp как подвыражение, если только в выражении exp’ не вводится квантор, связывающий переменную V.

Приведём несколько примеров формул WFF, содержащих переменные

кортежей.

- Простые сравнения

SX.S# = S# (‘S1’)

SX.S# = SPX.S#

SPX.P# ≠PX.P#

Здесь все ссылки на переменные SX, PX и SPX являются свободными.

- Логические выражения из простых сравнений

PX.WEIGHT < WEIGHT (15.5) OR PX.CITY = ‘Rome’

NOT (SX.CITY = ‘London’)

SX.S# = SPX.S# AND SPX.P# ≠ PX.P#

PX.COLOR = COLOR (‘Red’) OR PX.CITY = ‘London’

Здесь также все ссылки на переменные SX,PX и SPX являются свободными.

- Формулы WFF с кванторами

EXISTS SPX (SPX.S# = SX.S# AND SPX.P# = P# (‘P2’) )

FORALL PX (PX.COLOR = COLOR (‘Red’) )

К-во Просмотров: 517
Бесплатно скачать Реферат: Реляционное исчисление