![]()
Объединяемые отношения должны иметь одинаковые атрибуты (должны быть объединимыми).
Пример.

Пересечение. В данной операции (обозначаемой
) получают отношение, включающее кортежи, общие для R1 и R2:

Пример. Для отношения R1 и R2из предыдущего примера получим

Разность. В результате применения этой операции (R1\R2) получается отношение, содержащее кортежи, являющиеся кортежами отношения R1 и не являющиеся кортежами отношения R2:

Пример.

Декартово (прямое) произведение. В этой операции (R1×R2) из n-местного отношения R1 и n-местного отношения R2 получают (т+п) -местное отношение. Причем первые т элементов представляют кортежи из отношения R1, а последние п элементов — кортежи из отношения R2:

Пример.

Проекция. Операция проекции предназначена для изменения числа столбцов в отношении, т. е. в том случае, когда из строк-кортежей требуется исключить какие-либо атрибуты.
Обозначим через j1, j2, ..., jn — номера столбцов n-местного отношения R. Операцию определения проекции отношения R обозначим через
(R), а сама операция заключается в том, что из отношения R выбираются столбцы и компонуются в указанном порядке j1, j2, ..., jn.
Пример.
Рассмотрим отношение ТЕЛЕВИЗОР.

Тогда можно получить проекцию π1,4 (ТЕЛЕВИЗОР):
Наименование Цена, руб.
Рекорд 640
Рубин 1040
Темп 755 . Електроника 755
Горизонт 610
π4,1,3 (ТЕЛЕВІЗОР):
Цена, руб. Наименование Диагональ кине-
скопа, см
640 Рекорд 47
1040 Рубин 67
755 Темп 61
755 Електроника 61
610 Горизонт 51
π 4 (ТЕЛЕВИЗОР):
Цена, руб.
640
1040
755
755
610
Можно отметить, что в последней проекции оказались одинаковые строки.
Ограничение. Ограничением называют такую операцию, в которой отношение исследуют по строкам и выделяют множество строк, удовлетворяющих заданным условиям.
Обозначим через r строку (кортеж) отношения R, а через θ определим одно из отношений: =, ≠, <, ≤, >, ≥. Тогда θ-ограничение между выбранным атрибутом А в отношении R и некоторой величиной С определяют следующим образом: R[AθC]={r|r
R и r[A]θС}, где r[А] соответствует значению атрибута А в строке r.
Таким образом, θ-ограничение обеспечивает получение среди строк отношения R только тех строк, в которых значение атрибута А и значение величины С удовлетворяют условию сравнения θ.
Например, требуется из отношения ТЕЛЕВИЗОР выделить те марки телевизоров, которые имеют стоимость меньше 700 руб.
ТЕЛЕВИЗОР [цена < 700]: Рекорд ВЦ-311 47 640
Горизонт Ц-355 51 610
Следует отметить, что в частном случае в операции сравнения вместо величины С можно использовать другой домен В. Тогда операция ограничения определяется как
![]()
Пример. Пусть отношение R имеет вид:

Так как операция θ-ограничения предусматривает выбор среди строк отношения R только тех, в которых значения атрибутов А и В удовлетворяют условию сравнения θ, то для условий (В<D) и (А=Е) получим следующие отношения:

Соединение. Операция соединения обратна операции проекции. Рассмотрим для простоты два бинарных отношения R1(A, В) и R2(B, С). Соединением (обозначается
) отношений R1 и R2 (R1
R2) называют операцию, при которой соединяют два отношения, используя в качестве признака соединения общий атрибут Y:
![]()
Отношение R1
R2 является отношением с атрибутами <А, В, С>.
Например:
R1: Наименованние Индекс R2: Индекс Цена
Рекорд ВЦ-311 ВЦ-311 640
Темп Ц-280Д Ц-280Д 755
Електроника Ц-283 Ц-283 755
Горизонт Ц-355 Ц-355 610
Отношение R1
R2 будет иметь вид:
Наименование Индекс Цена
Рекорд ВЦ-311 640
Темп Ц-280 755
Электроника Ц-283 755
Горизонт Ц-355 610
Операция соединения соответствует случаю, когда просто стыкуются таблицы отношений. Но поскольку в получающейся таблице атрибуты с одинаковым содержанием присутствуют дважды, один из одинаковых столбцов исключают. Такую операцию называют естественным соединением. Операцию соединения можно использовать не только для бинарных, но и для п-местных отношений:
R1
R2
,...,
Rn={M|M — кортежи, образованные соединением атрибутов отношений R1, R2,..., Rn}.
Отметим, что рассматривались в основном операции соединения фактически по условию равенства двух атрибутов в двух отношениях. В общем случае соединение можно осуществлять не только по условию равенства, но и по любому другому θ: =, ≠, <, ≤, >, ≥:

когда θ — оператор равенства, то операцию называют эквисоеди-нением.
Если сравнение θ возможно, то для атрибутов А и В одинаковые имена необязательны.
Пример. Пусть имеются отношения R1(A, В, С) и R2(D, E, F)

Для условий (С=Е), (B>F) получим

Таким образом, с помощью операции соединения можно объединять строки различных отношений по критерию сравнения значений каких-нибудь двух атрибутов.
Деление. Рассмотрим деление m-местного отношения R1 на п-местное отношение R2.
Пусть из общего количества т атрибутов отношения R1 выделим несколько атрибутов: A, B,...,F и из них составляем список, обозначив его через М. Набор значений атрибутов из М столбцов можно рассматривать как проекцию отношения R на список атрибутов М, т. е. πМ(R1). Тогда через
будут обозначаться атрибуты дополнительные к М, т. е. атрибуты отношения R1, не вошедшие в список М, и соответственно значения атрибутов из списка
определяются
(R1). Будем полагать, что делимое (отношение R1) может быть представлено таким образом, что его атрибуты сгруппированы в порядке R1(
, M). В отношении R2 также выделим несколько атрибутов G, К,...,Р и составим из них список, обозначив его через N (формально этот список представляет собой проекцию πN(R2)). Если проекции πN(R1) и πN(R2) объединимы, т. е. имеют одинаковое количество атрибутов, то можно рассматривать операцию деления R1 по М на R1 пo N (что обозначается как R1[M
N]R2). Операция деления R1[M
N]R2 представляет собой операцию, которая определяет такое наибольшее множество значений атрибутов из
(R1) (обозначим его через r1(
)), что прямое произведение этого множества r1(
), с πN(R2) содержится в R1.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |


