Глава 2 Модели данных

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

Теоретико-множественные операции

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

Вопросы для самоконтроля

Теоретико-множественные операции

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

Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса: теоретико-множественные операции и специальные реляционные операции.

Операция ОБЪЕДИНЕНИЕ ОТНОШЕНИЙ C = A U B

Данная операция предполагает, что на входе имеется два односхемных отношения A и B. Результат объединения есть построенное по той же схеме отноение С, содержащее все кортежи отношения A и все кортежи отношения B.

Операция ПЕРЕСЕЧЕНИЕ ОТНОШЕНИЙ C = A П B

На выходе создается отношение С, включающее только те кортежи отношения А, которые есть в отношении В (А, В, С построены по одной схеме).

Операция РАЗНОСТЬ ОТНОШЕНИЙ C = A - B

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

Операция ДЕКАРТОВО ПРОИЗВЕДЕНИЕ ОТНОШЕНИЙ C = A x B

Пусть D1, D2, ..., Dn - произвольные конечные множества (не обязательно различные). Декартовым произведенем этих множеств D1Х D2Х...Х Dn называется множество n-к вида: <d1, d2, ..., dn>, где d1 принадлежит D1, d2 принадлежит D2,... dn принадлежит Dn.

Рассмотрим приведенные выше операции на конкретных примерах.

Операция ОБЪЕДИНЕНИЕ. Пусть мы имеем два отношения (ключевые атрибуты выделены цветом):

Отношение А (сотрудники фирмы А)

Сотр_номерСотр_отдел Проект_номер Сотр_задание Сотр_зарпл
21411 177Задание 1 1 000
35455 43Задание 3 1 134
25642 125Задание 7 1 250
45814 20 Задание 1 2 000

и отношение В (сотрудники фирмы В)

Сотр_номерСотр_отдел Проект_номер Сотр_задание Сотр_зарпл
45814 20 Задание 1 2 000
2267311 Задание 2 1 440
14751 95Задание 41 350

Объединением отношений А и В будет отношение С

Сотр_номерСотр_отдел Проект_номер Сотр_задание Сотр_зарпл
21411177Задание 11 000
3545543Задание 31 134
25642125Задание 71 250
4581420Задание 12 000
2267311Задание 2 1 440
1475195Задание 41 350

Пересечением отношений А и В будет отношение С

Сотр_номерСотр_отдел Проект_номер Сотр_задание Сотр_зарпл
4581420Задание 12 000

Разностью отношений А и В будет отношение С

Сотр_номерСотр_отдел Проект_номер Сотр_задание Сотр_зарпл
21411177Задание 11 000
3545543Задание 31 134
25642125Задание 71 250

Обратите внимание: обязательным условием для выполнения операций объединение, пересечение, разность является односхемность отношений.

Рассмотрим операцию ДЕКАРТОВО ПРОИЗВЕДЕНИЕ.

Пусть мы имеем два отношения:

Отношение А (ФИО студентов)

Студ_ФИО
Агапов П.П.
Свиридов Н.А.
Безрукова Н.Н.

и отношение В (экзамены)

ДисциплинаДата
Высшая математика10.01.2001
Информатика15.01.2001

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

Результатом декартового произведения отношения А на отношение В будет отношение С, имеющее следующую схему отношения:

Студ_ФИО ДисциплинаДата
Агапов П.П.Высшая математика10.01.2001
Агапов П.П.Информатика15.01.2001
Свиридов Н.А.Высшая математика10.01.2001
Свиридов Н.А.Информатика15.01.2001
Безрукова Н.Н.Высшая математика10.01.2001
Безрукова Н.Н.Информатика15.01.2001
Содержание Следующая страница