Реляционное исчисление. Общая характеристика Запрос – формула некоторой формально-логической теории; описывает свойства желаемого результата. Ответ –

Презентация:



Advertisements
Похожие презентации
Базы данных Лекция 6 Базисные средства манипулирования реляционными данными: реляционное исчисление.
Advertisements

Манипуляционная часть реляционной модели данных: реляционная алгебра.
Исчисление высказываний. Высказывание Под высказыванием понимается утвердительное предложение, которое может быть либо истинным, либо ложным, но не то.
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Модуль 1. Математические основы баз данных и знаний 1.
Реляционная модель данных Определения Основные операции над отношениями (реляционная алгебра)
Введение в формальные (аксиоматические) системы. Формальные системы - это системы операций над объектами, понимаемыми как последовательность символов.
Учебная дисциплина «Базы данных» для студентов специальности Бизнес-информатика (бакалавриат) ЛЕКЦИЯ 3 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос.
Логика первого порядка ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекции Н.В. Белоус Факультет компьютерных наук Кафедра.
Логика предикатовЛогика предикатовЛогика предикатов расчленяет элементарное высказывание на субъект (буквально - подлежащее, хотя оно и может играть роль.
Определения Банк данных (БнД) это система специальным образом организованных дан­ных - баз данных, программных, технических, языковых, организационно-
Логика первого порядка ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекции Н.В. Белоус Факультет компьютерных наук Кафедра.
Л ОГИКА ПРЕДИКАТОВ. С ВОЙСТВА ФОРМАЛЬНЫХ ТЕОРИЙ Общезначимость Непротиворечивость Полнота Разрешимость Независимость.
Y=f(x) ПЕРЕМЕННАЯ ВЕЛИЧИНА Величина х называется переменной, если она принимает различные значения. 1. Последовательность –переменная величина. Пример:
1 Кубенский А.А. Дискретная математика. Глава 2. Элементы математической логики Исчисление высказываний Высказывание – утверждение о математических.
Основы реляционных баз данных Лекция 5. Реляционная модель. Основы реляционной алгебры Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н апреля.
Модуль 1. Математические основы баз данных и знаний 1.
Базы данных Лекция 5 Базисные средства манипулирования реляционными данными: алгебра A Дейта и Дарвена.
Предикаты и формулы. Интерпретации. Истинность и выполнимость формул. Нормальные формы.
1 1. Множества Понятие множества. Логические символы Под множеством понимают совокупность определенных и отличных друг от друга объектов, объединенных.
Транксрипт:

Реляционное исчисление

Общая характеристика Запрос – формула некоторой формально-логической теории; описывает свойства желаемого результата. Ответ – множество объектов из области интерпретации (базы данных), на котором истинна формула, соответствующая запросу. Формально-логическая теория – теория исчисления предикатов первого порядка, в которой формула задается в виде предиката.

Понятие предиката (1) Даны произвольные множества D 1, D 2, …, D n, D i D j = 0 для любых i j, и переменные x 1, x 2, …, x n, x i D i для любых i = 1, 2, …, n. Предикатом (или предикатной функцией) называется функция P(x 1, x 2, …, x n ), принимающая одно из двух значений – 1 или 0 (истина или ложь). x 1, x 2, …, x n – предикатные переменные D 1, D 2, …, D n – область интерпретации предиката

Понятие предиката (2) Логические операции – (и), (или), (не) Кванторы – (всеобщности), (существования) x (f(x)) – для всех значений x из области интерпретации предиката формула f(x) имеет значение "истина"; x (f(x)) – существует, по крайней мере, одно значение x из области интерпретации предиката, для которого формула f(x) имеет значение "истина" x (f(x)) эквивалентно x ( f(x))

Пример использования кванторов S – множество "учебная группа" f1(t) – утверждение t получает стипендию, t S f2(t) – утверждение t не имеет задолженностей в сессию, t S Переменная x S 1. x (f1(x)) имеет значение "истина", если хотя бы один член группы получает стипендию, и ложь, если никто в группе не получает стипендию. 2. x (f2(x)) имеет значение "истина", если все члены группы не имеют задолженностей в сессию, и ложь, если хотя бы один член группы имеет задолженность

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

Пример x(R(x, y) y(U(x, y, z) Q(x, y))) Переменная x связана квантором Свободное вхождение переменной y Переменная у связана квантором Свободное вхождение переменной z

Области значений и видимости переменных (1) 1. В предикате используются и свободные, и связанные переменные 2. Если для какого-то определенного набора свободных переменных при вычислении предикатной формулы получено значение "истина", значит, этот набор значений свободных переменных войдет в результат, определяемый предикатом

Области значений и видимости переменных (2) 2. Если вхождение переменной в формулу связано квантором, такая переменная не видна за пределами формулы, связавшей эту переменную. При вычислении значения такой формулы используются все значения из области определения данной переменной

Области значений и видимости переменных (3) Пример: дано множество десятичных цифр D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Подмножество, состоящее из четных цифр, можно определить следующим образом: множество всех значений y, таких, для которых выполняется условие: x (x D x 2 = 0 y = x).

Связь предиката с базой данных Область интерпретации предиката – база данных Соответствие между предикатом P(x 1, x 2, …, x n ) и отношением r(R), R(A 1 :D 1, A 2 :D 2,..., A n :D n ): a 1 D 1, a 2 D 2, …, a n D n 1. Если P(a 1, a 2,..., a n ) = 1, то есть выборка отношения R(A 1 :D 1, A 2 :D 2,..., A n :D n ), т.е. r 2. Если P(a 1, a 2,..., a n ) = 0, то r

Реляционное исчисление с переменными-кортежами 1. Областью определения переменных являются отношения 2. Переменные-кортежи должны удовлетворять определенной схеме отношения R 3. Предикат – это правильно построенная формула (wff – well formulated formula) (t). Выбираются те кортежи t, для которых (t) дает значение 1

Атомы wff (1) 1. Пусть r(R) – некоторая реализация отношения, удовлетворяющая схеме R; t – некоторая переменная-кортеж, удовлетворяющая схеме R. Тогда r(t) – атом; означает, что t есть кортеж в отношении r (т.е. формула истинна, если t r)

Атомы 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

Атомы wff (3) 3. Пусть u – переменная-кортеж из отношения r(R) (т.е. u r); – арифметическая операция сравнения (,,,,, ); A, B – атрибуты схемы отношения R, сравнимые по операции ; c – константа из домена, на котором определен атрибут B. Тогда u[A] c (или c u[A]) – атом

Правила построения wff (1) 1. Каждый атом есть формула. Все вхождения переменных-кортежей, упомянутых в атоме, являются свободными. Например, формула r(t) утверждает, что переменная- кортеж t является кортежем отношения r(R)

Правила построения wff (2) 2. Пусть x(R) – переменная-кортеж из отношения r со схемой R; (x) – формула, в которой переменная x имеет свободное вхождение. Тогда x(R) ( (x)) – формула, в которой вхождение переменной x становится связанным квантором : существует хотя бы один кортеж x в отношении r(R), такой, что при подстановке его в формулу (x) вместо всех свободных вхождений x получим значение "истина "

Правила построения wff (3) Пример Формула x(R) (r(x)) утверждает, что отношение r не пусто – существует хотя бы один кортеж x, принадлежащий r

Правила построения wff (4) 3. Пусть x(R) – переменная-кортеж из отношения r со схемой R; (x) – формула, в которой переменная x имеет свободное вхождение. Тогда x(R) ( (x)) – формула, в которой вхождение переменной x становится связанным квантором : для всех кортежей x из отношения r(R) при подстановке их в формулу (x) вместо всех свободных вхождений x получим значение "истина"

Правила построения wff (5) Пример Формула x(R) (x[A] ) утверждает, что для всех кортежей значение атрибута A не пусто, т.е. атрибут А является обязательным

Правила построения wff (6) 4. Если (x) и (x) – формулы, тогда (x), (x) (x), (x) (x) – тоже формулы. Вхождения переменной x в эти формулы остаются свободными или связанными – такими, какими были в (x) или (x), соответственно

Правила построения wff (7) 5. Если (x) – формула, то ( (x)) – тоже формула; вхождение переменной x остается свободным или связанным – таким, каким оно было в (x) 6. Ничто иное не является формулой

Порядок вычисления wff 1.Атомы, в которых могут быть использованы арифметические операции сравнения 2.Кванторы 3.Отрицание ( ) 4.Операция "И" ( ) 5.Операция "ИЛИ" ( ) Скобки используются для изменения порядка вычисления формулы

Выражение реляционного исчисления (1) {t(R) | (t)}, где t – переменная-кортеж, удовлетворяющая схеме отношения R; единственная переменная, имеющая свободное вхождение в формулу (t); (t) – правильно построенная формула Интерпретация: множество кортежей t, удовлетворяющих схеме отношения R, таких, для которых правильно построенная формула (t) истинна

Выражение реляционного исчисления (2) Пример Есть отношение R(Имя, Стипендия); атрибут Стипендия определен на домене D = {«да», «нет»}. Получить из отношения имена всех студентов, получающих стипендию: { t(Имя) | x(R) (r(x) x[Стипендия] = «да» x[Имя] = t[Имя]}

Безопасные выражения {t | r( t) } – в общем случае, определяет бесконечное отношение, что недопустимо. Безопасные выражения вида { t | ( t) } гарантированно дают ограниченное множество кортежей. Значения атрибутов кортежей t являются элементами некоторого ограниченного универсального множества – DOM( ). DOM( ) – унарное отношение, элементами которого являются символы, которые либо явно появляются в, либо служат компонентами какого-либо кортежа в некотором отношении R, упоминаемом в

Эквивалентность выражений (1) Если E – выражение реляционной алгебры, то существует эквивалентное ему безопасное выражение реляционного исчисления с переменными-кортежами Проекция L (r), r(R), L R – выражение реляционной алгебры {t(L) | u(R) (r(u) u[L] = t[L] } – эквивалентное выражение реляционного исчисления

Эквивалентность выражений (2) Деление r 1 r 2, r 1 (AB), r 2 (B) – выражение реляционной алгебры { t(A) | x(B) ( y(AB) (r 2 (x) r 1 (y) y[B] = x[B] y[A] = t[A] } – эквивалентное выражение реляционного исчисления

Эквивалентность выражений (3) Естественное соединение r 1 r 2, r 1 (AB), r 2 (BC) – выражение реляционной алгебры { t(ABC) | u(AB) v(BC) ( r 1 (u) r 2 (v) u[B] = v[B] t[AB] = u[AB] t[C] = v[C]) } – эквивалентное выражение реляционного исчисления

Примеры запросов (1) Схема базы данных: S(Sid, SN, SC) – ПОСТАВЩИК ( Номер поставщика, Имя, Город) P(Pid, PN, PC) – ДЕТАЛЬ ( Номер детали, Название, Цена) SP(Sid(FK1), Pid (FK2), QTY) – ПОСТАВКА ( Номер поставщика, Номер детали, Количество)

Примеры запросов (2) Обозначения: S, P, SP – и схемы базы данных, и реализации (по месту использования) 1. Получить имена поставщиков, поставляющих деталь с номером P1. {t(SN) | u(S) v(SP) (S(u) SP(v) u[Sid] = v[Sid] v[Pid] = P1 u[SN] = t[SN])}

Примеры запросов (3) 2. Получить имена поставщиков, не поставляющих деталь с номером P1 {t(SN) | u(S)(S(u) v(SP) (SP(v) v[Pid] = P1 u[Sid] = v[Sid] u[SN] = t[SN]))}

Примеры запросов (4) 3. Получить имена поставщиков, поставляющих только деталь с номером P1 {t(SN) | u(S) v(SP)(S(u) SP(v) u[Sid] = v[Sid] v[Pid] = P1 u[SN] = t[SN] w(SP)(SP(w) w[Sid] = u[Sid] w[Pid] P1))}

Примеры запросов (5) 4. Получить имена поставщиков, поставляющих все детали {t(SN) | u(S) w(P) v(SP) (S(u) P(w) SP(v) w[Pid] = v[Pid] u[Sid] = v[Sid] t[SN] = u[SN])}

Реляционное исчисление с переменными на доменах (1) Атомы: r(x 1, x 2, …, x n ), где r – отношение, удовлетворяющее схеме R(A 1, A 2, …A n ), и каждое x i есть константа или переменная на домене; u v, где u и v – константы или переменные, определенные на доменах, совместимых по операции, – арифметическая операция сравнения (,,,,, );

Реляционное исчисление с переменными на доменах (2) Формула реляционного исчисления (t), а также свободные и связанные вхождения переменных определяются так же, как и для исчисления с переменными- кортежами.

Эквивалентность выражений (1) Для каждого безопасного выражения с переменными-кортежами существует эквивалентное безопасное выражение с переменными на доменах {t(R) | (t)}, R = (A 1, A 2, …, A n ) – выражение исчисления с переменными-кортежами Эквивалентное выражение с переменными на доменах: {t 1, t 2, …, t n | ΄(t 1, t 2, …, t n )}

Эквивалентность выражений (2) 1. Переменная-кортеж t заменяется n новыми переменными на доменах t 1, t 2, …, t n 2. ΄ представляет собой, в которой: a) любой атом r(t) заменяется атомом r(t 1, t 2, …, t n ); b) каждое свободное вхождение t[A i ] заменено переменной t i ;

Эквивалентность выражений (3) c) для каждого квантора u или u вводится m новых переменных u 1, u 2, …, u m (m – арность u). Кванторы u (или (u)) заменяются кванторами u 1 u 2 … u m ( u 1 u 2 … u m, соответственно); в подчиненных кванторам выражениях u[A i ] заменяются u i, а r(u) – r(u 1, u 2, …, u m )

Эквивалентность выражений (4) Получить имена поставщиков, поставляющих деталь с номером P1 {t(SN) | u(S) v(SP) (S(u) SP(v) u[SN] = t[SN] u[Sid] = v[Sid] v[Pid] = P1)} Эквивалентное выражение: {t(SN) | u 1 (Sid) u 2 (SN) u 3 (SC) v 1 (Sid) v 2 (Pid) v 3 (QTY) (S(u 1,u 2,u 3 ) SP(v 1,v 2,v 3 ) u 2 = t u 1 = v 1 v 2 = P1)}