Реляционное исчисление кортежей
Реляционное исчисление кортежей состоит в отыскании таких кортежей, для которых предикат является истинным.
Например: staff – отношение работник.
Staff (code, FIO, salary)
RANGE OF s IS – определяем область, на которой задается отношение.
Атрибуты s.code, s.FIO | условие s.salary.
Если необходимо указать число кортежей, то используется формула квантор общности (") и квантор сущности ($).
Например: RANGE OF s IS STAFF
$ s {s.FIO=”Иванов”Ùs.salary>300 000}
Квант общности используется, когда необходимо применять его ко всем экземплярам отношений.
s – переменная. Переменные делятся на свободные и связные (в данном случае s – связное).
Branch (OTD, NotD, City)
RANGE OF b IS Branch
$ b {b.OTD, b.NotD | b.City=”Минск”}
Используются переменные, которые берутся из доменов отношения. Если у нас p (d1, d2, ... , dn) – представляют предикат заданный на переменных d1, d2, ... , dn, то множество всех переменных { d1, d2, ... , dn | P(d1, d2, ... , dn)}
Отыщем сотрудников, заработная плата которых превышает заданную:
{FIO | $ salary (staff(FIO, salary) Ùsalary>250 000)}
Реляционное исчисление доменов и кортежей является основоположником непроцедурных языков. На их основе написан язык SQL.
Существуют язык БД – QBE (Query By Example). В его основу положено реляционное исчисление доменов