Дискретная математика: Учебное пособие. Часть 4 - Основы математической логики

Страницы работы

Фрагмент текста работы

проекции коммутативна с операцией выбора;

·  r’=(r1><r2)= (r2><r1) - операция соединения коммутативна;

·  r’=(r1><r2)><r3=r1><(r2><r3) – операция соединения ассоциативна.

4.3.2 Реляционное исчисление

Если реляционная алгебра показывает способы исполне­ния различных операций над отношениями, то реляционное исчисление позволяет формировать новые отношения, исследуя значение логической функции на множестве кортежей отношения. Результатом алгебраической операции над отношениями является также отношение, которому может быть присвоено имя и которое имеет такой же статус, как и исходные отношения. В противоположность этому реляционное исчисление позволяет формулировать, например, арифметические запросы к атрибутам кортежей. В результате определения истинного значения логической функции формируется множество кортежей, которое не может быть поименовано и является промежуточным результатом для формирования нового отношения.

Пусть r’={ t’| F(t’)}, где t’ – кортеж отношения, а F(t) - формула логической функции.

Также как в исчислении предикатов введем понятия переменные и постоянные кортежи. Для обозначения перемен­ных кортежей используем символы x, y, z,... , а для постоянных кортежей - a, b, c,...Любой постоянный или переменный кортеж называют термом и обозначают ti.

Элементарная формула определяется следующими правилами:

·  если r - имя отношения, а t - терм, то r(t) –элементарная формула;

·  если x и y – переменные кортежи и задан оператор сравнения двух или нескольких атрибутов Ai и Aj, то x(Ai)qy(Aj) - элементарная формула;                 

·  никаких других формул нет.

Также как в исчислении предикатов введем понятия “свободных“ и “связных” переменных-кортежей. Переменная-кортеж является связанным, если ему предшествует квантор по этой же переменной и свободным в противном случае.

          Формулы реляционного исчисления с переменными-кортежами могут быть определены из элементарных формул рекурсивно:

·  любая элементарная формула есть формула, т.е. F= r(t) и F= x(Ai)qy(Aj);

·  если F1 и F2 -формулы, то (ùF1), (F1Ú F2), (F1& F2) также формулы;

·  если x - переменный кортеж, F(x) - формула, то $x(F)  и "x(F) также формулы.

·  никаких иных формул, кроме построенных по 1), 2), и 3) нет.

Итак, r’={ t’| F(t) }   есть множество свободных переменных-кортежей в F(t), формируемое связанными переменными-кортежами для истинного значения формулы F(t).

Операцию выборки на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’| $x(r(x)&(x(Ai)qkdi))} или r’={t’| $x(r(x)&(x(Ai)qx(Aj)))}.

Квантор существования используют потому, что накладываемые условия (x(Ai)qkdi) или (x(Ai)qx(Aj)) формируют частное суждение на множестве кортежей отношения. Условия могут быть  заданы функциями kdi:=f(Ai) или Aj:=f(Ai, Aj).

Операцию проекции на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’| "x(r(x)&(t’[1]=x(Ai))&(t’[2]=x(Aj))&..&(t’[n]=x(An))}.

Квантор всеобщности используют потому, что в результирующем отношении используют все кортежи исходного отношения.

Операцию объединения на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’| "x "y(r1(x)&r2(y)&((t’=x)Ú(t’=y))}.

Квантор всеобщности используют потому, что в новое отношение следует перенести все кортежи отношений r1(x) и r2(y).

Операцию разности на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’| $x$y(r1(x)&r2(y)&((t’=x)&ù(t’=y))}.

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

Операцию пересечения на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’| $x$y(r1(x)&r2(y)&(t’=x)&(t’=y)}.

Кванторы существования используют потому, что должны быть одинаковые кортежи в первом и втором отношениях.

Операцию прямого произведения на языке реляционного исчисления с переменными-кортежами записывают так:

r’={t’|$x$y(r1(x)&r2(y)&(t’[1]=x[1])&(t’[2]=x[2])..&(t’[n1]=x[n1])&

(t’[n1+1]=y[1]) &(t’[n1+2]=y[2]).. &(t’[n1+n2]=y[n2]))}.

Кванторы существования используют потому, что каждый кортеж второго

Похожие материалы

Информация о работе