Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по Пиастро.docx
Скачиваний:
26
Добавлен:
28.05.2015
Размер:
784.82 Кб
Скачать

1  Мрез  м1

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

R1 (A1, …, An).

При ограничении производится либо сужение подмножества значений некоторых атрибутов, например А1 «Константа», причем «Константа» выбирается из домена, на котором определен атрибут А1, либо происходит сопоставление атрибутов, например, А2 = А4, при этом и А2, и А4 должны быть определены на одном и том же домене. При проверке очередной выборки (строки) отношения на введенные условия при подстановке вместо имен атрибутов конкретных значений получающиеся элементарные высказывания могут быть либо истинными, либо ложными. Если булевское выражение, составленное из элементарных высказываний (их иногда называют термами сравнения) с помощью связок (И), (ИЛИ), будет истинными, то выборка попадает в результирующее отношение, если нет – то не попадает.

Таким образом, термы сравнения могут иметь следующий вид:

(Ai «Константа») или (А1  Aк),

где   =, , >, <, , , а операция ограничения в общем виде записывается следующим образом:

Rрез (A1, …, An) = R1 [A1 1 «Константа»)  … & (Ai m Ak)] (возможна и дизъюнкция термов). Как видно, степень результата остается прежней, а мощность лежит в пределах:

0  Мрез  м1

Пример: Для отношения

R1 (КД, КМ, ЕИ, НР)

Д1 М2 1 15

Д2 М5 3 3

Д2 М9 3 5

Д3 М2 1 10

Найти все выборки, в которых единица измерения (ЕИ) имеет код «1», а норма расхода (НР) больше или равна 10:

Rрез (КД, КМ, ЕИ, НР) = R1 [(ЕИ = «1»)  (НР  «10»)].

В результате имеем

Rрез (КД, КМ, ЕИ, НР)

Д1 М2 1 15

Д3 М2 1 10

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

Итак, для двух исходных отношений

R1 (A1, …, An)

и R2 (В1, …, Вm)

в результате операции соединения получается отношение

Rрез (A1, …, An, B1, …, Bm) = R1 [(булевское выражение)] R2.

В булевском выражении термы имеют вид, например

(А1  B1),

где атрибуты A1 и B1 определены на одном домене. Очень часто булевское выражение состоит из единственного терма сравнения, в котором  есть «=». Это частный случай называется операцией эквисоединения двух отношений по атрибутам A1 и B1.

Смысл операции соединения двух отношений более четко можно выразит сведением операции к ранее введенным:

Rрез (A1, …, An, B1, …, Bm) =

= R1 [(булевское выражение)] R2 =

= (R1  R2) [(булевское выражение)],

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