Реляционная алгебра — презентация
logo
Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра. Унарные операции
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
  • Реляционная алгебра
1/46

Первый слайд презентации: Реляционная алгебра

Предложив РМД, Э.Ф. Кодд создал инструмент РА для удобной работы с отношениями. Основная идея РА Кодда состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут бази­роваться на традиционных теоретико-множественных операциях. Каждая операция этой алгебры использует одну или несколько таблиц (отношений) в качестве ее операндов и получает в результате новую таблицу, т.е. позволяет " разрезать" или " склеивать" таблицы (рис. 1 ). В качестве исходных операндов и результатов будут рассматриваться РТ. Они должны удовлетворять основным условиям РТ: не допускается повторение имен полей; не допускается дублирование записей.

Изображение слайда

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

Изображение слайда

Слайд 3: Реляционная алгебра

3 Реляционная алгебра

Изображение слайда

Слайд 4

4 Реляционная алгебра Хотя в основе этих операций лежит классическая теория множеств, они об­ладают некоторыми особенностями. Реляционные операторы обладают одним важным свойством: они замкнуты относительно понятия отношения. Это означает, что выражения реляционной алгебры определяются над отношениями реляционных БД и результатом вычисления также являются отношения. Поскольку результатом любой реляционной операции является некоторое отношение, запрос, представленный на языке реляционной алгебры, может быть вычислен на основе вычисления элементарных алгебраических операций с учетом их старшинства и возможного наличия скобок. Специальные реляционные операции, специфичные для БД, включают сле­дующие операции: выборку; проекцию; естественное соединение; деление.

Изображение слайда

Слайд 5: Реляционная алгебра

5 Реляционная алгебра

Изображение слайда

6 В зависимости от количества таблиц, участвующих в операциях, разли­чают унарные и бинарные операции. Унарная операция использует в качестве операнда одну таблицу, а бинарная – две. В результате операции получаем новую таблицу. Как будет показано позже, результат может сохраняться не только как реальная РТ, но и как виртуальная таблица в виде представления или запроса. Рассмотрим основные реляционные операции на примерах. Реляционная алгебра. Унарные операции Код Подразделение Фамилия Пол 1 1 Андреев М 2 1 Петрова Ж 3 2 Андреев М Сначала рассмотрим унарные операции с одной РТ. В качестве исходной РТ будем оперировать с данными о сотрудниках, которые хранятся в тСотрудники :

Изображение слайда

Слайд 7

7 Операция переименования Операция переименования полей имеет вид: тА RENAME Р1 AS Рk Результатом операции переименования является таблица, тело которой сов­падает с телом исходной тА, а имена полей изменены. В приведенном примере поле P1 получит новое имя Pk. Операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения ( A RENAME X AS Y ) Эта операция допускает множественность, а именно тА RENAME Р1 AS Рk, Р2 AS Рm, Р3 AS Рn В результате такой операции поля Р1, Р2, Р3 таблицы тА соответственно переименуются в поля Рk, Рm, Рn. Реляционная алгебра. Унарные операции

Изображение слайда

Слайд 8

8 Операция переименования Реляционная алгебра. Унарные операции Код П Фам Пол 1 1 Андреев М 2 1 Петрова Ж 3 2 Андреев М Заменим в тСотрудники имена полей Подразделение и Фамилия их сокращенными именами – П и Фам соответственно: тСотрудники RENAME Подразделение AS П, Фамилия AS Фам Результат можно рассматривать как виртуальную таблицу.

Изображение слайда

Слайд 9

9 Операция присваивания Реляционная алгебра. Унарные операции Операция присваивания позволяет сохранить в базе данных результаты вычисления алгебраических выражений (A:= B) Иногда удобнее не изменять исходные таблицы, которые могут понадо­биться впоследствии, а формировать на их основе новые : тВ : = тА. Такая запись означает, что значения таблицы-источника тА полностью за­меняют значения базовой таблицы-приемника тВ. Результатом операции присваивания будет новая тВ, тело которой совпадает с телом исходной тА, имена полей тоже не изменяются. Таким образом, получим две одинаковые таблицы тА и тВ.

