БД_РА_ПрезентацияЛк.pptx
- Количество слайдов: 38
Базы данных и информационные системы Манипуляционная часть реляционной модели. Реляционная алгебра. Лекции 4, 5
План лекции Общая характеристика манипуляционной части РМ (введение) 1. Состав РА Кодда. 2. Дополнительные операции РА 3. Особенности теоретико множественных операций РА 4. Операции объединения, пересечения, разности. Совместимость по типу Операция расширенного декартового произведения. Совместимость относительно операции Специальные реляционные операции Операция ограничения (выборки) Операция взятия проекции Операция соединения отношений Операция деления отношений Заключение 2 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Общая характеристика манипуляционной части РМ (введение) Одной важной частью модели дан ных является механизм манипулирования данными (или язык запросов), который обеспечивает выборку и обновление данных. Реляци онная алгебра (РА) – это процедурный язык, с помо щью которого можно сообщить СУБД, ак к построить новое отношение из одного или нескольких существующих в базе данных отношений без изменения самих исходных отношений. Реляционная алгебра основана на теории множеств и некоторых специальных операторах над отношениями. Реляционное исчис ление(РИ) – непроцедурный язык, который можно использовать для определения того, каким будет некоторое отно шение, созданное на основе одного или нескольких других отношений базы дан ных без изменения самих исходных отношений. Реляционное исчис ление базируется на математической логике (точнее, на исчислении предикатов первого порядка). Реляционная алгебра и реляционное исчисление отличаются уровнем процедурности. !РА: Запрос может быть вычислен на основе выполнения элементарных операций РА с учетом их приоритетности Пример, r r 1 r 2×r 3; r f(r 1, r 2, …, rn ), где f – совокупность операций РА. !РИ: Выражения РИ ставят условия, которым должны удовлетворять кортежи результирующего отношения (однозначная вычислительная интерпретация отсутствует) {S | F(S)} – найти множество кортежей S, для которых предикат F(S) является истинным Пример. Пусть областью определения кортежей S является СЛУЖАЩИЙ, что обозначается СЛУЖАЩИЙ(S) 3 {S | СЛУЖАЩИЙ(S) S. слу_зарп>20000} служащие, получающие зарплату больше 20000, ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Общая характеристика манипуляционной части РМ !Под замкнутостью РА и РИ понимается тот факт, что выражения РА и формулы РИ определяются над реляционными отношениями и результатом их «вычисления» также являются отношения. Это позволяет создавать вложенные выражения (РА) и формулы (РИ) r f(r 1, r 2, …, rn ). !РА и РИ экви валентны другу: для каждого выражения РА существует эквива лентное выражение в И (и наоборот) Р 4 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Состав реляционной алгебры Кодда. !В алгебре Кодда набор основных алгебраических операций состоит из 8 операций, которые делятся на два класса – теоретико множественные операции и специальные реляционные операции. Теоретико множественные операции: объединения отношений; пересечения отношений; разность отношений; расширенное декартовое произведение отношений. Специальные реляционные операции: ограничение отношения (выборка); проекция отношения; соединение отношений; деление отношений. Основные операции (5 штук): выборка, проекция, декартово произведение, объединение, разность. На основании основных 5 операций можно вывести дополнительные: соединения, пересечения, деления. (ДЗ) Дополнительные операции реляционной алгебры: операция присваивания; операция переименования атрибутов. 5 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Дополнительные операции реляционной алгебры Операция переименования атрибутов Приоритет : 4 (самый высокий) Обозначение: r. a точечная нотация; переименование отношений; переименование атрибутов Операция присваивания Приоритет : 0 (самый низкий) Обозначение: r f(r 1, r 2, …, rn ) Определение: Операция позволяет сохранить результаты вычисления реляционного выражения f(r 1, r 2, …, rn ) в существующем отношении r 6 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операции объединения, пересечения, разности. Совместимость по типу В теории множеств операндами могут выступать любые множества: Рисунок 4. 0 – Иллюстрация результатов теоретико множественных операций !В РА операндами могут выступать только отношения, совместимые по типу: в заголовках обоих отношений должен содержаться один и тот же набор имен атрибутов, и одноименные атрибуты определены на одном и том же домене Если два отношения «почти» совместимы по типу, т. е. совместимы во всем, кроме имен атрибутов, то можно применить: 7 операцию переименования; операцию проекции. ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операции объединения, пересечения, разности. Название операции Приоритет Объединение Обозначение 1 Иллюстрация r s Пересечение 2 r s Разность 1 r s 8 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Определяет новое отношение, которое включает все кортежи, содержащиеся хотя бы в одном из отношений r или s, причем все дубликаты кортежей исключены. При этом отношения r и s должны быть совместимыми по типу (отношения r и s должны иметь совпадающие заголовки) Определяет отношение, которое содержит кортежи, присутствующие как в отношении r, так и в отношении s. Отношения r и s должны быть совместимыми по типу Разность двух отношений r и s состоит из кортежей, которые имеются в отношении r (первый операнд), но отсутствуют в отношении s (второй операнд). Причем отношения r и s должны быть совместимыми по типу
Особенности теоретико-множественных операций РА Операции объединения, пересечения, разности. Пример: СЛУЖАЩИЙ_ПРОЕКТ 1 Слу_номер 2934 2935 2936 2937 2938 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 Слу_имя Иванов Петров Сидоренко Федоренко Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 СЛУЖАЩИЙ_ПРОЕКТ 2 Слу_номер 2934 2935 2939 2940 2941 Рисунок 4. 1(РМ) – Отношения экземпляры (значения отношений) 9 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операции объединения, пересечения, разности. СЛУЖАЩИЙ_ПРОЕКТ 1 СЛУЖАЩИЙ_ПРОЕКТ 2 Слу_номер 2934 2935 2936 2937 2938 2939 2940 2941 Слу_имя Иванов Петров Сидоров Федоров Иванова Сидоренко Федоренко Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 Слу_зарп 22 000. 00 30 000. 00 Слу_отд_номер 310 СЛУЖАЩИЙ_ПРОЕКТ 1 СЛУЖАЩИЙ_ПРОЕКТ 2 Слу_номер 2934 2935 Слу_имя Иванов Петров СЛУЖАЩИЙ_ПРОЕКТ 1– СЛУЖАЩИЙ_ПРОЕКТ 2 Слу_номер 2936 2937 2938 Слу_имя Сидоров Федоров Иванова Слу_зарп 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 313 310 315 Рисунок 4. 2 – Результаты выполнения операций , , – 10 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операция расширенного декартового произведения. 11 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операция расширенного декартового произведения. Совместимость относительно операции Совместимость по взятию расширенного декартова произведения : пересечение множеств имен атрибутов данных отношений пусто. Для приведения к совместимости по взятию декартового произведения: операция переименования; точечная нотация; операция проекции. Замечание! Перемножать можно отношения, не требуя совместимости по типу. 12 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операция расширенного декартового произведения Название операции Расширенное декартово произве дение Иллюстрация Приоритет 2 Обозначение r s d c a b 1 2 3 c d a a a b b b 1 2 3 Определение Определяет новое отношение, которое является результатом конкатенации (т. е. сцепления) каждого кортежа из отношения r с каждым кортежем из отношения s. Причем пересечение заголовков исходных отношений r и s пусто (т. е. исходные отношения д. б. совместимы по взятию расширенного произведения). Замечание! Если отношение r 1 имеет N кортежей и n атрибутов, r 2 – M кортежей и m атрибутов, то r 1 × r 2 будет содержать (N*M) кортежей и (n+m) атрибутов. 13 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Операция расширенного декартового произведения. Пример: ПРОЕКТ Проект_назв Проект1 Проект2 Проект_рук 2934 2941 СЛУЖАЩИЙ_ПРОЕКТ 1 Слу_номер 2934 2935 2936 2937 2938 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 СЛУЖАЩИЙ_ПРОЕКТ 1 × ПРОЕКТ Слу_номер 2934 2935 2936 2937 2938 14 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер Проект_назв Проект_рук 310 Проект1 2934 313 Проект1 2934 310 Проект1 2934 315 Проект1 2934 310 Проект2 2941 313 Проект2 2941 310 Проект2 2941 315 Проект2 2941 Рисунок 4. 3 (РМ) –Результат операции СЛУЖАЩИЙ_ПРОЕКТ 1 × ПРОЕКТ ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Особенности теоретико-множественных операций РА Все теоретико множественных операций реляционной алгебры, кроме разности являются ассоциативными (A оп B) оп C = A оп (B оп C), где Оп теоретико множественная операция РА. Все операции, кроме взятия разности, являются коммутативными, A оп B = B оп A. 15 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Операция ограничения (выборка) Операция унарная Название операции Приоритет Выборка 3 Иллюстрация Обозначение Определение Определяет результирующее отношение, которое содержит только те кортежи (строки) из отношения r, которые удовлетворяют заданному условию p (предикату) Условие р : (x y), (x const), где x, y – имена атрибутов отношений r и s соответственно; операция сравнения (=, <>, >, <, <=, >=) 16 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Операция ограничения (выборка) Запрос: Получить данные из отношения СЛУЖАЩИЕ_ПРОЕКТ 1 о служащих, работающих в отделах 310 или 315 и получающих зарплату, превышающую 20 00 грн. СЛУЖАЩИЙ_ПРОЕКТ 1 Слу_номер 2934 2935 2936 2937 2938 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 СЛУЖАЩИЙ_310_315 and 20000 Слу_номер 2934 2935 2938 17 Слу_имя Иванов Петров Иванова ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Слу_зарп 22 000. 00 30 000. 00 22 000. 00 Слу_отд_номер 310 315
Специальные реляционные операции. Операция проекция Операция унарная Название операции Приоритет Проекция 3 Иллюстрация Обозначение Определение Определяет новое отношение, содержащее вертикальное подмножество отношения r, создаваемое посредством извлечения значений указанных атрибутов и исключения из результата строк дубликатов Замечание! Потенциальная потребность удаления дубликатов очень усложняет реализация операции проекции. 18 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Операция проекция Слу_номер 2934 2935 2936 2937 2938 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_отд_номер 310 313 315 19 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315
Специальные реляционные операции. Соединение отношений Виды соединений: тетасоединение; эквисоединение; естественное соединение; внешнее соединение; полусоединение. Способ получения: на основе декартового произведения; табличный поиск. 20 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Тетасоединение Операция бинарная Название операции Приорите т Тета соединение Иллюстрация 2 Обозначение x y y z a 1 1 k b 2 1 m 3 t x s. y z a 1 3 2 3 Определяет отношение, которое содержит кортежи из декартова произведения отношений r и s, удовлетворяющие предикату p t b Замечание! r. y Определение t Операция тетасоединения выражается через операции декартового 21 произведения и выборки ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Тетасоединение a b c x y 1 2 3 3 1 4 5 6 6 2 7 8 9 a c x y z 1 2 3 3 2 1 4 5 6 7 22 b 8 9 1 8 7 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Эквисоединение Название операции Экви соеди нение Иллюстрация Приорите т Обозначение 2 x y y z a 1 1 k b 2 1 m 3 t x s. y z a 1 1 k a 23 r. y 1 1 m ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Определяет отношение, которое содержит кортежи из декартова произведения отношений r и s, удовлетворяющие предикату p, который должен предусматривать только сравнение на равенство
Специальные реляционные операции. Соединение отношений. Эквисоединение a c x y 1 2 3 3 1 4 5 6 6 2 7 8 9 a b c x y z 1 2 3 3 2 1 4 5 6 7 24 b 8 9 1 8 7 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Естественное соединение Название операции Иллюстрация Приорите т Естест венное соеди нение Обозначение 2 x y y z a 1 1 k b 2 1 m 3 t x y z a 1 k a 1 m Определение Естественным соединением называется соединение по эквивалентности двух отношений r и s, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута Замечание! 25 Операция естественного соединения выражается через операции: переименования (если необходимо), декартового произведения, выборку и проекцию На практике естественное соединение осуществляется по внешним связям (внешний ключ + потенциальный) Обладает свойством ассоциативности ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Естественное соединение x z y z w a b c d d b c e b b f a d b c 26 y a d ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Соединение отношений. Пример 4 СЛУЖАЩИЙ Слу_номер 2934 2935 2936 2937 2938 2939 2940 2941 Слу_имя Иванов Петров Сидоров Федоров Иванова Сидоренко Федоренко Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 313 310 315 ЗАНЯТОСТЬ ПРОЕКТ Проект_номер 1 2 Проект_рук 2934 2941 Проект_ср_зарп 22 400. 00 Рисунок 4. 6 (РМ) – Отношения-экземпляры СЛУЖАЩИЙ, ПРОЕКТ и ЗАНЯТОСТЬ 27 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Слу_номер 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 Проект_номер 1 1 1 2 2 2
Соединение отношений. Слу_номер 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 Проект_номер1 1 1 2 2 2 2 2 Слу_номер 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 28 Проект_номер 1 1 1 2 2 2 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Проект_рук 2934 2934 2934 2941 2941 2941 Проект_ср_зарп 22 400. 00 22 400. 00
Соединение отношений Слу_номер 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 Слу_имя Иванов Петров Сидоров Федоров Иванова Иванов Петров Сидоренко Федоренко Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 310 313 310 315 Проект_номер 1 1 1 2 2 2 Слу_номер Слу_зарп Слу_отд_номер Проект_рук Проект_ср_зарп 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 29 Слу_имя Иванов Петров Сидоров Федоров Иванова Иванов Петров Сидоренко Федоренко Иваненко 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 310 310 313 310 315 1 1 1 2 2 2934 2934 2941 2941 22 400. 00 22 400. 00 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Соединение отношений ПРОЕКТ (рис. 4. 6) Слу_номер Слу_имя 2934 Иванов 2935 Петров 2936 Сидоров 2937 Федоров 2938 Иванова 2934 Иванов 2935 Петров 2939 Сидоренко 2940 Федоренко 2941 Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_отд_номер 310 310 313 310 315 Слу_номер Слу_зарп 2935 30 Слу_имя Петров 30 000. 00 Слу_отд _номер 310 Проект_номер 1 1 1 2 2 2 Проект_ номер 1 2 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Проект_номер 1 2 Проект_ номер1 1 2 Проект_рук 2934 2941 Проект_ср_зарп 22 400. 00 Проект_рук Проект_ср_зарп 2934 2941 22 400. 00
Специальные реляционные операции. Соединение отношений. Внешнее соединение Базируется на естественном соединении Название операции Иллюстрация Приоритет Обозначение y z a 1 1 k b 2 y 2 1 m 3 Левое внешнее соединение x t x z a 1 k a 1 m b Правое внешнее соединение y 2 Null 2 y z a 1 k a 1 m Null 31 x 3 t ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Соединение, при котором кортежи отношения r, не имеющие совпадающих значений в общих столбцах отношения s, также включаются в результирующее отношение Соединение, при котором кортежи отношения s, не имеющие совпадающих значений в общих столбцах отношения r, также включаются в результирующее отношение
Специальные реляционные операции. Соединение отношений. Внешнее соединение Название операции Внешнее соединение Иллюстрация Приоритет x y y z a 1 1 k b 2 1 m 3 2 (двухсторонее) t x y z a 1 k a 1 m b 2 Null 32 Обозначение 3 t ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Соединение, при котором кортежи отношений r и s, не имеющие совпадающих значений в общих столбцах, также включаются в результирующее отношение
Специальные реляционные операции. Соединение отношений. Полусоединение Название операции Полу соедине ние Иллюстрация Приори-тет Обозначение 2 x y y z a 1 1 k b 2 1 m 3 t x a 33 y 1 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Определяет отношение, содержащее те кортежи отношения r, которые входят в соединение отношений r и s
Специальные реляционные операции. Операция деления Операция бинарная Пусть заданы два отношения: r(x 1, x 2, . . . , xn, y 1, y 2, . . . , ym); s(y 1, y 2, . . . , ym). Будем считать, что атрибут xi (i = 1, 2, …, n) отношения r и атрибут yj отношения s (j = 1, 2, …, m) не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {xi} составным атрибутом X, а множество атрибутов {yj} – составным атрибутом Y. После этого будем говорить о реляционном делении «бинарного» отношения r(X, Y) на унарное отношение s(Y). 34 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Операция деления Название операции Деление Иллюстрация Приори-тет Обозначение 2 Остаток x y x a 1 1 a a 2 2 b b 1 b 2 c 35 y 1 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Определение Операция имеет два операнда – бинарное r и унарное s отношения. Результирующее отношение состоит из унарных кортежей, включающих значения первого атрибута кортежей отношения r таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда – отношения s
Специальные реляционные операции. Операция деления x z w i o r k c a o r c a r k c k r k i o c a c k c a i 36 y o k c ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Специальные реляционные операции. Операция деления Слу_номер 2934 2935 2936 2937 2938 2934 2935 2939 2940 2941 Слу_имя Иванов Петров Сидоров Федоров Иванова Иванов Петров Сидоренко Федоренко Иваненко Слу_зарп 22 000. 00 30 000. 00 18 000. 00 20 000. 00 22 000. 00 Слу_номер 2934 2935 37 Слу_отд_номер 310 310 313 310 315 Слу_имя Иванов Петров ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Проект_номер 1 1 1 2 2 2 Слу_зарп 22 000. 00 30 000. 00 Проект_номер 1 2 Слу_отд_номер 310
Вопросы 38 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
БД_РА_ПрезентацияЛк.pptx