4.3.4. Реляционное исчисление на доменах

Еще один подход к написанию запросов к реляционной БД - использование операционного исчисления на доменах. Операции реляционного исчисления на доменах имеют вид:

{(X1,...,Xk)|f(X1,...,Xk)}

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

Пример. Найти всех преподавателей старше 40 лет.

{ФИО| ПРЕПОДАВАТЕЛИ (ФИО, возраст, стаж) Л (возраст>4 0)}

В качестве примера языка, основанного на реляционном исчислении на до­менах приведем QBE. Особенностью языка является удобное табличное представ­ление.

Пример 1. Распечатать фамилии всех преподавателей старше 40 лет.

Преподаватели

id

ФИО

возраст

стаж

 

О.

>40

 

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

ФАКУЛЬТЕТЫ

id

назв.

ФИО декана

X

«ФМФ»

 

КАФЕДРЫ

id

назв.

ФИО зав.

id фак.

Y

 

 

X

БЫТЬ СОТР

id

id каф

id преп

з/п

 

Y

Z

>15000

ПРЕПОДАВАТЕЛИ

id

ФИО

возраст

стаж

Z

О.

 

 

 

 

 

< 2

Операции реляционного исчисления на доменах также сводятся к операциям реляционной алгебры. Один из диалектов языка QBE нашел применение в MS Access (так называемый конструктор запросов).