Изображение слайда

Слайд 10

10 Операция присваивания Реляционная алгебра. Унарные операции Код П Фам Пол 1 1 Андреев М 2 1 Петрова Ж 3 2 Андреев М Операция присваивания позволяет обновлять БД и сохранять результаты вычисления реляционных выражений в существующей РТ. При наличии выражений в правой части сначала происходит вычисление значений, а затем эти значения запоминаются в новой таблице. Поэтому присваивание иногда формули­руют следующим образом: “сохранить как”. Сохраним результаты предыдущей операции переименования в тС : тС := тСотрудники RENAME Подразделение AS П, Фамилия AS Фам Переименование рекомендуется применять при создании интерфейса пользователя на языке, отличном от языка именования объектов БД.

Изображение слайда

Слайд 11

11 Операция расширения Реляционная алгебра. Унарные операции Операция расширения, позволяющая создавать новое отношение, дополненное атрибутом, значения которого получены посредством некоторых скалярных вычислений. EXTEND тА ADD < выр > AS Z, где выр – скалярное выражение. Результатом операции будет таблица с заголовком, эквивалентным заго­ловку тА, расширенному новым полем Z. Значения этого поля Z рассчитываются вычислением скалярного < выр > для каждой записи тА. При этом исходная тА не должна иметь поле Z, а < выр > не должно ссы­латься на поле Z. Число записей новой таблицы равно числу записей исходной, а количество полей увеличивается на единицу. Данная операция обеспечивает возможность построчного вычисления зна­чений нового поля РТ. Это поле можно использовать в дальнейшем при выполнении других операций.

Изображение слайда

Слайд 12

12 Операция расширения Реляционная алгебра. Унарные операции Код П Фам Пол Таб_н 1 1 Андреев М 101 2 1 Петрова Ж 102 3 2 Андреев М 203 Допустима множественная операция расширения вида EXTEND тА ADD <выр1> AS Z1, <выр2> AS Z2… В этом случае одновременно добавляется несколько полей. При этом каж­дое последующее выражение может ссылаться на ранее определенное поле, например, <выр2> может содержать поле Z1. Рассмотрим пример расчета табельного номера ( Таб_н ) т E := EXTEND тС ADD П *100+ Код AS Таб _ н

Изображение слайда

Слайд 13

13 Операция расширения Реляционная алгебра. Унарные операции Заданное выражение создает новую таблицу, в которой к полям тС добавляется новое поле Таб_н. Значение этого поля для каждой записи вычисляется по значениям существующих полей. Операция расширения позволяет проводить вычисления по записям РТ. Далее преобразуем тЕ, исключим поле Код, а поле Таб_н переместим на первое место. Для этого применим операцию проекции тСТ := тЕ [ Таб_н, П, Фам, Пол] Таб_н П Фам Пол 101 1 Андреев М 102 1 Петрова Ж 203 2 Андреев М

Изображение слайда

Слайд 14

14 Операция подве­дения итогов Реляционная алгебра. Унарные операции Для вычислений по полям используется дополнительная операция подве­дения итогов, которая дает возможность разбивать множество кортежей отношения на группы в соответствии с содержимым одного или нескольких атрибутов, и внутри каждой группы применять определенный оператор агрегирования (аналог операции GROUP BY в языке SQL). Операторы агрегирования предназначены для подведения итогов в определенном столбце таблицы – отношения, например, для нахождения суммарных, средних, минимальных и максимальных значений (SUM, AVG, MIN, MAX, COUNT ). SUMMARIZE <реляционное выражение> BY (атрибуты) ADD <функция агрегирования> AS <новое имя атрибута>

Изображение слайда

Слайд 15

