Теоретико-множественные операции
Специальные реляционные операции
Вопросы для самоконтроля
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных.
Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса: теоретико-множественные операции и специальные реляционные операции.
Операция ОБЪЕДИНЕНИЕ ОТНОШЕНИЙ 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.
Рассмотрим приведенные выше операции на конкретных примерах.
Операция ОБЪЕДИНЕНИЕ. Пусть мы имеем два отношения (ключевые атрибуты выделены цветом):
Отношение А (сотрудники фирмы А)
Сотр_номер | Сотр_отдел | Проект_номер | Сотр_задание | Сотр_зарпл |
---|---|---|---|---|
2141 | 1 | 177 | Задание 1 | 1 000 |
3545 | 5 | 43 | Задание 3 | 1 134 |
2564 | 2 | 125 | Задание 7 | 1 250 |
4581 | 4 | 20 | Задание 1 | 2 000 |
и отношение В (сотрудники фирмы В)
Сотр_номер | Сотр_отдел | Проект_номер | Сотр_задание | Сотр_зарпл |
---|---|---|---|---|
4581 | 4 | 20 | Задание 1 | 2 000 |
2267 | 3 | 11 | Задание 2 | 1 440 |
1475 | 1 | 95 | Задание 4 | 1 350 |
Объединением отношений А и В будет отношение С
Сотр_номер | Сотр_отдел | Проект_номер | Сотр_задание | Сотр_зарпл |
---|---|---|---|---|
2141 | 1 | 177 | Задание 1 | 1 000 |
3545 | 5 | 43 | Задание 3 | 1 134 |
2564 | 2 | 125 | Задание 7 | 1 250 |
4581 | 4 | 20 | Задание 1 | 2 000 |
2267 | 3 | 11 | Задание 2 | 1 440 |
1475 | 1 | 95 | Задание 4 | 1 350 |
Пересечением отношений А и В будет отношение С
Сотр_номер | Сотр_отдел | Проект_номер | Сотр_задание | Сотр_зарпл |
---|---|---|---|---|
4581 | 4 | 20 | Задание 1 | 2 000 |
Разностью отношений А и В будет отношение С
Сотр_номер | Сотр_отдел | Проект_номер | Сотр_задание | Сотр_зарпл |
---|---|---|---|---|
2141 | 1 | 177 | Задание 1 | 1 000 |
3545 | 5 | 43 | Задание 3 | 1 134 |
2564 | 2 | 125 | Задание 7 | 1 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 |
Содержание | Следующая страница |