Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000259.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.27 Mб
Скачать

3.2.3. Специальные операции реляционной алгебры

Первой специальной операцией реляционной алгебры является селекция (выбор, горизонтальный выбор, операция фильтрации, операция ограничения отношений).

Селекция (выбор) – это операция создания нового отношения, включающего те кортежи исходного отношения, для которых истинно условие выбора или фильтрации.

Например, выбрать из R9 детали с шифром 003412.

R10 = R9[Шифр детали = «003412»]

R10

Шифр детали

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

Цех

003412

Гайка М1

Цех 1

003412

Гайка М1

Цех 2

Следующей специальной операцией является проекция.

Пусть R – отношение, SR = (A1,A2,…, An) – схема отношения R.

Обозначим через В подмножество [Ai]; B  {Ai}.

При этом пусть B1 – множество атрибутов из {A}, не вошедших в B.

Проекцией отношения R на набор атрибутов B, обозначаемой R[B], называется отношение со схемой, соответствующей набору атрибутов B SR[B] = B, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора B.

По определению отношений все дублирующие кортежи удаляются из результирующего отношения.

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

Например, выберем все цеха, которые изготавливают деталь «Гайка М1». Воспользуемся отношением R10, полученным при реализации операции выбора, и выполним проекцию на столбец «Цех». Результатом выполнения этих операций будет отношение R11: R11 = R10[Цех].

R11

Цех

Цех 1

Цех 2

Следующей специальной операцией реляционной алгебры является операция соединения.

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

Пусть R = {r}, Q = {q} – исходные отношения, SR, SQ – схемы отношений R и Q соответственно.

SR = (A1, A2, …, Ak); SQ = (B1, B2, …, Bm),

где Ai, Bj – имена атрибутов в схеме отношений R и Q соответственно.

При этом полагаем, что заданы наборы атрибутов А и В А  {Ai} i=1,k; B  {Bj} j=1,m , и эти наборы состоят из -сравнимых атрибутов.

Тогда соединением отношений R и Q при условии  будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию . Соединение обозначают следующим образом: R [] Q.

Например, рассмотрим следующий запрос. Пусть отношение R12 содержит перечень деталей с указанием материалов, из которых эти детали изготавливаются.

R12

Шифр детали

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

Материал

003412

Гайка М1

Сталь-ст1

003415

Гайка М2

Сталь-ст2

003416

Гайка М3

Сталь-ст1

003477

Болт М1

Сталь-ст2

Получить перечень деталей, которые изготавливаются в цехе 1 из материала «сталь-ст1»:

R13 = (R12[(R12.Шифр детали = R9.Шифр детали)  R9.Цех = “Цех 1”  R12.Материал = «сталь-ст1»]R9)[Название детали].

В результате получим Гайка М1.

Важными с практической точки зрения частными случаями соединения являются эквисоединение и естественное соединение.

Операция эквисоединения характеризуется тем, что условие сравнения задает равенство операндов.

Операция естественного соединения применяется к двум отношениям, имеющим общий атрибут (простой или составной). Этот атрибут в отношениях имеет одно и то же имя (совокупность имен) и определен на одном и том же домене (доменах).

Последней специальной операцией реляционной алгебры является деление.

Результат деления отношения R с атрибутами А и В на отношение Q с атрибутом В, где А и В простые или составные атрибуты, причем атрибут В – общий атрибут, определенный на одном и том же домене (множестве доменов составного атрибута), является отношение Р с атрибутом А, состоящее из кортежей r таких, что в отношении R имеются кортежи (r,s), причем множество значений s включает множество значений атрибута В отношения Q.

Деление обозначают следующим образом: P = R[A:B]Q.

Например, пусть отношение R содержит сведения о деталях, выпускаемых в каждом цехе, отношение Q – сведения о номенклатуре всех выпускаемых деталей. Требуется определить перечень цехов, в которых выпускается вся номенклатура деталей. Тогда решением этой задачи будет операция деления отношения R на отношение Q по набору атрибутов (Шифр детали, Наименование детали).

P = R [Шифр детали, Наименование детали : Шифр детали, Наименование детали]Q.

R

Шифр детали

Наименование детали

Цех

003412

Гайка М1

Цех 1

003415

Гайка М2

Цех 1

003416

Гайка М3

Цех 1

003477

Болт М1

Цех 1

003412

Гайка М1

Цех 2

003477

Болт М1

Цех 2

Q

Шифр детали

Наименование детали

003412

Гайка М1

003415

Гайка М2

003416

Гайка М3

003477

Болт М1

P

Цех

Цех 1

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