15 Операция подве­дения итогов Реляционная алгебра. Унарные операции S# P# QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S2 P1 300 S2 P3 200 S3 P2 100 S3 P3 200 S3 P4 100 P# TOTAL_QTY P1 600 P2 300 P3 800 P4 300 П Кол_во 1 2 2 1 Пример 1: SUMMARIZE SP BY (P#) ADD SUM(QTY) AS TOTAL_QTY Отношение SP Результат Рассмотрим пример2 т S := SUMMARIZE тСТ BY ( П ) ADD COUNT AS Кол _ во

Изображение слайда

Слайд 16

16 Операция подве­дения итогов Реляционная алгебра. Унарные операции S# P# QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S2 P1 300 S2 P3 200 S3 P2 100 S3 P3 200 S3 P4 100 P# TOTAL_QTY P1 600 P2 300 P3 800 P4 300 П Кол_во 1 2 2 1 Пример 1: SUMMARIZE SP BY (P#) ADD SUM(QTY) AS TOTAL_QTY Отношение SP Результат Рассмотрим пример2 т S := SUMMARIZE тСТ BY ( П ) ADD COUNT AS Кол _ во Таблица отражает количество сотрудников, работающих в разных подразделениях, в виде скалярных чисел.

Изображение слайда

Слайд 17

17 Проекция Реляционная алгебра. Унарные операции Проекцией тА (Р1,Р2,… Рn ) по заданному набору полей Pi,…, Pк, принадлежащим исходной таблице, называется таблица с заголовком Pi,…, Pк и телом, содержащим множество соответствующих значений из всех записей ис­ходной тA. Проекция записывается так: тА [ Pi,…, Pк ] Здесь и далее считаем, что 1<=i<=n, 1<=к<=n. Тем самым, при выполнении операции проекции получается «вертикальное» подмножество данного отношения, то есть подмножество, получаемое исключением всех атрибутов, отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов. П роекция дает возможность получить вертикальное подмножество записей. .

Изображение слайда

Слайд 18

18 Проекция Реляционная алгебра. Унарные операции Пример операций проекции. NAME CITY Иванов Москва Петров Нижни й Новгород Сидоров Рязань Галкин Москва CITY Москва Нижни й Новгород Рязань A [NAME, CITY ] A [CITY]

Изображение слайда

Слайд 19

19 Проекция Реляционная алгебра. Унарные операции Код Фам 1 Андреев 2 Петрова 3 Андреев Получим проекцию по таблице тС по полям Код и Фам. тПр := тС [Код, Фам] Пол Фам М Андреев Ж Петрова Видно, что проекция позволяет отобрать из таблицы требуемые столбцы и исключить ненужные. В примере из тС исключены два поля – П и Пол. Иногда удобно указывать не тот список полей, по которым берется проекция, а те поля, которые исключаются из исходной таблицы. В нашем примере можно сказать так: “ тПр – это проекция, исключающая поля П и Пол из тС ”. Определим еще одну проекцию тС по полям Пол и Фам. тПр2:= тС [ Пол,Фам ]

Изображение слайда

Слайд 20

20 Выборка (ограничение отношения) Реляционная алгебра. Унарные операции Операци я выборк а ( ил и операция ограничен и е отношени я) - создает ново е отн о шени е, содержащее тольк о т е строк и отношения – операнда, которы е удовлетворяют некотором у у сло ви ю ограничени я. Результатом ограничения тА по некоторому условию называется таблица, у которой такой же заголовок, что и у тА, а тело состоит из такого множества всех записей исходной тА, которые удовлетворяют заданному условию. Операцию ограничения можно записать в виде выражения: A WHERE X θ Y где θ – любой скалярный оператор сравнения; X,Y – операнты.

Изображение слайда

Слайд 21

21 Выборка (ограничение отношения) Реляционная алгебра. Унарные операции Код П Фам Пол 1 1 Андреев М 3 2 Андреев М В качестве обоих операндов могут использоваться поля таблицы, один из операндов может заменяться скалярным или литеральным значением. При этом оба операнда должны быть определены на одном домене, а оператор должен иметь смысл для этого домена. С помощью ограничения можно отобрать из РТ нужные записи и получить горизонтальное подмножество записей. Покажем применение ограничения для тС. Отберем сотрудников-мужчин. тСП := тС WHERE Пол=”М” Поле Пол может принимать литеральное (текстовое) значение, поэтому значение для условия операции взято в кавычки

