Модели и проектирование баз данных


Алгебра и исчисление


.

Реляционное исчисление (РИ), как и реляционная алгебра, есть абстрактный язык манипулирования реляционными данными.

РА и РИ эквивалентны в том смысле, что для любого допустимого выражения РА можно построить формулу РИ, производящую такой же результат, и наоборот. В связи с этим возникает вопрос: зачем включать в РМД и алгебру, и исчисление? Ответ кроется в разном уровне процедурности

этих механизмов.

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

В отличие от РА, РИ есть просто система обозначений для определения производного отношения в терминах других отношений. Для формул РИ процедурной интерпретации нет. Они декларативны. Формула просто определяет условия, которым должны удовлетворять кортежи результирующего отношения, – требуемые данные[25].

Например, запрос: «Получить имена поставщиков, поставляющих деталь Р2» в терминах алгебры имеет вид:

(( SPJ  JOIN  S)  WHERE  P# = ‘P2’)[Sn];

и описывает следующую процедуру:

· построить естественное соединение SPJ

и J по атрибуту S#;

·  выбрать из результата кортежи, в которых P# = ‘P2’;

·  выполнить проекцию результата на атрибут Sn.

Однако можно и не указывать, какие соединения, проекции и селекции строить. Можно сформулировать на некотором формальном языке фразу следующего содержания:

«Получить значения атрибута Sn для таких поставщиков, для которых в SPJ

существуют кортежи с тем же значением атрибута S# и со значением атрибута P# = ‘P2’.»

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

Формальный язык для точной записи подобных высказываний называется реляционным исчислением. Его основой является исчисление предикатов первого порядка.

Современная РМД располагает двумя вариантами реляционных исчислений. В одном из них областями возможных значений переменных являются отношения (РИ с переменными-кортежами), а в другом – домены (РИ с переменными на доменах). Оба РИ, как и РА, обладают свойством замкнутости относительно множества отношений. То есть формулы РИ определяются над отношениями и интерпретируются как отношения. Это дает возможность строить вложенные формулы, выражая ими очень сложные запросы к реляционной БД.



Содержание раздела