Лекция 6 - Реляционная модель данных_Часть 2_Операции над отношениями

Содержание

Слайд 2

Курс лекций «Базы данных»

Операции над отношениями

Существует два эквивалентных математических аппарата:
реляционная алгебра

Курс лекций «Базы данных» Операции над отношениями Существует два эквивалентных математических аппарата:
и реляционное исчисление.
Реляционная алгебра задает набор операторов для выполнения операций над реляционными отношениями.
Операции реляционной алгебры Кодда можно разделить на две группы:
базовые теоретико–множественные
и
специальные реляционные.

Слайд 3

Курс лекций «Базы данных»

Первая группа операций (базовые теоретико–множественные ) включает в себя

Курс лекций «Базы данных» Первая группа операций (базовые теоретико–множественные ) включает в
операторы, представляющие собой традиционные операции над множествами, а именно:
объединение отношений;
пересечение отношений;
разность (вычитание) отношений;
декартово произведение отношений.

Слайд 4

Курс лекций «Базы данных»

Вторая группа (специальные реляционные) представляет собой специальные реляционные операторы:

Курс лекций «Базы данных» Вторая группа (специальные реляционные) представляет собой специальные реляционные

выборка (селекция);
проекция;
соединение отношений;
деление отношений.

Слайд 5

Курс лекций «Базы данных»

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

Курс лекций «Базы данных» Операции реляционной алгебры могут выполняться над одним (унарная
или двумя отношениями (бинарная операция).
При выполнении бинарной операции участвующие в операциях отношения должны быть совместимы по структуре.
Отношения называются совместимыми, если число и состав их атрибутов совпадают, то есть схемы отношений одинаковые.

Слайд 6

Курс лекций «Базы данных»

Теоретико–множественные операции над отношениями

Объединение (UNION) двух совместимых отношений R1

Курс лекций «Базы данных» Теоретико–множественные операции над отношениями Объединение (UNION) двух совместимых
и R2 одинаковой размерности – это отношение R, содержащее все элементы исходных отношений. Повторяющиеся кортежи не включаются.

Слайд 7

Курс лекций «Базы данных»
Пример 1 . Объединение отношений

Курс лекций «Базы данных» Пример 1 . Объединение отношений

Слайд 8

Курс лекций «Базы данных»

2) Пересечение (INTERSECT) двух совместимых по типу отношений R1

Курс лекций «Базы данных» 2) Пересечение (INTERSECT) двух совместимых по типу отношений
и R2 одинаковой размерности – это отношение R с телом, включающим в себя кортежи, одновременно принадлежащие обоим отношениям.

Слайд 9

Курс лекций «Базы данных»

Пример 2. Пересечение отношений
Пусть входные отношения R1 и R2 имеют

Курс лекций «Базы данных» Пример 2. Пересечение отношений Пусть входные отношения R1
тот же вид, что в Примере1, тогда на выходе получим:

Слайд 10

Курс лекций «Базы данных»

3) Вычитание (MINUS) двух совместимых по типу отношений R1

Курс лекций «Базы данных» 3) Вычитание (MINUS) двух совместимых по типу отношений
и R2 одинаковой размерности – это отношение R с телом, состоящим из множества всех кортежей, принадлежащих отношению R1 и не принадлежащих отношению R2.

Слайд 11

Курс лекций «Базы данных»

Пример 3. Вычитание отношений
Пусть входные отношения R1 и R2

Курс лекций «Базы данных» Пример 3. Вычитание отношений Пусть входные отношения R1
опять имеют тот же вид, что в Примере1, тогда на выходе получим:

Слайд 12

Курс лекций «Базы данных»

4) Декартово произведение отношений (TIMES) – это бинарный оператор,

Курс лекций «Базы данных» 4) Декартово произведение отношений (TIMES) – это бинарный
предназначенный для комбинирования двух отношений.
Пусть R1 отношение степени k1 , а R2 отношение степени – k2.
R = R1 × R2 будет представлять собой множество кортежей таких, что первые k1 элементов кортежа отношения R составляют кортежи отношения R1, а последующие k2 элемента кортежа из R составляются кортежами из R2. Сочетание кортежей из R1 и R2 при образовании кортежа R осуществляется по правилам декартова произведения.
Здесь R1 и R2 могут иметь разные схемы.
Степень отношения R равна сумме степеней отношений операндов R1 и R2.
Мощность отношения R равна произведению мощностей R1 и R2.

Слайд 13

Курс лекций «Базы данных»

Пример 4. Произведение отношений

Курс лекций «Базы данных» Пример 4. Произведение отношений

Слайд 14

Курс лекций «Базы данных»

1) Выборка (R WHERE f) отношения R по формуле

Курс лекций «Базы данных» 1) Выборка (R WHERE f) отношения R по
f представляет собой новое отношение, заголовок которого совпадает с заголовком отношения R, а тело содержит множество кортежей, являющихся подмножеством множества кортежей отношения R, для которых формула f принимает значение истина.

Здесь f – логическая формула (предикат), принимающая значение истина или ложь, образованная операндами, представляющими собой имена атрибутов отношений R или литералы, а также скалярными операторами сравнения (=, <>,>, <, >=, <=) и логическими операторами И, ИЛИ, НЕ.
Выбор – унарная операция.

Специальные реляционные операторы

Слайд 15

Курс лекций «Базы данных»

Пример 5. Выборки
Пусть R – исходное отношение.

Тогда отношение, полученное

Курс лекций «Базы данных» Пример 5. Выборки Пусть R – исходное отношение.
с помощью оператора
R WHERE Курс = 1, будет иметь вид:

Слайд 16

Курс лекций «Базы данных»

Пример 5. Выборки
Пусть R – исходное отношение.

 
А отношение, полученное

Курс лекций «Базы данных» Пример 5. Выборки Пусть R – исходное отношение.
с помощью оператора
R WHERE Факультет = “Информатики ” AND Курс = “3”, будет иметь вид:

Слайд 17

Курс лекций «Базы данных»

2) Проекция отношения R по атрибутам X, Y, …, Z обозначается R [X, Y, …, Z],

Курс лекций «Базы данных» 2) Проекция отношения R по атрибутам X, Y,
где каждый из указанных атрибутов принадлежит отношению R, – это отношение с заголовком { X, Y, …, Z } и телом, содержащим кортежи отношения R, за исключением повторяющихся кортежей. Повторение одинаковых атрибутов в списке X, Y, …, Z запрещается.

С помощью оператора проекции получается «вертикальное» подмножество атрибутов отношения R с последующим исключением дублирующих кортежей (если они возникают).

Слайд 18

Курс лекций «Базы данных»

Пример 6. Проекция
Пусть исходным отношением будет отношение R из

Курс лекций «Базы данных» Пример 6. Проекция Пусть исходным отношением будет отношение
Примера 5.
Тогда по атрибутам Фамилия и Факультет получим следующую проекцию:

Слайд 19

Курс лекций «Базы данных»

3) Соединение – операция реляционной алгебры, связывающая таблицы. Операция

Курс лекций «Базы данных» 3) Соединение – операция реляционной алгебры, связывающая таблицы.
соединения используется для связывания данных между таблицами. Это, возможно, наиболее важная функция любого языка баз данных!
Θ–соединение отношений. Пусть отношения R1 и R2 не имеют атрибутов с одинаковыми именами, а символ Θ (греческая буква тэта) обозначает один из операторов сравнения: =, <>, >, <, <=, >=.

Слайд 20

Курс лекций «Базы данных»

Тогда Θ–соединением отношения R1 по атрибуту Х с отношением

Курс лекций «Базы данных» Тогда Θ–соединением отношения R1 по атрибуту Х с
R2 по атрибуту Y является отношение, совпадающее с декартовым произведением отношений R1 и R2, для кортежей которого выражение условия X Θ Y принимает значение истина.
Другими словами, ТЭТА–соединение это
(R1 TIMES R2) WHERE XΘY.
Очевидно, что сравниваемые атрибуты X и Y должны быть определены на общем домене для того, чтобы операция сравнения имела смысл.

Слайд 21

Курс лекций «Базы данных»

Пример 7. Θ–соединение

Ответ на вопрос “какие пилоты могут управлять

Курс лекций «Базы данных» Пример 7. Θ–соединение Ответ на вопрос “какие пилоты
какими самолетами?” дает Θ–соединение отношений
R1 и R2:
(R1 TIMES R2) WHERE X≥ Y.

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

Слайд 22

Курс лекций «Базы данных»

Частным случаем соединения являются эквисоединение и естественное соединение.
Операция эквисоединения

Курс лекций «Базы данных» Частным случаем соединения являются эквисоединение и естественное соединение.
характеризуется тем, что оператор сравнения в этом соединении это– «=».
Операция естественного соединения (операция R1 JOIN R2) применяется к двум отношениям, имеющим общий атрибут (простой или составной). Этот атрибут в отношениях имеет одно и то же имя (совокупность имен) и определен в одном и том же домене (доменах).
Результатом операции естественного соединения является отношение R, которое представляет собой проекцию эквисоединения отношений R1 и R2 по общему атрибуту на объединенную совокупность атрибутов обоих отношений.

Слайд 23

Курс лекций «Базы данных»

Пример 8. Естественное соединение
Пусть необходимо найти естественное соединение отношений

Курс лекций «Базы данных» Пример 8. Естественное соединение Пусть необходимо найти естественное

R1 (ПИЛОТЫ) и R2 (САМОЛЕТЫ) из Примера 7,
соединение нужно произвести по общему атрибуту, характеризующему статус (в отношении R1 – это Статус_П, а в R2 – Статус_С).
Поскольку условие операции требует одинаковости имен атрибутов, по которым выполняется соединение, то применяется операция RENAME переименования атрибутов.
Операция переименования позволяет изменить имя атрибута отношения и имеет вид:
RENAME<исходное отношение><старое имя атрибута>
AS <новое имя атрибута>.
В результате естественного соединения отношений R1 и R2 получим:
(R1 RENAME Статус_П AS Статус) JOIN
(R2 RENAME Статус_С AS Статус)

Слайд 24

Курс лекций «Базы данных»

Пример 8. Естественное соединение
(R1 RENAME Статус_П AS Статус) JOIN

Курс лекций «Базы данных» Пример 8. Естественное соединение (R1 RENAME Статус_П AS

(R2 RENAME Статус_С AS Статус)

Слайд 25

Курс лекций «Базы данных»

4) Деление отношения.
Пусть R1 и R2 – два отношения.
Тогда

Курс лекций «Базы данных» 4) Деление отношения. Пусть R1 и R2 –
отношение R := R1/R2
может быть получено следующим образом:
1. Результирующее отношение R будет содержать только те атрибуты делимого R1, которых нет в делителе R2.
2. В результирующее отношение R включаются только те кортежи из R1, декартово произведение которых с делителем R2 содержится в делимом (является подмножеством делимого).
Имя файла: Лекция-6---Реляционная-модель-данных_Часть-2_Операции-над-отношениями.pptx
Количество просмотров: 43
Количество скачиваний: 0