Изображение слайда

Слайд 22

22 Выборка (ограничение отношения) Реляционная алгебра. Унарные операции ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1996 Петров Нижни й Новгород 39 1777 Сидоров Рязань 21 1896 Галкин Москва 30 ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1896 Галкин Москва 30 ID_NUM NAME CITY AGE 1896 Галкин Москва 30 Операцию ограничения иногда называют θ-выборкой, а условия ограничения – условиями выборки, где θ означает любой скалярный оператор сравнения ( =, ≠, ≤, ≥ ). Пример операций выборки Отношение А A where CITY = ' Москва ' and AGE < 40 A where CITY = 'Москва'

Изображение слайда

Слайд 23

23 Оператор обновления Реляционная алгебра. Унарные операторы-действия Далее рассмотрим унарные операторы-действия. Эти операторы стали применять на практике для выполнения действий над РТ, а именно обновления данных и удаления записей. Таб_н П Фам Пол 101 1 Андреев М 102 1 Петрова Ж 203 3 Андреев М Оператор обновления имеет вид UPDATE тА Р1:=выр1,…, Pk := вырK,…, Рn := вырN, где значение каждого из полей Рk является результатом вычисления скаляр­ного выражения вырK. Все записи в таблице обновляются в соответствии с указанными операторами присвоения. Переведем сотрудников из цеха 2 в цех 3. UPDATE тСТ WHERE П=2 П:=3 Эта операция позволила перевести одного сотрудника из цеха 2 в цех 3.

Изображение слайда

Слайд 24

24 Оператор удаления Реляционная алгебра. Унарные операторы-действия Таб_н П Фам Пол 101 1 Андреев М 102 1 Петрова Ж Имеет вид DELETE тА < выр > Этот оператор позволяет удалить из таблицы те записи, для которых выполняется заданное выражение < выр >. Удалим записи о сотрудниках, которые работают в цехе 3. DELETE тСТ WHERE П=3 Этот оператор удалит одну запись о сотруднике, который работал в цехе 3. В указанных операциях выражение < выр > часто является просто ограничи­вающим условием для таблицы. Нужно также обратить внимание, что данные операторы-действия работают с множеством записей.

Изображение слайда

Слайд 25

25 Оператор вставки Реляционная алгебра. Унарные операторы-действия Рассмотрим дополнительную операцию РА – оператор вставки. Эта би­нарная операция имеет вид INSERT <источник>< выр > INTO <получатель>. Здесь <источник> и <получатель> – выражения, представляющие совмес­тимые по типу таблицы. Значение таблицы <источник> вычисляется по выпажению < выр > и все записи результата вставляются в таблицу <получатель>. Например, операция INSERT T2 WHERE Количество<3 INTO T3 позволит перенести из таблицы Т2 записи о студентах, изучивших менее трех дисциплин, в таблицу Т3. В принципе оператор вставки может быть и унарным, если <источник> и <получатель> – это одна и та же таблица.

Изображение слайда

Слайд 26

26 Совместимость по типу Реляционная алгебра. Бинарные операции Две таблицы считаются совместимыми по типу, если у них одинаковые заголовки, а именно: каждая из таблиц имеет одно и то же множество полей; соответствующие поля определены на одном и том же домене. Такие таблицы иногда называют совместимыми по объединению или просто совместимыми. Для проведения операций объединения, пересечения и разности необходимо, чтобы исходные таблицы-операнды были совместимости по типу. Рассмотрим на примерах основные бинарные операции РА. В качестве исходных рассмотрим две таблицы с конкретной смысловой информацией.

Изображение слайда

Слайд 27

