以下對(duì)幾種常用的關(guān)系運(yùn)算作一個(gè)簡(jiǎn)單的介紹。
u 基本運(yùn)算
1. 并
設(shè)有兩個(gè)關(guān)系R和S具有相同的關(guān)系模式,關(guān)系R和S的并是由屬于R或?qū)儆赟的元組組成的集合,記為R∪S。形式定義如下:R∪S≡{t│t∈R∨t∈S}
2. 差
設(shè)有兩個(gè)關(guān)系R和S具有相同的關(guān)系模式,關(guān)系R和S的差是由屬于R但不屬于S的元組組成的集合,記為R-S。形式定義如下:R-S≡{t│t∈R∧t ̄∈S}
3. 笛卡兒積
設(shè)關(guān)系R和S元數(shù)分別為r和s。定義R和S的笛卡兒積是一個(gè)(r+s)元的元組集合,每個(gè)元組的前r個(gè)分量來自R的一個(gè)元組,后s個(gè)分量來自S的一個(gè)元組,記為R×S形式定義如下:R×S≡{t│t=
若R有m個(gè)元組,S有n個(gè)元組,則R×S有(mn)個(gè)元組。
4. 投影
該操作是對(duì)關(guān)系進(jìn)行垂直分割,消去某些列,并重新安排列的順序,再刪去重復(fù)元組。
5. 選擇
這個(gè)操作是根據(jù)某些條件對(duì)關(guān)系作水平分割,即選擇符合條件的元組。條件可用命題公式F表示,F(xiàn)中的運(yùn)算對(duì)象是常數(shù)(用引號(hào)括起來)或元組分量(屬性名或列的序號(hào))。運(yùn)算符有算術(shù)比較運(yùn)算符(≤,<,≥,>,=,≠)和邏輯運(yùn)算符(∧,∨,┐)。
δF(R)≡{t│t∈R∧F(t)= true}
δ為選擇運(yùn)算符,δF(R)表示從R中挑選滿足公式F的元組所構(gòu)成的集合。常量用引號(hào)括起來,而屬性號(hào)或?qū)傩悦灰靡?hào)括起來。
u 組合運(yùn)算
1. 交
設(shè)有兩個(gè)關(guān)系R和S具有相同的關(guān)系模式,關(guān)系R和S的交是由屬于R又屬于S的元組組成的集合,記為R∩S。形式定義如下:R∩S≡{t│t∈R∧t∈S}
2. 聯(lián)接(又稱θ聯(lián)接)
從關(guān)系R和S的笛卡爾積中選取屬性值之間滿足一定條件的元組 ,記為:
R│×│S≡δiθ(i+j)(R×S) ijθ
這里R的元數(shù)是r,θ是算術(shù)比較運(yùn)算符。R│×│S操作是在R和S ijθ的笛卡爾積中挑選第i個(gè)分量和第(r+j)個(gè)分量滿足θ運(yùn)算的元組組成的新的關(guān)系。
3. 自然聯(lián)接
兩個(gè)關(guān)系R和S的自然聯(lián)接用R│×│S表示,具體計(jì)算過程如下:
A) 計(jì)算R×S
B) 設(shè)R和S的公共屬性是A1,A2,A3,..Ak.,挑選R×S中滿足R.A1=S.A1,R.A2,...,R.Ak=S.Ak的那些元組
C) 去掉S.A1,S.A2,..S.Ak
R│×│S可用下列形式定義:
R│×│S≡πi1i2,...,im(δR.A1=S.A1∧...∧R.Ak=S.Ak(R×S)。
4. 除法
設(shè)兩個(gè)關(guān)系R和S的元數(shù)分別為r和s(r>s>0),那么R÷S是一個(gè)(r-s)元的元組的集合。(R÷S)是滿足下列條件的最大關(guān)系,其中每個(gè)元組t與S中每個(gè)元組u組成的新元組
R÷S的具體計(jì)算過程如下:
A) T=π1,2,..r-s(R)
B) W=(T×S)-R求出T×S中不在R的元組
C) V=π1,2,...r-s(W)
D) R÷S=T-V
因此R÷S≡π1,2,..r-s (R)- π1,2,..r-s ((π1,2,..r-s (R) ×S) -R )。
相關(guān)推薦:推薦:2010年計(jì)算機(jī)軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |