Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отв с 13-24.docx
Скачиваний:
16
Добавлен:
01.03.2025
Размер:
938 Кб
Скачать
☆

3)Реляционная алгебра операции над отношениями.

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

Объединение выполняется над двумя совместными отношениями R1, R2 с идентичной структурой. В результате операции строится новое отношение R = R1 U R2 , которое имеет тот же состав атрибутов и совокупность кортежей исходных отношений. В результирующее отношение по определению не включаются дубликаты кортежей. Ниже приведены исходные отношения: R1 (табл. 2) и R2 (табл. 3) и результат объединения – R (табл. 4).

Таблица 2

ФИО

Год рождения

Должность

Кафедра

Иванов И.И.

1948

Зав. кафедрой

22

Сидоров С.С.

1953

Доцент

22

Козлов К.К.

1980

Ассистент

23

ФИО

Год рождения

Должность

Кафедра

Иванов И.И.

1948

Зав. кафедрой

22

СидоровС.С.

1953

Доцент

22

Козлов К.К.

1980

Ассистент

23

ЦветковаН.Н.

1965

Доцент

23

Петрова П.П.

1953

Ст.преподаватель

22

Таблица 4

Таблица 3

ФИО

Год рождения

Должность

Кафедра

Цветкова Н.Н.

1965

Доцент

23

Петрова П.П.

1953

Ст. преподаватель

22

Козлов К.К.

1980

Ассистент

23

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

R3 = R1 R2={ г | r R1 ^ г R2 }, здесь ^ — операция логического умножения (логическое «И»).

Таблица 5

ФИО

Год рождения

Должность

Кафедра

Козлов К.К.

1980

Ассистент

23

Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих R1 и не принадлежащих R2:

R5 = RI \ R2 = { г | r R1 ^ r R2 }

Таблица 6

ФИО

Год рождения

Должность

Кафедра

Иванов И.И.

1948

Зав. кафедрой

22

Сидоров С.С.

1953

Доцент

22

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

Например, чтобы узнать, кто из студентов получил по математике 5 и по информатике 4, надо разделить отношения Экзаменационная ведомость на вспомогательное отношение Мат5Физ4 (Наименование, Оценка) с двумя кортежами: Математика, 5 и Информатика, 4. В результате получим отношение Итог (Номер студента, ФИО студента, Код дисциплины) с одним кортежем – 13, Сидоров, Д1.

Выборка выполняется над одним отношением R. Для отношения по заданному условию (предикату) осуществляется выборка подмножества кортежей. Результирующее отношение имеет ту же структуру, что и исходное, но число его кортежей будет меньше (или равно) числа кортежей исходного отношения. Например, выбрать студентов, сдавших математику на отлично (Код дисциплины = Д1) AND(Оценка = 5) (табл. 10).

Операция фильтрации является одной из основных при работе с реляционной моделью данных.

Таблица 10

Номер

студента

ФИО

студента

Код

дисциплины

Наименование

Оценка

11

Иванов И.И.

Д1

Математика

5

13

Сидоров С.С.

Д1

Математика

5

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

Ниже приведен пример исходного отношения R (табл. 11) и результат проекции этого отношения на два его атрибута - Должность и Номер отдела (табл. 12).

Таблица 11 Таблица 12

ФИО

Номер

отдела

Должность

Номер

отдела

Должность

Иванов И.И.

01

Инженер

01

Инженер

Петров П.П.

02

Инженер

02

Инженер

Нестеров Н.Н.

01

Инженер

03

Лаборант

Никитин К.К.

02

Лаборант

Операция соединение Исходные отношения R1и R2 имеют разные структуры, в которых есть одинаковые атрибуты – внешние ключи. Операция соединения формирует новое отношение, структура которого является совокупностью всех атрибутов исходных отношений. Результирующие кортежи формируются соединением каждого кортежа из R1 с теми кортежами R2, для которых выполняется условие соединения. Операция соединения имеет большое значение для РБД, так как в процессе нормализации отношений исходное отношение разбивается на несколько более мелких отношений, которые при выполнении запросов пользователя требуется, как правило, вновь соединять для восстановления исходного отношения. Например, рассмотрим следующий запрос. Пусть отношение R15 содержит перечень деталей с указанием материалов, из которых эти детали изготавливаются, и оно имеет вид:

R15

Шифр детали

Название детали

Материал

00011073

Гайка Ml

сталь-ст1

R16

00011075

Гайка М2

сталь-ст2

Название детали

00011076

Гайка МЗ

сталь-ст1

Гайка M1

00011003

Болт М1

сталь-стЗ

Гайка МЗ

00011006

Болт МЗ

сталь-стЗ

Шайба М1

00013063

Шайба Ml

сталь-ст1

Шайба МЗ

00013066

Шайба МЗ

сталь-ст1

Шайба М2

00011077

Гайка М4

сталь-ст2

00011004

Болт М2

сталь-стЗ

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

R13

Шифр детали детали

Название

Цех

00011003

Болт M1

Цех 1

00011003

Болт M1l

Цех3

R14

Цех

Цех 1

Цех 3