27 тОбщежитие ( тО ) Совместимость по типу Реляционная алгебра. Бинарные операции Код Група Прізвище Середній бал информация о студентах, проходящих спецподготовку на военной кафедре 1 Гр1 Андреев 4 4 Гр2 Антонов 3 Код Группа Фамилия Комната информация о студентах, проживающих в общежитии 1 Гр1 Андреев 4 2 Гр3 Петров 3 Для обеих таблиц можно утверждать следующее: они имеют ключ (Код); они состоят из одинакового числа полей, равного 4; три первых поля определены на одних и тех же до­менах соответственно. тСпецподготовка ( тСп )

Изображение слайда

Слайд 28

28 Совместимость по типу Реляционная алгебра. Бинарные операции Основные теоретико - множественные операции РА с этими таблицами не могут быть проведены, потому что исходные таблицы-операнды несовместимы. Видно, что в таблицах возникает два вида конфликтов: конфликт имен полей, так как поля имеют разные имена; конфликт доменов, так как последние (четвертые) поля определены имеют разный смысл (определены на разных доменах). Прежде чем рассматривать примеры выполнения бинарных операций РА, необходимо разрешить перечисленные конфликты путем достижения совмести­мости исходных таблиц по типу. Для этого выполним преобразования исходных таблиц. Любые две таблицы могут быть сделаны совместимыми путем применения преобразования к одной из этих таблиц. При этом операция переименования на­ряду с операциями проекции применяется только к одной из таблиц-операндов. Но часто удобнее с целью симметрии произвести двойное преобразование обеих таблиц.

Изображение слайда

Слайд 29

29 Совместимость по типу Реляционная алгебра. Бинарные операции Код Гр Фам Балл 1 Гр1 Андреев 4 4 Гр2 Антонов 3 Код Гр Фам Комната 1 Гр1 Андреев 4 2 Гр3 Петров 3 Применим сначала к обеим таблицам переименование. тC2 := тСп RENAME Група AS Гр, Прізвище AS Фам, Середній б ал As Балл тО2 := тО RENAME Группа AS Гр, Фамилия AS Фам Теперь в таблицах тС2 и тО2 частично разрешен конфликт имен полей: три поля имеют одинаковые имена. При этом в таблицах осталось по одному полю с различными именами: Балл (тС2) и Комната (тО2). Это числовые поля, относящиеся к разным доменам. Можно было дать им одинаковые имена, например, переименовать поле Комната в Балл, и рассматривать далее таблицы как совместимые. Однако при этом был бы нарушен смысл доменов.

Изображение слайда

Слайд 30

30 Совместимость по типу Реляционная алгебра. Бинарные операции Код Гр Фам 1 Гр1 Андреев 4 Гр2 Антонов Код Гр Фам 1 Гр1 Андреев 2 Гр3 Петров Для исключения конфликта доменов приведем таблицы к полной совместимости путем исключения полей Балл и Комната из дальнейшего рассмотрения. Для этого применим проекцию к таблицам тС2 и тО2 тА :=тС2 [Код, Гр, Фам] тВ :=тО2 [Код, Гр, Фам] Теперь тА и тВ совместимы. С ними без проблем могут быть вы­полнены основные теоретико –множественные операции РА.

Изображение слайда

Слайд 31

31 Объединение Реляционная алгебра. Бинарные операции Объединением двух совместимых по типу отношений А и В (А ∪ В) называется отношение с тем же заголовком, как в отношениях А и В, и с телом, состоящим из множества кортежей t, принадлежащих А или В или обоим отношениям. А ∪ В При выполнении операции объединения двух отношений создается отношение, включающее кортежи, входящие хотя бы в одно из отношений-операндов. Обратите внимание, что повторяющиеся кортежи удаляются по определению отношения Объединение двух совместимых таблиц тА и тВ – это таблица, у которой такой же заголовок, что и у исходных таблиц-операндов, а тело состоит из таких записей, которые входят хотя бы в одну из исходных таблиц (или в тА или в тВ ). В общем виде объединение записывается так тA UNION тB

Изображение слайда

Слайд 32

