Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бази даних-20210115T104840Z-001 / Lecture08-09R-RelationalCalculus.doc
Скачиваний:
3
Добавлен:
15.01.2021
Размер:
248.83 Кб
Скачать

5.2.Реляционное исчисление с переменными-кортежами

5.2.1.Введение

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

В реляционной модели такое не возможно. Например, если в реляци­он­ной модели схема содержит элементарный предикат Студент(х), то нет никакой возможности проинтерпре­тиро­вать формулы Студент(х) или хСтудент(х). Формулы подобного рода приводят к построению бесконечной области интерпретации этих предикатов (бесконеч­ных отношений). Было даже введено понятие безопасной формулы исчисления предикатов – это такая формула, которая интерпретируется конечным отношением.

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

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

Известны два реляционных исчисления: реляционное исчисление с переменными-кортежами и реляционное исчисление с переменными на доменах. Мы рассмотрим первое из них детально и только упомянем суть второго.

5.2.2.Определение исчисления

Пусть задано множество элементарных предикатных символов Р1, Р2,…, Q1, Q2,… Эти предикаты интерпретиру­ют­­ся конечными отношениями.

Пусть задано множество кортежных (строковых) переменных r1, r2, …, s1, s2,… Кортежные переменные интерпре­ти­руют­ся кор­те­жа­ми значений. Выражения вида ri[j] называется срезом переменной ri по j-й компоненте.

Терм значений. Выражения вида Pirj называются термами значений. Такое выражение указывает, что перемен­ная rj принимает значения из отношения Ri, которое является интерпретацией предиката Pi. С помощью терма значений явно фикси­ру­ет­ся область значений переменной.

Примечание. Тем самым делается отступление от исчисления предикатов, в котором в формуле Р(х) переменная принимает значения из D – области интерпретации переменных.

Терм соединений. Выражения вида ri[m]  ri[n] или ri[m]  b, где  - один из двуместных предикатов сравнения, а b – константа, называются термами соединений. Они определяют условия соединения различных отношений. Примеры термов соединений:

r1[3] < r2[1]; r1[2] = a; r3[4]  r3[1]

С помощью термов значений вида Pirj задается область допустимых значений (область интерпретации) стро­ко­вых (кортежных) пере­мен­ных. В данном случае – это отношение, которое связывается с предикатом Pi. Но опре­делять область значений переменной одним отношением недостаточно. Следует расширить эту область макси­ма­ль­но насколько это возможно (с точки зрения реляционной модели). Это достигается с помощью следующего понятия.

Формула, правильно определенная над строковой переменной. Формулой, правильно определенной над стро­ко­вой переменной ri, называется формула, удовлетворяющая следу­ю­щим свойствам:

  • Все входящие в формулу предикатные символы интерпретируются совместимыми по объединению отноше­ния­ми.

  • В формулу входят только термы значений, в которых единственной переменной является ri.

  • Термы значений соединяются связками , &, . Причем, связке  непосредственно предшест­ву­ет связка &.

Примеры формул, правильно определенных над переменной r.

P1r  P2r  P3r & P4r; P1r  P2r & P3r

Если предикаты Р1, Р2, Р3, Р4 интерпретируются отношениями R1, R2, R3 R4, то первый пример устанавливает, что переменная r принимает значения из области (R1  R2  R3)  R4, а второй устанавливает для переменной следующую область интерпретации: (R1  R2) – R3

Итак, формулы, правильно определенные над строковой переменной, задают области интерпретации (определе­ния) переменных.

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

Формула, правильно определенная на кванторах. Пусть F – формула, правильно определенная над строковой переменной r, а G – формула, содержащая r в качестве свободной переменной, но не содержащая термов значений вида Pir. Тогда формулы:

r(F & G); r(F  G)

называются правильно определенными на кванторах существования и общности. По сути, это частный случай ограни­чен­ных кванторов существования и общности. Здесь формула F указывает ту область, в пределах которой изменяется переменная, используемая в кванторах. Будем записывать эти формулы следующим образом:

F(G)и F(G)

Формула с областью определения. Объединим теперь формулы, правильно определенные над строковыми пере­мен­ными с формулами, правильно определенными на кванторах и с термами соединений.

Формула W называется формулой с областью определения, если она имеет вид:

W = U1 & U2 &…& Un & V, n  1

и обладает следующими свойствами:

  • Каждая формула Ui является правильно определенной над строковой переменной ri,

  • Формула V либо пуста, либо обладает следующими свойствами:

а) Если в ней содержатся кванторы, то они правильно определены.

б) Каждая свободная переменная из V является одной из переменных формул U1, U2,…, Un

в) В формуле V нет термов значений, содержащих свободные переменные.

Примечание. Формулу с областью определения следует трактовать следующим образом:

  • Пусть предикаты U1, U2,…, Un интерпретируются отношениями S1, S2,…, Sn. Конструкция U1 & U2 &…& Un определяет декартово произведение отношений S1, S2,…, Sn (при отсутствии V)

  • Формула V задает условие соединения отношений S1, S2,…, Sn. В частности, термы значений задают условия соединений на отдельных атрибутах отношений, а кванторы – условия, определяемые кванторными связками.

Примеры формул с областью определения: (предикаты P1, P2, P3 интерпретируются отношениями R1, R2, R3)

Формула Интерпретация

P1r1 & P2r3 & P3r3 - декартово произведение отношений R1, R2, R3.

P1r1 & (r1[3] = b) - ограничение отношения R1 условием, когда его третья колонка равна b.

P1r1 & P3r3 & (r1[2] = r3[1]) - соединение отношений R1, и R3 по условию, что второй столбец R1 равен первому столбцу R3.

P1r1 & P2r2 & P3r3(r1[2] = r3[1] & r1[3] = r2[1]) - деление отношения R1 на R3 по условию r1[2] = r3[1] и соеди­не­ние результата деления с отношением R2 по условию r1[3] = r2[1]

Альфа выражение. Формула с областью определения не позволяет установить, какие именно столбцы нужны в результирующем отношении. Для этого вводится понятие альфа-выражения.

Выражение (t1, t2,…, tk) : W называется простым альфа-выражением, если выполнены следующие условия:

W – формула с областью определения.

t1, t2,…, tk – последовательность строковых переменных и срезов. Эти переменные должны быть свободными в W.

Произвольное альфа-выражение определяется рекурсивно следующим образом:

Каждое простое альфа-выражение является альфа-выражением.

Пусть t = (t1, t2,…, tk). Если t : W1 и t : W2 – фльфа-выражения, то выражения t : W1  W2, t : W1 & W2 и t : W1 & W2 являются альфа-выражениями.

На этом завершается определение реляционного исчисления с переменными – кортежами.

Теорема. Реляционное исчисление с переменными – кортежами обладает полнотой реляционной алгебры.

Соседние файлы в папке Бази даних-20210115T104840Z-001