Обработка данных включает в себя операции над кортежами (строками) таблиц (отношений) и операции над таблицами (отношениями), т. е. обработка данных нескольких таблиц.
Операции над строками — это включение (добавляется кортеж), удаление (удаляется строка), обновление (смена значений атрибутов в строке). Для выполнения этих операций необходимо ввести имя таблицы и операцию.
Реляционная алгебра
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных. Хотя в основе теоретико-множественной части реляционной алгебры лежит классическая теория множеств, соответствующие операции реляционной алгебры обладают некоторыми особенностями.
Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Мы рассмотрим немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
- объединения отношений;
- пересечения отношений;
- взятия разности отношений;
- прямого произведения отношений.
Специальные реляционные операции включают:
- ограничение отношения;
- проекцию отношения;
- соединение отношений;
- деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Общая интерпретация реляционных операций
.
- При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов.
(Операторы алгебры отношений обрабатывают таблицу отношений как один объект. Результатом обработки всегда является новая таблица отношений, которая также может быть обработана.)
Операция объединения выполняется над двумя совместными таблицами (отношениями) R1 и R2. Результатом выполнения этой операции является новая таблица (отношение) R. В общем виде операция объединения записывается так:
R=R1 U R2.
По теории это объединение множества — образование из двух данных некоторого нового множества, каждый элемент которого принадлежит либо первому, либо второму множеству
Все кортежи результативной таблицы R имеют одинаковый состав атрибутов и совокупность кортежей исходных (R1 и R2) отношений. Дубликаты с R1 и R2 в R не включаются.
Пример отношений R1 и R2.
Таблица R1. Склад 1
Кортеж | Код поставщика | Название материала |
К11 | Мел | |
К12 | Тетрадь | |
К13 | Карандаш |
Таблица R2. Склад 3
Кортеж | Код поставщика | Название материала |
К21 | Мел | |
К22 | Meл | |
К23 | Ручка |
R = R1 U R2 Таблица R
Кортеж | Код поставщика | Название материала |
К11 | Мел | |
К12 | Тетрадь | |
К13 | Карандаш | |
К21 | Мел | |
К23 | Ручка |
Обратите внимание, что в таблицу R не вошел кортеж К22, так как он дублирует кортеж К11.
- Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношения-операнда.
Операция пересечения (произведения множеств) — это образование из двух данных множеств R1 и R2 некоторого нового множества RP, каждый элемент которого принадлежит одновременно множествам R1 и R2. Выполняется над двумя R1 и R2 совместными отношениями. Результативные отношения RP содержат одинаковые кортежи, которые принадлежат как R1, так и R2. Состав атрибутов в RP такой же, как и в R1 и R2:
RP=R1 П R2.
Например, после выполнения операции пересечения над исходными R1 и R2 получим:
R1 П R2 2040 Мел
- Отношение, являющееся разностью двух отношений включает все кортежи, входящие в отношение - первый операнд, такие, что ни один из них не входит в отношение, являющееся вторым операндом.
Операция разности (вычитания) выполняется над двумя совместными отношениями R1 и R2 с идентичным набором атрибутов (общий домен). В результативное отношение RV включается множество ¦кортежей, которые принадлежат R1, но не принадлежат R2:
RV-R1 -R2. Пример. На основе исходного примера R1 и R2 получим:
RV = R1 - R2 4050 Тетрадь 3070 Карандаш
- При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов.
Операция декартова произведения. RD= R1 х R2. Выполняется над отношениями R1 и R2, которые имеют различный состав атрибутов К1 и К.2. Результативные отношения RD включают множество кортежей длиной К1 4- К2. Число (количество) кортежей в RD равняется произведению количества кортежей в R1 и R2.
Название дисциплины | Фамилия преподавателя | |
К21 | бд | савинова |
К22 | ас | карпинский |
Пример.
Группа | Фамилия | |
К11 | корнилов | |
К12 | морозов | |
К13 | мацкевич |