Слайд 2Общая характеристика
Запрос – формула некоторой формально-логической теории; описывает свойства желаемого
результата.
Ответ – множество объектов из области интерпретации (базы данных),
на котором истинна формула, соответствующая запросу.
Формально-логическая теория – теория исчисления предикатов первого порядка, в которой формула задается в виде предиката.
Слайд 3Понятие предиката (1)
Даны произвольные множества D1, D2, …, Dn,
Di
Dj = 0 для любых i j, и
переменные
x1, x2, …, xn, xi Di для любых i = 1, 2, …, n.
Предикатом (или предикатной функцией) называется функция P(x1, x2, …, xn), принимающая одно из двух значений – 1 или 0 (истина или ложь).
x1, x2, …, xn – предикатные переменные
D1, D2, …, Dn – область интерпретации предиката
Слайд 4Понятие предиката (2)
Логические операции – (и), (или),
(не)
Кванторы – (всеобщности), (существования)
x (f(x)) – для
всех значений x из области интерпретации предиката формула f(x) имеет значение "истина";
x (f(x)) – существует, по крайней мере, одно значение x из области интерпретации предиката, для которого формула f(x) имеет значение "истина"
x (f(x)) эквивалентно x (f(x))
Слайд 5Связь предиката с базой данных
Область интерпретации предиката – база данных
Соответствие
между предикатом P(x1, x2, …, xn) и отношением r(R), R(A1:D1,
A2:D2,..., An:Dn):
a1 D1, a2 D2, …, an Dn
1. Если P(a1, a2, ..., an) = 1, то
есть выборка отношения R(A1:D1, A2:D2,..., An:Dn), т.е. r
2. Если P(a1, a2, ..., an) = 0, то r
Слайд 6Реляционное исчисление с переменными-кортежами
1. Областью определения переменных являются отношения
2. Переменные-кортежи
должны удовлетворять определенной схеме отношения R
3. Предикат – это правильно
построенная формула (wff – well formulated formula) (t). Выбираются те кортежи t, для которых (t) дает значение 1
Слайд 7Атомы wff (1)
1. Пусть r(R) – некоторая реализация отношения, удовлетворяющая
схеме R;
t – некоторая переменная-кортеж, удовлетворяющая схеме R.
Тогда
r(t) – атом; означает, что t есть кортеж в отношении r (т.е. формула истинна, если
t r)
Слайд 8Атомы wff (2)
2. Пусть r(R) – некоторая реализация отношения, удовлетворяющая
схеме R;
u и v – переменные-кортежи из отношения r(R)
(т.е. u r, v r); – арифметическая операция сравнения (, , , , , );
A, B – атрибуты схемы отношения R, сравнимые по операции .
Тогда u[A] v[B] – атом
t[X] – значение переменной t по атрибуту X
Слайд 9Атомы wff (3)
3. Пусть u – переменная-кортеж из отношения r(R)
(т.е. u r);
– арифметическая операция сравнения
(,
, , , , );
A, B – атрибуты схемы отношения R, сравнимые по операции ;
c – константа из домена, на котором определен атрибут B.
Тогда u[A] c (или c u[A]) – атом
Слайд 10Выражение реляционного исчисления (1)
{t(R) | (t)},
где t – переменная-кортеж,
удовлетворяющая схеме отношения R; единственная переменная, имеющая свободное вхождение в
формулу (t);
(t) – правильно построенная формула
Интерпретация: множество кортежей t, удовлетворяющих схеме отношения R, таких, для которых правильно построенная формула (t) истинна
Слайд 11Выражение реляционного исчисления (2)
Пример
Есть отношение R(Имя, Стипендия);
атрибут Стипендия определен
на домене
D = {«да», «нет»}.
Получить из отношения имена
всех студентов, получающих стипендию:
{ t(Имя) | x(R) (r(x) x[Стипендия] = «да» x[Имя] = t[Имя]}
Слайд 12Безопасные выражения
{t | r( t) } – в общем
случае, определяет бесконечное отношение, что недопустимо.
Безопасные выражения вида {
t | ( t) } гарантированно дают ограниченное множество кортежей.
Значения атрибутов кортежей t являются элементами некоторого ограниченного универсального множества – DOM().
DOM() – унарное отношение, элементами которого являются символы, которые либо явно появляются в , либо служат компонентами какого-либо кортежа в некотором отношении R, упоминаемом в
Слайд 13Реляционное исчисление с переменными на доменах (1)
Атомы:
r(x1 , x2 ,
… , xn), где r – отношение, удовлетворяющее схеме R(A1
, A2 , …An), и каждое xi есть константа или переменная на домене;
u v, где u и v – константы или переменные, определенные на доменах, совместимых по операции , – арифметическая операция сравнения (, , , , , );
Слайд 14Реляционное исчисление с переменными на доменах (2)
Формула реляционного исчисления (t),
а также свободные и связанные вхождения переменных определяются так же,
как и для исчисления с переменными-кортежами.
Слайд 15Реляционное исчисление с переменными на доменах (3)
Пример. Пусть мы имеем
базу данных служащих. Будем считать, что мы определили доменные переменные,
имена которых совпадают с именами атрибутов отношения СЛУЖАЩИЕ
WFF исчисления доменов:
СЛУЖАЩИЕ (СЛУ_НОМ:2934, СЛУ_ИМЯ:'Иванов', СЛУ_ЗАРП:22400.00, ПРО_НОМ:1)
примет значение true в том и только в том случае, когда в теле отношения СЛУЖАЩИЕ содержится кортеж <2934, 'Иванов', 22400.00, 1>. Соответствующие значения доменных переменных образуют область истинности этой WFF.
Слайд 16Реляционное исчисление с переменными на доменах (4)
Пример. (продолжение)
Запрос: "Выдать номера
и имена служащих, не получающих минимальную заработную плату":
СЛУ_НОМ, СЛУ_ИМЯ WHERE
EXISTS СЛУ_ЗАРП1 (СЛУЖАЩИЕ (СЛУ_ЗАРП1) AND СЛУЖАЩИЕ (СЛУ_НОМ, СЛУ_ИМЯ, СЛУ_ЗАРП) AND СЛУ_ЗАРП > СЛУ_ЗАРП1)