Операции реляционной алгебры

Содержание

Слайд 2

В основу модели положена математическая теория отношений. Домен – это множество

В основу модели положена математическая теория отношений.
Домен – это множество возможных

значений некоторой величины из предметной области.
Например: Фамилии = {Иванов, Петров, Сидоров} или Дисциплины = {БД, СПО, ПЯВУ}

Реляционная модель данных

Отношение – любое подмножество из декартова произведения доменов.
Не формально: отношение (relationship) – зависимость одних данных от других
Например,
R = {(2,1), (4,1)}
D1 × D2 = {(2,1), (2,3) , (2,5) , (4,1) , (4,3) , (4,5)}

Декартово произведение множеств – множество всевозможных пар сочетаний элементов из D1 и D2: D1 × D2 = {(2,1), (2,3) , (2,5) , (4,1) , (4,3) , (4,5)}

Слайд 3

Характеристики отношения Отношение моделирует реальную ситуацию, т.е. для каждого элемента из

Характеристики отношения

Отношение моделирует реальную ситуацию, т.е. для каждого элемента из R

можно утверждать, что он соответствуют действительности

Кортеж – это строка таблицы (запись).
Атрибут – это столбец таблицы, отражающий вхождение домена в отношение (поле).
Степень отношения – количество атрибутов (полей).
Кардинальность – количество кортежей (записей).
Схема отношения – перечень имен атрибутов с указанием соответствующих доменов

Слайд 4

Свойства отношения В отношении не может быть двух одинаковых кортежей, при

Свойства отношения

В отношении не может быть двух одинаковых кортежей, при этом

порядок их следования может быть произвольный.
Атрибуты (поля) должны иметь уникальные имена.
Атомарность значений атрибутов, в связи с определением домена как потенциального множества значений простого типа данных.
Целостность сущности и ссылок. Любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. любое отношение должно обладать первичным ключом. Сложные сущности реального мира представляются в виде нескольких кортежей нескольких связанных отношений.

Для поддержания уникальности кортежей отношения определяется первичный ключ (PRIMARY KEY).
Для поддержания связи между двумя отношениями определяется внешний ключ (FOREIGN KEY).

Слайд 5

Если атрибуты из одного домена, то они называются θ-сравнимыми, где θ

Если атрибуты из одного домена, то они называются θ-сравнимыми, где θ

- множество операций сравнения для заданного домена. Например, место рождения и место жительства – сравнимы, место рождения и год рождения не сравнимы (разные домены).
Для домена «Год рождения» θ = {=, <>, >, <, >=, <=}
Для домена «Место жительства» θ = {=, <>}
Эквивалентные схемы – одинаковая степень и одинаковый порядок следования атрибутов

Сравнимость атрибутов отношений

Слайд 6

Операции реляционной алгебры бинарные (множественные) унарные (специализированные) объединение пересечение разность соединение произведение выборка проекция

Операции реляционной алгебры

бинарные
(множественные)

унарные
(специализированные)

объединение
пересечение
разность
соединение
произведение

выборка
проекция

Слайд 7

Объединение Пусть R1 и R2 два отношения с эквивалентными схемами. Тогда

Объединение

Пусть R1 и R2 два отношения с эквивалентными схемами.
Тогда R1

∪ R2 - объединение R1 и R2.
В результате создается отношение с такой же схемой, в которое входят все кортежи из R1 и те кортежи из R2, которых нет в R1

Отношение R2
Номер Название
12 Муфта
13 Муфта
14 Гайка

Отношение R1
Номер Название
10 Гайка
11 Шайба
12 Муфта

R1 ∪ R2

Какие детали используются в цехах (R1 и R2)?

Слайд 8

Оператор UNION Оператор UNION объединяет результаты двух запросов в один выходной

Оператор UNION

Оператор UNION объединяет результаты двух запросов в один выходной набор

строк. Повторяющиеся строки по умолчанию исключаются, при этом столбцы с пустыми значениями считаются одинаковыми.
Распространенный синтаксис:
SELECT Инструкция1
UNION [ALL]
SELECT Инструкция2
UNION [ALL]

Предложение ORDER BY можно использовать только один раз для всего оператора.

