- •Отношение - это плоская таблица, состоящая из столбцов и строк.
- •Отношения в базе данных
- •Представление схем в реляционной базе данных
- •Реляционная целостность
- •Реляционные языки
- •Естественное соединение
- •Пересечение
- •Реляционное исчисление
- •Реляционное исчисление
- •Представления
- •Когда субд можно считать реляционной
Естественное соединение
R S - Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута.
Степенью естественного соединения называется сумма степеней операндов-отношений R и S минус количество атрибутов х.
Внешнее соединение
Зачастую при соединении двух отношений кортеж из одного отношения не находит соответствующего кортежа в другом отношении. Иначе говоря, в столбцах соединения оказываются несовпадающие значения. Может потребоваться, чтобы строка из одного отношения была представлена в результате соединения, даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.
R S - Левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение.
Для обозначения отсутствующих значений во втором отношении используется определитель NULL. Преимуществом внешнего соединения является то, что при таком соединении сохраняется исходная информация, т.е. внешнее соединение сохраняет кортежи, которые были бы утрачены при использовании других типов соединения.
Существует также правое внешнее соединение, называемое так потому, что в результирующем отношении содержатся все кортежи правого отношения. Кроме того, существует и полное внешнее соединение, в результирующее отношение которого помещаются все кортежи из обоих отношений и в котором для обозначения несовпадающих значений кортежей используются определители NULL.
Полусоединение
R F S - Операция полусоединения определяет отношение, которое содержит те кортежи отношения R, которые входят в соединение отношений R и S.
Преимущество полусоединения заключается в том, что оно позволяет сократить количество кортежей, которые нужно обработать для получения соединения. Это особенно полезно при вычислении соединений в распределенных системах. Операцию полусоединения можно сформулировать и с помощью операторов проекции и соединения:
R F S=ПA(R F S)
Здесь А — это набор всех атрибутов в отношении R, На самом деле это полутета-соединение, причем следует отметить, что существуют полусоединения по эквивалентности и полуестественные соединения.
Пересечение
|
RS - Операция пересечения определяет отношение, которое содержит кортежи, присутствующие как в отношении R, так и в отношении S. Отношения R и S должны быть совместны по объединению. |
| |
|
Пересечение можно сформулировать и на основе оператора разности множеств:
R S=R-(R-S)
Деление
Оператор деления может быть полезен в случае запросов особого типа, которые довольно часто встречаются в приложениях баз данных. Предположим, что отношение R определено на множестве атрибутов А, а отношение S — на множестве атрибутов В, причем В А (т.е. В является подмножеством А). Пусть С=А-В, т.е. С является множеством атрибутов отношения R, которые не являются атрибутами отношения S. Тогда определение оператора деления будет выглядеть следующим образом.
R S - Результатом оператора деления является набор кортежей отношения R, определенных на множестве атрибутов С, которые соответствуют комбинации всех кортежей отношения S.
R S RS V W VW
Пример |
|
|
|
|
|
|
|
|
A |
B |
|
B |
|
A |
деления |
|
a |
1 |
|
1 |
|
a | |||||||
|
|
a |
2 |
|
2 |
|
b | |||||||
|
|
|
|
|
|
|
|
|
b |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
c |
1 |
|
|
|
|