32 Объединение Реляционная алгебра. Бинарные операции Код Гр Фам 1 Гр1 Андреев 4 Гр2 Антонов 2 Гр3 Петров Для нашего примера таблица объединения будет иметь вид тU : = тA UNION тB Таблица тU представляет информацию о всех студентах: или обучающихся на военной кафедре, или живущих в общежитии (или, или). При выполнении объединения существует возможность появления повто­ряющихся записей. Они должны быть исключены. Из таблицы тU исключена повторяющаяся запись (Андреев).

Изображение слайда

Слайд 33

33 Пересечение Реляционная алгебра. Бинарные операции Пересечением двух совместимых по типу отношений А и В (А ∩ В) называется отношение с тем же заголовком, как в отношениях А и В, и с телом, состоящим из множества кортежей t, принадлежащих одновременно обоим отношениям А и В. Операция пересечения двух отношений создает отношение, включающее все кортежи, входящие в оба отношения-операнда. ID_NUM NAME CITY AGE 1809 Иванов Москва 45 А ∩ В Отношение А ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1996 Петров Нижний Новгород 39 1777 Сидоров Рязань 21 Отношение В ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1896 Галкин Иваново 40

Изображение слайда

Слайд 34

34 Пересечение Реляционная алгебра. Бинарные операции Код_дет Название Вес 02 04 03 Д С В 2 3 2 Пусть имеются отношения: r - ИЗДЕЛИЕ 1 s - ИЗДЕЛИЕ 2 Сформируем ответ на такой запрос: определить детали, входящие в состав обоих изделий. Для этого необходимо выполнить операцию пересечения двух исходных отношений. Результат представляется отношением: Код_дет Название Вес 01 А 1 02 Д 2 03 В 2 04 С 3 05 Е 1 Код_дет Название Вес 02 Д 2 04 С 3 03 В 2 06 К 1

Изображение слайда

Слайд 35

35 Разность Реляционная алгебра. Бинарные операции Разностью двух совместимых по типу отношений А и В (А − В) называется отношение с тем же заголовком, как в отношениях А и В, и с телом, состоящим из множества кортежей t, принадлежащих отношению А и не принадлежащих отношению В. Отношение, являющееся разностью двух отношений, включает все кортежи, входящие в первое отношение, такие, что ни один из них не входит во второе отношение. А - В Отношение А ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1996 Петров Нижний Новгород 39 1777 Сидоров Рязань 21 Отношение В ID_NUM NAME CITY AGE 1809 Иванов Москва 45 1896 Галкин Иваново 40 ID_NUM NAME CITY AGE 1996 Петров Нижни й Новгород 39 1777 Сидоров Рязань 21

Изображение слайда

Слайд 36

36 Разность Реляционная алгебра. Бинарные операции Пусть имеются отношения: r - ПОТРЕБНОСТИ s - ВОЗМОЖНОСТИ Пусть отношение r представляет потребности в некоторых видах деталей, а отношение s — сведения о тех видах деталей, которые фирма может произвести сама, тогда отношение t = r—s содержит сведения о тех видах деталей, которые нужно приобрести. Код_дет Название Вес 01 А 1 02 Д 2 03 В 2 04 С 3 05 Е 1 Код_дет Название Вес 02 Д 2 04 С 3 03 В 2 06 К 1 Код_дет Название Вес 01 А 1 05 Е 1 t= г- s t = r—s

Изображение слайда

Слайд 37

37 П роизведение таблиц Реляционная алгебра. Бинарные операции t= г- s Поскольку таблицы являются множествами, то и для любых двух таблиц возможно получение прямого произведения. Однако элементами результата будут являться не записи, а пары записей. Следовательно, результат не будет таблицей. Поэтому в РА используется не операции взятия прямого произведения, а его специализированная форма – расширенное прямое произведение таблиц, которое для упрощения называется произведением. Произведение двух таблиц – это таблица, у которой заголовок представляет собой сцепление (конкатенацию) заголовков исходных таблиц, а тело состоит из таких записей, которые являются сцеплением записей исходных таблиц. Число записей таблицы–произведения равно произведению количества записей исход­ных таблиц.

Изображение слайда

Слайд 38