В базе данных ВЦ института хранятся списки сотрудников и студентов, имеющих доступ к ресурсам сети. Вывести список всех пользователей.
SELECT Номер, Фамилия FROM Сотрудник
UNION
SELECT Номер, Фамилия FROM Студент
ORDER BY Номер, Фамилия

Слайд 9

Пересечение Пусть R1 и R2 два отношения с эквивалентными схемами. Тогда

Пересечение

Пусть R1 и R2 два отношения с эквивалентными схемами. Тогда :
R1∩

R2 - пересечение R1 и R2. В результате отношение с той же схемой, в которое входят одинаковые кортежи, имеющиеся и в R1 и в R2

Отношение R2
Номер Название
12 Муфта
13 Муфта
14 Гайка

Отношение R1
Номер Название
10 Гайка
11 Шайба
12 Муфта

R1 ∩ R2

Какие детали используются как в первом (R1), так и во втором цехе (R2)?

Слайд 10

Оператор INTERSECT Оператор INTERSECT примененный к двум наборам строк создает результирующий

Оператор INTERSECT

Оператор INTERSECT примененный к двум наборам строк создает результирующий набор,

включая в него те строки, которые есть в обоих исходных наборах.
Распространенный синтаксис:
SELECT Инструкция1
INTERSECT [ALL]
SELECT Инструкция2
INTERSECT [ALL]
Необязательное ключевое слово ALL позволяет оставить повторяющиеся строки в исходных наборах, при этом столбцы с пустыми значениями считаются одинаковыми.

В базе данных ВЦ института хранятся списки сотрудников и студентов, имеющих доступ к ресурсам сети. Вывести список студентов, которые являются сотрудниками института.
SELECT Номер, Фамилия FROM Сотрудник
INTERSECT
SELECT Номер, Фамилия FROM Студент
ORDER BY Номер, Фамилия

Слайд 11

Разность Пусть R1 и R2 два отношения с эквивалентными схемами. Тогда

Разность

Пусть R1 и R2 два отношения с эквивалентными схемами.
Тогда :

R1– R2 - разность R1 и R2. В результате отношение с той же схемой, в которое входят те кортежи из R1, которых нет в R2.
Результат операции зависит от порядка следования операндов.

Отношение R2
Номер Название
12 Муфта
13 Муфта
14 Гайка

Отношение R1
Номер Название
10 Гайка
11 Шайба
12 Муфта

R1 – R2

Какие детали используются только в первом (R1) цехе?

Слайд 12

Оператор EXCEPT Оператор EXCEPT примененный к двум наборам строк создает результирующий

Оператор EXCEPT

Оператор EXCEPT примененный к двум наборам строк создает результирующий набор,

включая в него те строки из первого набора которые отсутствуют во втором.
Распространенный синтаксис:
SELECT Инструкция1
EXCEPT
SELECT Инструкция2
EXCEPT

В базе данных ВЦ института хранятся списки сотрудников и студентов, имеющих доступ к ресурсам сети. Вывести список сотрудников, которые не являются студентами.
SELECT Номер, Фамилия FROM Сотрудник
EXEPT
SELECT Номер, Фамилия FROM Студент
ORDER BY Номер, Фамилия

Слайд 13

Произведение Произведение двух отношений (декартово произведение) – это объединение каждой строки

Произведение

Произведение двух отношений (декартово произведение) – это объединение каждой строки первого

отношения со всеми строками второго.
Если отношение R1 имеет n кортежей, а отношение R2 имеет m кортежей, то их произведение R1×R2 будет иметь n×m кортежей. Операция R1×R2 допустима для любых двух отношений.

Произведение отношений «Детали» и «Поступления»

Слайд 14

Естественное соединение Естественным или натуральным называется соединение двух взаимосвязанных отношений, при

Естественное соединение

Естественным или натуральным называется соединение двух взаимосвязанных отношений, при котором

объединяются кортежи с совпадающими значениями общих атрибутов.
Операция обозначается значком .

Отношение R1
Фамилия Группа
Иванов 101
Петров 101
Николаева 110
Отношение R2
Группа Специальность
101 ИСТ
102 МТ
110 ПОВТ

