Содержание
- 2. Введение В реляционных СУБД для выполнения операций над отношениями исполь-зуется две группы языков, имеющие в качестве
- 3. Языки реляционной алгебры являются процедурными. Опе-раторы этой алгебры состоят из операндов, в роли которых выступают отношения,
- 4. Языки исчислений, в отличие от реляционной алгебры, являются непроцедурными (описательными или декларативными) и позволяют выражать запросы
- 5. Реляционные таблицы для примеров В дальнейшем при рассмотрении язы-ков реляционной алгебры и реляцион-ного исчисления для демонстрацион-ных
- 6. Таблица S
- 7. Таблица P
- 8. Слева таблица SP Первичными ключами этих таблиц являются соответственно: П# - код поставщика, Д# - код
- 9. 1. Реляционная алгебра Вариант реляционной алгебры, предло-женный Э. Коддом, можно разделить на две группы: 1) базовые
- 10. Перечисленный набор из 8 операций является избыточным. Минимально необходимый набор составляет 5 операций – объединение, вычитание,
- 11. С другой стороны указанных 8 опера-ций недостаточно для построения ре-альной СУБД на принципах реляцион-ной алгебры. Требуются
- 12. Операции реляционной алгебры могут выполняться над одним отношением – унарные операции, - например, проекция; над двумя
- 13. 1.1. Объединение Объединением двух совместимых отношений R1 и R2 с одинаковы-ми заголовками называется отно-шение R, содержащее
- 14. Пример 1 Пусть отношением R1 будет множество поставщиков из г. Москвы, а R2 – множество поставщиков,
- 15. 1.2. Вычитание Разность двух совместимых отношений R1 и R2 с одинаковыми заголовками есть отношение R, состоящее
- 16. 1.3. Пересечение Пересечением двух совместимых отношений R1 и R2 с одинаковыми за-головками называется отношение R, включающее
- 17. 1.4. Декартово произведение Декартовым произведением отношения R1 с длиной кортежей k1 и отношения R2 с длиной
- 18. Замечание 1 В реляционной алгебре используется расширенный вариант декартова произведения двух отношений, при котором элементы кортежей
- 19. Пример 2 Пусть отношение R1 представляет собой множество номеров всех текущих поставщиков {S1, S2, S3, S4,
- 20. Замечание 2 Напрямую операция декартова произ-ведения на практике не используется, однако, она является составной частью операции
- 21. 1.5. Выборка (ограничение) Выборка отношения R по формуле f представляет собой новое отношение с таким же
- 22. Пример 3 Запрос P WHERE Вес
- 23. Пример 4 Для операции выборки используют также обозначение SELECT (имя таблицы: условие выбора) Например, по запросу
- 24. Проекция отношения A на различные атрибуты X, Y, …, Z, где множество {X, Y, …, Z}
- 25. Дополнительные варианты записи операции проекции Отсутствие списка атрибутов подра-зумевает указание всех атрибутов (операция тождественной проекции). Выражение
- 26. Замечание 3 Если операцию выборки можно представить как исключение ненужных кортежей, то опера-цию создания проекций можно
- 27. 1.7. Деление Операция деления определена для двух отношений R1 и R2 при следующих условиях: отношение R1
- 28. Результатом деления отношения R1на отношение R2 является отношение R с заголовком A и телом, состоящим из
- 29. Пример 5 Пусть R1 - проекция SP[П#, Д#], а R2 – отношение с заго- ловком Д#
- 30. Результатом деления отношения R1 на отношение R2 будет отношение с заголовком П# и телом {S1, S4}.
- 31. 1.8. Соединение Операция соединения используется для связывания данных между отноше-ниями. Это, возможно, наиболее важ-ная функция любого
- 32. У операции соединения есть несколько вариантов: естественное соединение (обо-значение: JOIN (R1, R2)); тета-соединение; эквисоединение (обозначение: EQUIJOIN
- 33. 1.8. 1. Естественное соединение Естественное соединение (NATURAL JOIN) – это операция, связывающая отношения, когда общие атрибуты
- 34. Берется декартово произведение отношений R1 и R2. В результате получается отношение R, содержащее по два столбца
- 35. 1.8. 2. Тета-соединение и эквисоединение Тета-соединение – операция, связыва-ющая отношения, когда значения из определенных атрибутов находятся
- 36. Замечание 4 Тета-соединение, в отличие от естественного соединения, не включает удаления одного или более атрибутов на
- 37. 1.8. 3. Внешнее соединение Внешнее соединение является расширением естественного соединения, включает все кортежи из обоих отношений
- 38. Пример 6 (эквисоединение) Найдем соединение отношений S и P по общему атрибуту, характеризующе-му город (в отношении
- 39. Результатом эквисоединения будет следующее отношение
- 40. Обзор дополнительных операций реляционной алгебры, предложенных Дейтом 2Д. Операция расширения, заключающаяся в добавлении нового атрибута в
- 41. В операции расширения имя нового атрибута не должно повторять имен имеющихся в данном отношении атрибутов и
- 42. 3Д. Операция подведения итогов Синтаксис этой операции имеет вид: SUMMARIZE BY ( ) ADD AS ,
- 43. Результатом операции подведения итогов является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атри-бутом.
- 44. Пример 6 Пусть требуется вы-числить число пос-тавок по каждому из поставщиков. Это можно осуществить с помощью
- 45. 4Д. Операция присваивания Синтаксис операции: := , где оба выражения задают совмести-мые по структуре отношения. Типичный
- 46. 5Д. Операция вставки Синтаксис операции: INSERT INTO , где оба выражения должны быть совместимы по структуре.
- 47. 6Д. Операция обновления Синтаксис операции: UPDATE , где представляет собой последовательность разделен-ных запятыми операций присваивания вида
- 48. 7Д. Операция удаления 8Д. Операции реляционного сравнения Синтаксис операции 7Д: DELETE , где представляет собой ре-ляционное
- 49. Замечание 5 При записи выражений в реляционной алгебре следует придерживаться следующих правил: - должен быть определен
- 50. выражения можно заменять другими выражениями, получающи- мися с помощью тождественных преобразований; составляя выражение, нужно обеспечивать совместимость
- 51. 2. Реляционное исчисление Принципиальное отличие между реляционной алгеброй и реляционным исчислением состоит в том, что в
- 52. Понятие реляционного исчисления, как языка работы с БД, было впервые предложено Э. Коддом. Им же был
- 53. 2.1. Исчисление кортежей В исчислении кортежей, как и в про-цедурных языках программирования, сначала нужно описать используемые
- 54. - идентификатор пере- менной кортежа (области значений), а - последовательность одного или более элементов, разделенных запятыми,
- 55. Все элементы списка должны быть сов-местимы по типу, то есть соответ-ствующие элементам отношения должны иметь идентичные
- 56. Пример 1 Варианты описаний: RANGE OF SX IS S; RANGE OF SPX IS SP; RANGE OF
- 57. Переменные SX и SPX в первых двух описаниях определены соответственно на отношениях S и SP. В
- 58. Пример 2 Записать выражение на языке исчи-сления кортежей, соответствующее за-просу «Получить имена поставщиков, которые поставляют все
- 59. Замечание В исчисление кортежей можно добавить вычислительные функ-ции из реляционной алгебры: COUNT, SUM, AVG, MAX, MIN.
- 60. 2.2. Исчисление доменов Исчисление доменов было предложено Лакроиксом и Пиротте, которые на его основе разработали язык
- 61. Отличительной особенностью исчи-сления доменов от исчисления кортежей является то, что в нем поддерживается дополнительная форма условия,
- 62. Проверяемое условие будет истинным тогда и только тогда, когда существует кортеж в отношении R, имеющий атрибуты
- 63. Примеры выражений исчисления доменов (SX) WHERE S (П#:SX) – множество всех номеров поставщиков отношения S; (SX)
- 65. Скачать презентацию