Основы реляционной алгебры и реляционного исчисления. Общие принципы обработки данных реляционных таблиц

Страницы работы

Фрагмент текста работы

Вычитание совместимых отношений R1 и R2 одинаковой размерности (R1 MINUS R2) есть отношение, тело которого состоит из множества кортежей, принадлежащих R1, но не принадлежащих отношению R2. R (R1 MINUS R2)

24

Пример 2.1. Вычитание отношений.

исходные данные – из примера 1

R (R1 MINUS R2)

результат - множество поставщиков из Москвы, не поставляющих деталь Р1

25

Пример 2.2. Вычитание отношений.

исходные данные – из примера 1

R (R2 MINUS R1)

результат - множество поставщиков детали Р1 не из Москвы

26

Из примера 2 видно, что результат операции вычитания зависит от порядка следования операндов, т.е. (R1 MINUS R2) и (R2 MINUS R1) — не одно и то же.

27

Пересечение двух совместимых отношений R1 и R2 одинаковой размерности (R1 INTERSECT R2) порождает отношение R с телом, включающим в себя кортежи, одновременно принадлежащие обоим исходным отношениям: R (R1 INTERSECT R2)

28

Пример 3. Пересечение отношений.

исходные данные – из примера 1

R (R1 INTERSECT R2)

результат - множество поставщиков из Москвы, поставляющих деталь Р1 – 1 кортеж

29

Произведение отношения R1 степени k1 и отношения R2 степени k2 (R1 TIMES R2), которые не имеют одинаковых имен атрибутов, есть такое отношение R степени (k1+k2), заголовок которого представляет сцепление заголовков отношений R1 и R2, а тело имеет кортежи такие, что первые k1 элементов кортежей принадлежат множеству R1, а последние k2 элементов - множеству R2.

30

При необходимости получить произведение двух отношений, имеющих одинаковые имена одного или нескольких атрибутов, применяется операция переименования RENAME.

31

Пример 4. Произведение отношений. Пусть отношение R1 представляет собой множество номеров всех текущих поставщиков {S1, S2, S3, S4, S5}, а отношение R2 - множество номеров всех текущих деталей {Р1, Р2, РЗ, Р4, Р5, Р6}. Результатом операции R1 TIMES R2 является множество всех пар типа «поставщик - деталь», то есть {(S1.P1), (S1.P2), (S1.P3), (S1.P4), (S1.P5), (S1.P6), (S2.P1), … , (S5.P6)}, т.е. всего 5 Х 6 = 30 пар значений (кортежей или строк).

32

Выборка (R WHERE f) отношения R по формуле f (горизонтальная выборка) представляет собой новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f. Для записи формулы используются операнды - имена атрибутов (или номера столбцов), константы, логические операции (AND - И, OR - ИЛИ, NOT - HE), операции сравнения и скобки.

33

Пример 5.1. Выборки. Исходные данные – отношение P (сведения обо всех деталях):

Р WHERE Вес < 14

34

Пример 5.2. Выборки. Исходные данные – отношение P (сведения обо всех деталях):

Р WHERE (Название = ‘винт‘) AND (Вес > 15)

35

Проекция (вертикальная выборка) отношения А на атрибуты X, Y,..., Z (А [X, Y,..., Z]), где множество {X, Y,..., Z} является подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовком X, Y, ..., Z и телом, содержащим кортежи отношения А, за исключением повторяющихся кортежей. Повторение одинаковых атрибутов в списке X, Y, ..., Z запрещается.

36

Операция проекции допускает следующие дополнительные варианты записи: • отсутствие списка атрибутов подразумевает указание всех атрибутов (операция тождественной проекции); • выражение вида R[ ] означает пустую проекцию, результатом которой является пустое множество; • операция проекции может применяться к произвольному отношению, в том числе и к результату выборки.

37

Пример 6. Проекция. Исходные данные - отношение P (сведения обо всех деталях):

Проекция исходного отношения P на 2 атрибута (вместо 6 кортежей в проекции осталось 4):

38

Другие операции РА и примеры – см. учебник (есть в электронном виде): Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. – М.: Бином-Пресс; СПб.: КОРОНА принт, 2006. -736 с.

39

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

  • Принципиальное различие между РА и РИ:
  • в 1-м случае (РА) процесс получения искомого результата описывается явным образом путем указания набора операций (объединение, пересечение и др.), которые надо выполнить для получения результата;
  • во 2-м случае (РИ) - указываются свойства искомого отношения без конкретизации процедуры его получения.

40

Внешне подходы сильно различаются: один из них предписывающий (РА), а другой -описательный (РИ). На более низком уровне рассмотрения подходы эквивалентны, т.к. любые выражения РА можно преобразовать в эквивалентные выражения РИ и наоборот. Преимуществом РИ перед РА можно считать то, что пользователю не требуется строить алгоритм выполнения запроса. Программа СУБД «сама» строит эффективный алгоритм (хотя многие СУБД на основе РИ позволяют пользователю корректировать этот алгоритм).

41

Математической основой РИ является исчисление предикатов - один из разделов математической логики. В теории исчисления предикатов под предикатом понимается функция, значения которой - высказывания. Чтобы задать n-местный предикат P(x1, x2, …, xn), нужно указать множества

Похожие материалы

Информация о работе