Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Эквивалентность выражений реляционного исчисления с переменными-кортежами и исчисления с переменными на доменах



Выражение исчисления с переменными на доменах, эквивалентное выражению исчисления с переменными-кортежами { t | y(t) }, конструируется в соответствии со следующими правилами.

Пусть е6сть переменная-кортеж t(R), где R = (A1A2…An) имеет арность n. Тогда вместо переменной-кортежа t вводятся n новых переменных на доменах t1, t2, …, tn и заданное выражение исчисления с переменными-кортежами заменяется выражением {t1, t2, …, tn | j΄(t1, t2, …, tn)}. Здесь j΄ представляет собой j, в которой:

Любой атом r(t) заменяется атомом r(t1, t2, …, tn);

Каждое свободное вхождение t[Ai] заменено переменной ti;

Для каждого квантора $u или "u вводится m новых переменных u1, u2, …, um, где m – арность u. Кванторы $u (или "(u)) заменяются кванторами $u1 $u2 … $um ("u1 "u2 … "um, соответственно), и в подчиненных кванторам выражениях u[Ai] заменяются на ui и r(u) на r(u1, u2, …, um).

Теорема

Для каждого безопасного выражения с переменными-кортежами существует эквивалентное безопасное выражение с переменными на доменах.

Пример:

Даны отношения со схемами S(S#, SNAME, CITY) – поставщик,

P(P#, PNAME, PRICE) – деталь,

SP(S#, P#, QTY) – поставка.

Написать выражение реляционного исчисления, позволяющее получить имена поставщиков, поставляющих деталь с номером P2.

a) Выражение исчисления с переменными-кортежами:

{t(SNAME) | $u(S) $v(SP) (S(u) Ù SP(v) Ù u[SNAME] = t[SNAME] Ù u[S#] = v[S#] Ù v[P#] = “P2”)}

b) Выражение исчисления с переменными на доменах:

{t(SNAME) | $u1(S#) $u2(SNAME) $u3(CITY) $v1(S#) $v2(P#) $v3(QTY) (S(u1,u2,u3) Ù SP(v1,v2,v3) Ù u2 = t Ù u1 = v1 Ù v2 = “P2”)}





Дата публикования: 2014-11-26; Прочитано: 220 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...