Деление
Оператор деления может быть полезен в случае запросов особого типа, котрые довольно часто встречаются в приложениях баз данных.
Если А – множество атрибутов отношения R, а В – отношения S, причем В является подмножеством А и С = А - В.
R/S Результатом оператора деления является набор кортежей отношения R, определенных на множестве атрибутов С, которые соответствуют комбинации всех кортежей отношения S.
Этот оператор можно сформулировать на основе других основных операторов
Т1 = Пс (R)
Т2 = Пс ((SхT1) – R) T = T1 – T2
Правила преобразования операций реляционной алгебры
Пусть есть три отношения:
R, определенное на множестве атрибутов А={A1,...,AN}
S-B={B1,...,BM} T – С=(С1,…., СP) p, q, r – предикаты
L, L1, L2, M, M1, M2, N – наборы атрибутов
1. Операция выборки с конъюнктивным предикатом может быть преобразована в последовательность операций выборки по членам конъюнкции (и наоборот).
|
(R) = |
( |
( (R))) |
p q r |
p |
q |
r |
71
Этот метод преобразования иногда называют каскадной
выборкой. Например |
|
|
|
(Персонал) = |
( (Персонал) ) |
|
№=3 оклад=1500 |
оклад=1500 №=3 |
2.Правило коммутативности операций выборки
( |
(R)) = |
( |
(R)) |
p |
q |
q |
p |
3. В последовательности операций проекции необходима только последняя из этих операций
ПП …. П (R) = П(R)
L M N
4. Правило коммутативности операций выборки и проекции
Если предикат p включает только атрибуты, входящие в список проекции, то операции выборки и проекции будут обладать свойством коммутативности.
П |
(( |
(R)) =( (П |
R)) |
|
Ai...Am |
p |
p |
Ai...Am |
|
где р |
{A1, A2,......, Am} |
|
||
5. |
Правило коммутативности операции тета- |
|||
соединения (и декартового произведения) |
||||
R |
|
S = |
S |
R |
|
P |
|
P |
|
R x S = S x R
Операции соединения по эквивалентности и естественного соединения являются особыми случаями операции тета-соединения, поэтому приведенное выше правило применимо и к этим двум операциям.
72
6. Правило коммутативности операций выборки и тета-соединения (или декартового произведения).
Если предикат операции выборки включает атрибуты только одного из соединяемых отношений, то операции выборки и соединения (или декартового произведения) будут обладать свойством коммутативности.
|
(R |
S) = |
(R) |
S |
p |
|
r |
p |
r |
|
(R x S) = ( |
(R)) x S |
|
|
p |
|
|
p, где p {A1, A2,......, An} |
|
В альтернативном случае, когда предикат операции выборки представляет собой конъюнкцию предикатов вида (p q ), где предикат p включает в себя атрибуты только отношения R, а предикат q включает атрибуты только отношения S, операция выборки и тета-соединения будут обладать следующим вариантом свойств коммутативности:
|
(R |
S) = (R) |
( S) |
p q |
r |
p |
r q |
(R x S) = ( |
(R)) x ( ( S)) |
|
|
p q |
p |
q |
|
7. |
Правило коммутативности операций проекции и |
||
тета-соединения (или декартового произведения)
Если список атрибутов операции проекции имеет вид
L = L1 U L2 , где в подсписок L1 входят атрибуты только отношения R, а в подсписок L2 - атрибуты только отношения S, то в том случае, когда условие соединения содержит только атрибуты отношения L, операции проекции и тета-соединения будут обладать следующим вариантом свойств коммутативности.
73
|
П |
|
(R |
|
S) = П (R) |
П (S) |
|
||
|
L1 U L2 |
r |
L1 |
r L2 |
|
|
|
||
|
Если условие соединения содержит дополнительные |
||||||||
атрибуты, не входящие в отношение L, например, атрибуты |
|
||||||||
|
М = М1U M2, где список М1 содержит атрибуты только |
||||||||
отношение R, а список М2 – только атрибуты отношения S, то |
|||||||||
дополнительно |
потребуется |
выполнить |
завершающую |
||||||
операцию проекции: |
|
|
|
|
|
|
|||
П |
(R |
|
S) = П |
|
((П |
(R)) |
|
(П |
(S)) |
L1 U L2 |
r |
|
L1 U L2 |
L1UM1 |
|
r |
L2 |
||
U M2 |
|
|
|
|
|
|
|
|
|
8.Правило коммутативности операций объединения
ипересечения (но не разности )
R U S = S U R
R S = S R
9. Правило коммутативности операции выборки и операций над отношениями (объединения, пересечения, разности)
|
( R U S) = |
(S) U |
(R) |
|
|
p |
p |
p |
|
|
(R S) = |
(S) |
|
(R) |
|
p |
p |
p |
|
|
(R - S) = |
(S) - |
(R) |
|
|
p |
p |
p |
|
10. Правило коммутативности операций проекции и |
||||
объединения. |
|
|
|
|
П ( R U S) =П |
(S) U П |
(R) |
||
|
L |
L |
L |
|
|
|
74 |
|
|
11. |
Правило |
ассоциативности |
операций |
тета- |
||||
соединения (и декартового произведения). |
|
|
|
|||||
Операции |
декартового |
произведения |
всегда |
|||||
ассоциативны. |
|
|
|
|
|
|
|
|
(R |
|
S) |
T = |
R |
(S |
T) |
|
|
(R |
x |
S) x |
T |
= R |
x (S |
x |
T) |
|
12.Правило ассоциативности операций объединения
ипересечения (но не операции разности).
(R U S) U T = S U (R U T) (R S) T = S (R T)
3.4.Реляционное исчисление
Ввыражениях реляционной алгебры всегда явно задается некий порядок, а также подразумевается некая стратегия оценки запроса. В реляционном исчислении не существует никакого описания оценки запроса, поскольку в запросе реляционного исчисления указывается, что следует извлечь, а не как.
Название «Реляционное исчисление» произошло от части символьной логики, которая называется исчислением предикатов. В контексте баз данных оно существует в двух формах: в форме реляционного исчисления кортежей и в форме реляционного исчисления доменов.
Влогике первого порядка или теории исчисления предикатов под предикатом подразумевается истинностная функция с аргументами. При подстановке вместо аргументов значений функция становится выражением, называемым суждением, которое может быть истинным или ложным.
Если предикат содержит переменную, то у этой переменной должна быть соответствующая область определения.
75