38 П роизведение таблиц. Декартово произведение Реляционная алгебра. Бинарные операции t= г- s Эта операция может применяться только к таблицам, совместимым по про­изведению. Для такой совместимости исходные таблицы должны иметь непересекающиеся множества полей или, другими словами, таблицы не могут со­держать одинаковые имена полей. В противном случае заголовок таблицы–произведения будет включать повторяющиеся имена полей, что недопустимо для реляционных таблиц. Декартово произведение д в у х отношени й А и В ( А × В ), г де А и В н е имеют общих имен атриб у то в, определ я ется как отношени е с заголовко м, представляющи м собой сцепление д в у х заголовко в исх о дны х отношени й А и В, и телом, состоя щ им из множеств а кортежей t таки х что первы м, является любой кортеж отношени я А, а вторы м – любой корте ж, принадлежа щ ий отношени ю В. Кардинальное число р е з у л ьтирующ е г о отношени я равн о произведению кардинальны х чисел и с ходных отношени й, а степень равняетс я с у мме степе н ей.

Изображение слайда

Слайд 39

39 П роизведение таблиц. Декартово произведение Реляционная алгебра. Бинарные операции t= г- s P1 P2 P3 P4 S1 S2 S3 S1 P1 S1 P2 S1 P3 S1 P4 S2 P1 S2 P2 S2 P3 S2 P4 S3 P1 S3 P2 S3 P3 S3 P4 Пусть отношение А – содержит имена всех текущих поставщиков, а отношение В – номера всех текущих деталей. Тогда А × В – это все текущие пары поставщик – деталь и деталь – поставщик. Отношение В Отношение А А × В На практике явное использование операции декартово произведение требуется только для очень сложных запросов. Эта операция включена в реляционную алгебру по концептуальным соображениям: (декартово произведение требуется как промежуточный шаг при определении операции θ - соединения, которая используется довольно часто).

Изображение слайда

Слайд 40

40 Реляционная алгебра. Бинарные операции t= г- s Операции объединения, пересечения и произведения таблиц обладают свойствами ассоциативности и коммутативности. Если обозначить указанные операции как ОП, то можно записать следующие эквивалентные выражения: Для свойства ассоциативности тA ОП ( тB ОП тF )  тA ОП тB ОП тF (эквиваленты) Для свойства коммутативности тA ОП тB  тB ОП тA (эквиваленты ) Если обозначить через s условия выборки, то можно записать тождества, которые верны для выборки: A WHERE s1 AND s2 = (A WHERE s1) INTERSECT (A WHERE s2) A WHERE s1 OR s2 = (A WHERE s1) UNION (A WHERE s2) A WHERE NOT s = A MINUS (A WHERE s) Эти тождества подтверждают, что условие выборки мо­жет содержать произвольное число логических сочетаний простых сравнений.

Изображение слайда

Слайд 41

41 Реляционная алгебра. Бинарные операции t= г- s Соединение отношений Соединение отношени й - создает ново е отношени е, ка ж д ы й корте ж которог о является рез у льтато м сцеп л ен и я кортежей операндов ( исходных отношени й). Соединени е имеет дв е разновидност и: естественно е соеди н ение и соединение п о у сл о ви ю ( θ - соединение). П у с т ь X ={ X 1, X 2, …, Xm }, Y ={ Y 1, Y 2, …, Yn }, Z ={ Z 1, Z 2, …, Zk }. Естественны м соеди н ением от н ошени й A ( X, Y ) и B ( Y, Z ) ( A J OI N B ) называется отношени е с заголовко м {Х, Y, Z } и с телом, содержащим множеств о всех к о ртежей вида <Х: x, Y : y, Z : z > таки х, для которы х в отношени и A значение атриб у т а Х равн о x, а значение атриб у т а Y равн о y, и в отн о шени и В значение а т риб у т а Y р а вн о y, а атриб у т а Z равн о z. Пр и естественно м соединени и производитс я сцеплен и е строк операндов соединения п о общим атриб у та м.

Изображение слайда

Слайд 42

