元組關係演算
元組關係演算
原子公式有下列三種形式:
.R(s),其中R是關係名,s是元組變數。它表示這樣的一個命題:“s是關係R的一個元組”。
.s[i]θu[j],其中s和u都是元組變數,θ是算術比較運算符。該原子公式表示這樣的命題:“元組s的第i個分量與元組u的第j個分量之間滿足θ關係”。例如,s[1]
.s[i]θa或aθs[i],這裡a是一個常量。前一個原子公式表示這樣的命題:“元組s的第i個分量與常量a之間滿足θ關係”。
在一個公式中,如果一個元組變數的前面沒有存在量詞Э或全稱量詞▽等符號,那麼稱之為自由元組變數,否則稱之為約束元組變數。元組表達式的一般形式{t│Q(t)}中,t是Q中唯一的自由元組變數。
關係代數的6種基本運算均可用元組表達式來表示(反之亦然)。其表示如下:
1)並:R∪S={t│R(t)∨S(t)}
2)交:R∩S={t│R(t)∧S(t)}
3)差:R-S={t│R(t)∧┓S(t)}
4)投影:Πi1,i2,…ik(R)={t│(Эu)(R(u)∧t[1]=u[i1]∧t[2]=u[i2]∧…t[k]=u[ik])}
5)選擇:σF(R)={t∣R(t)∧F’}
其中F’是F的等價表示形式。
6)連接
R∞FS={t│(Эu)(Эv)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧…t[n]=u[n]∧t[n+1]=v[1]∧…t[n+m]=v[m]∧F’)}
【例4.10】根據表4.2營業庫顯示所有品名及其單價。
C01={t∣(Эu)(營業庫(u))∧t[1]=u[品名]∧t[2]=u[單價]}
【例4.11】有兩個關係R和S,計算:
R1={t∣R(t)∧┓S(t)}
R2={t∣(Эu)(S(t)∧R(u)∧t[3]
R3={t∣(▽u)(R(t)∧S(u)∧t[3]>u[1])}
的結果如圖4.5所示。
R
A | B | C |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
S
A | B | C |
1 | 2 | 3 |
3 | 4 | 6 |
5 | 6 | 9 |
R1
A | B | C |
4 | 5 | 6 |
7 | 8 | 9 |
R2
A | B | C |
1 | 2 | 3 |
3 | 4 | 6 |
R3
A | B | C |
4 | 5 | 6 |
7 | 8 | 9 |
圖4.5 元組關係演算
目錄