Слайд 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.