42 Реляционная алгебра. Бинарные операции t= г- s Соединение отношений. Е стественно е соеди н ение ID_NUM NAME CITY STATUS 1809 Иванов Москва 20 1996 Петров Нижний Новгород 15 1777 Сидоров Рязань 10 IP_NUM NAIMEN CITY WEIGHT Р123 Болт Москва 12 Р896 Гайка Нижний Новгород 14 Р432 Шарнир Москва 15 ID_NUM NAME STATUS CITY IP_NUM NAIMEN CITY WEIGHT 1809 Иванов 20 Москва Р123 Болт Москва 12 1809 Иванов 20 Москва Р432 Шарнир Москва 15 1996 Петров 15 Нижний Новгород Р896 Гайка Нижний Новгород 14 Отношение А (поставщики) Отношение В (детали) A JOIN B

Изображение слайда

Слайд 43

43 Реляционная алгебра. Бинарные операции t= г- s Соединение отношений. С оединение п о у сл о ви ю Пусть отношения А и В не имеют общих имен атрибутов и определяется так же, как в операции выборки. θ – соединением( Тета ) отношения А по атрибуту X с отношением В по атрибуту Y называется результат выражения ( A × B ) WHERE X θ Y. θ - соединение – это отношение с тем же заголовком, что и при декартовом произведении отношений А и В, и с телом, содержащим множество кортежей t ∈ A × B таких, что вычисление условия X и Y дает значение истина для данного кортежа. Атрибуты X и Y должны быть определены на одном и том же домене, а оператор должен иметь смысл для этого домена. Таким образом, операция θ -соединение эквивалентна двум операциям: нахождению расширенного декартова произведения двух отношений (при необходимости с переименованием соответствующих атрибутов) и последующему выполнению указанной выборки из полученного результата.

Изображение слайда

Слайд 44

44 Реляционная алгебра. Бинарные операции t= г- s Соединение отношений. С оединение п о у сл о ви ю ID_NUM IP_NUM QTY 1809 Р123 100 1809 Р896 200 1777 Р432 150 1996 Р432 150 1996 Р123 250 ID_NUM NAME CITY STATUS 1809 Иванов Москва 20 1996 Петров Нижний Новгород 15 1777 Сидоров Рязань 10 ID_NUM NAME CITY STATUS AID_NUM IP_NUM QTY 1809 Иванов Москва 20 1809 Р123 100 1996 Петров Нижний Новгород 15 1996 Р432 150 1777 Сидоров Рязань 10 1777 Р432 150 Пример операции θ - соединения. Отнош ение А (поставщики) Отношение В (поставки) (A×B (RENAME ID_NUM AS AID_NUM) WHERE QTY <200

Изображение слайда

Слайд 45

45 Реляционная алгебра. Бинарные операции t= г- s Операция деления У операции реляционного деления два операнда - бинарное и унарное отношения. Пусть X ={ X 1, X 2, …, Xm }, Y ={ Y 1, Y 2, …, Yn }. Делением отношений А(Х, Y ) на В( Y ) (А/В) называется отношение с заголовком { X } и телом, содержащим множество всех кортежей { X : x }, таких что существует кортеж{ X : x, Y : y }, который принадлежит отношению А для всех кортежей { Y : y }, принадлежащих отношению В. Деление отношений создает новое отношение, содержащее атрибуты первого отношения, отсутствующие во втором отношении и кортежи первого отношения, которые совпали с кортежами второго. Для выполнения этой операции второе отношения должно содержать лишь атрибуты, совпадающие с атрибутами первого. Замечание: Операция деления полезна тогда, когда запрос содержит слово «все».

Изображение слайда

Последний слайд презентации: Реляционная алгебра

46 Реляционная алгебра. Бинарные операции t= г- s Операция деления S# P# S1 P1 S1 P2 S1 P 3 S1 P4 S2 P1 S2 P3 S3 P2 S3 P3 P# P2 P3 P# P1 P2 P3 Отношение А Отношение В Отношение В1 Отношение В2 A/B A/В1 A/B2 S1 S1 S1 S2 S3 P# P1

Изображение слайда

Похожие презентации