R1  R2
Фамилия Группа Специальность
Иванов 101 ИСТ
Петров 101 ИСТ
Николаева 110 ПОВТ

Слайд 15

Пример Естественное соединение а) – отношение Группы, б) – отношение Студенты,

Пример

Естественное соединение а) – отношение Группы, б) – отношение Студенты,
в)

- отношение R = Студенты  Группы

а)

б)

в)

Слайд 16

Внешнее соединение Внешнее соединение расширяет естественное соединение: в ответ включаются и

Внешнее соединение

Внешнее соединение расширяет естественное соединение: в ответ включаются и те

записи, для которых не найдено совпадающее значение общего атрибута. Недостающим атрибутам присваивается пустое значение.
Внешнее соединение можно выполнить относительно любого из двух отношений. Каждый кортеж этого отношения включается в ответ хотя бы один раз.

Синтаксис выражения объединения двух таблиц:
FROM таблица1 [тип соединения ] JOIN таблица2 [ON условие соединения]
Тип соединения задается с использованием следующих ключевых слов:
INNER JOIN – внутреннее соединение, используется по умолчанию;
LEFT JOIN – левое внешнее соединение;
RIGHT JOIN – правое внешнее соединение;
FULL JOIN – полное внешнее соединение;

Слайд 17

Внешнее соединение: а) – отношение Группы, б) – отношение Студенты, в)

Внешнее соединение: а) – отношение Группы, б) – отношение Студенты,
в)

Соединение относительно отношения Группы,
г) Соединение относительно отношения Студенты

а)

б)

в)

г)

Пример

Слайд 18

Параметры объединения записей связанных таблиц

Параметры объединения записей связанных таблиц

Слайд 19

Выборка (Select) Операция горизонтального выбора – это создание нового отношения из

Выборка (Select)

Операция горизонтального выбора – это создание нового отношения из исходного

путем отбора кортежей, удовлетворяющих заданному условию. При этом схема отношения не изменяется.

Операндами логического выражения являются атрибуты отношения R и константы. Разрешенные операции: >, <, >=, <=, = <>.
Простые логические выражения могут быть операндами в сложных логических выражениях с использованием логических операций AND, OR, NOT.

Название = ‘Муфта’
Вес > 9
Название = ‘Муфта’ AND Вес > 9

Слайд 20

Отношение R = σ Название = ‘Муфта’ (Детали) Отношение Детали Отношение R = σ Вес Примеры

Отношение R = σ Название = ‘Муфта’ (Детали)

Отношение Детали

Отношение R =

σ Вес<10 (Детали)

Примеры

Слайд 21

Проекция Оператор проекции (вертикальный выбор) применяется к отношению для получения нового

Проекция

Оператор проекции (вертикальный выбор) применяется к отношению для получения нового отношения,

содержащего только некоторые столбцы исходного.

Отношение Детали

Отношение R = π Название, Цвет (Детали)

Пример

Отношение, полученное в результате проекции, содержит меньше строк, чем исходное. Повторяющаяся строка в ответ не включается.

Слайд 22

Расширенная проекция позволяет в список атрибутов нового отношения включать вычисляемые выражения

Расширенная проекция позволяет в список атрибутов нового отношения включать вычисляемые выражения

арифметические или строковые. Значение нового атрибута вычисляется из значений других атрибутов кортежа.
Определены несколько операций вычисления общих значений атрибута – SUM, AVG, MIN, MAX, COUNT.
Слайд 23

Формирование запросов Запрос на получение данных строится как выражение реляционной алгебры

Формирование запросов

Запрос на получение данных строится как выражение реляционной алгебры с

использованием скобок, устанавливающих приоритет выполнения операций.
Пример.
Вывести номер и количество для деталей с названиями «Муфта».
Выражение реляционной алгебры:
π Номер, Количество (σ Название = ‘Муфта’ (Детали)  Поступления)
Другой способ:
π Номер, Количество (σ Название = ‘Муфта’ (Детали  Поступления))
Слайд 24

Если запрос включает несколько операций с множествами, то выполняется сначала операция

Если запрос включает несколько операций с множествами, то выполняется сначала операция

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