關(guān)系運(yùn)算----關(guān)系代數(shù)

關(guān)系運(yùn)算----關(guān)系代數(shù)

ID:34658182

大?。?29.13 KB

頁數(shù):9頁

時(shí)間:2019-03-08

關(guān)系運(yùn)算----關(guān)系代數(shù)_第1頁
關(guān)系運(yùn)算----關(guān)系代數(shù)_第2頁
關(guān)系運(yùn)算----關(guān)系代數(shù)_第3頁
關(guān)系運(yùn)算----關(guān)系代數(shù)_第4頁
關(guān)系運(yùn)算----關(guān)系代數(shù)_第5頁
資源描述:

《關(guān)系運(yùn)算----關(guān)系代數(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、2.3關(guān)系運(yùn)算(一)——關(guān)系代數(shù)關(guān)系數(shù)據(jù)操作可以分為數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類型,而關(guān)系運(yùn)算是根據(jù)數(shù)據(jù)操作的需要提出來的。在關(guān)系操作中,以集合代數(shù)為基礎(chǔ)運(yùn)算的數(shù)據(jù)操作語言(DML)稱為關(guān)系代數(shù)語言,相應(yīng)的運(yùn)算就稱為關(guān)系代數(shù)運(yùn)算??梢宰C明,關(guān)系和其上的關(guān)系代數(shù)運(yùn)算組成一個(gè)代數(shù),稱其為關(guān)系代數(shù)。關(guān)系代數(shù)是以關(guān)系為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的組合。關(guān)系代數(shù)語言須在查詢表達(dá)式中標(biāo)明操作的先后順序,故表示同一結(jié)果的關(guān)系代數(shù)表達(dá)式可以用多種不同的形式。下面按照數(shù)據(jù)操作的兩種類型分別研究相應(yīng)的關(guān)系代數(shù)運(yùn)算。2.3.1數(shù)據(jù)更新基本運(yùn)算數(shù)據(jù)更新操作可以

2、分為插入、刪除和修改三種基本類型,它們分別對(duì)應(yīng)于傳統(tǒng)集合的相關(guān)運(yùn)算。1.插入——集合的并運(yùn)算設(shè)有關(guān)系R需要插入若干元組,這些元組組成關(guān)系R1,由傳統(tǒng)集合論可以知道,此時(shí)需用集合的并運(yùn)算,即插入的結(jié)果可以寫為R∪R1。一般,插入操作對(duì)應(yīng)的關(guān)系并(Union)運(yùn)算定義如下:設(shè)有同類關(guān)系R、S(即R、S具有相同的關(guān)系模式),則二者的并運(yùn)算定義為:RS∪={t

3、t∈∨Rt∈S}式中“∪”為并運(yùn)算符,t為元組變量,結(jié)果R∪S為一個(gè)新的與R、S同類的關(guān)系,該關(guān)系是由屬于R或?qū)儆赟的元組構(gòu)成的集合。2.刪除——集合的差運(yùn)算設(shè)有關(guān)系R需要?jiǎng)h除一

4、些元組,這些元組組成關(guān)系R1,由傳統(tǒng)集合論可以知道,此時(shí)用集合差運(yùn)算表示,即可寫為R-R1。一般,刪除操作對(duì)應(yīng)的關(guān)系差(Difference)運(yùn)算定義如下:設(shè)有同類關(guān)系R、S,則二者的差運(yùn)算定義為:RS?=∈{t

5、tR∧t?S}式中“-”為差運(yùn)算符,t為元組變量,結(jié)果R-S為一個(gè)新的與R、S同類的關(guān)系,該關(guān)系是由屬于R而且不屬于S的元組構(gòu)成的集合,即在R中減去與S中相同的那些元組。3.修改——差運(yùn)算與并運(yùn)算的復(fù)合修改關(guān)系R內(nèi)元組內(nèi)容可用下面方法實(shí)現(xiàn):ò設(shè)需要修改的元組構(gòu)成關(guān)系R1,則先做刪除,得R-R1。ò設(shè)需修改后的元組構(gòu)成關(guān)

6、系R2,此時(shí)將其插入,得到結(jié)果(R-R1)∪R2。例2-2關(guān)系的插入運(yùn)算和刪除運(yùn)算可以由圖2.4所示。關(guān)系R關(guān)系SABCABCa1b1c1a1b2c2a1b2c2a2b2c1a2b2c1a2b2c2關(guān)系R∪S關(guān)系R-SABCABCa1b1c1a1b1c1a1b2c2a2b2c1a2b2c2圖2.4關(guān)系的并與差運(yùn)算2.3.2數(shù)據(jù)查詢基本運(yùn)算數(shù)據(jù)查詢中的3個(gè)基本操作不能用傳統(tǒng)集合運(yùn)算表示,需要引入一些新的代數(shù)運(yùn)算。1.關(guān)系屬性的指定——投影運(yùn)算為了完成對(duì)關(guān)系屬性的指定,引入投影運(yùn)算。投影(Projection)是一元關(guān)系運(yùn)算(即只對(duì)

7、一個(gè)關(guān)系操作,而不像前面的運(yùn)算那樣需要兩個(gè)關(guān)系),用于選取某個(gè)關(guān)系上我們感興趣的某些列,并且將這些列組成一個(gè)新的關(guān)系。k投影運(yùn)算的形式定義為:設(shè)有k元關(guān)系R,其元組變量為t=,那么關(guān)系R在其分量Ai1,Ai2,…,Ain(n≤k,i1,i2,…,in為1到k之間互不相同的整數(shù))上的投影∏(R)定義為:i1,i2,…,in∏=(R){t

8、t=∈R}i1,i2,…,ini1i2in12k上式中“∏”為投影運(yùn)算符,表示按照i1,i2,…,in的順序從關(guān)系R中取出這n列,并刪

9、除結(jié)果中的重復(fù)元組,組成一個(gè)新的以i1,i2,…,in為列順序的n元關(guān)系。例如關(guān)系R(A,B,C,D)在屬性A、D、C上的投影可記為∏A,D,C(R),或簡(jiǎn)記為∏1,4,3(R)。例2-3設(shè)有學(xué)生關(guān)系S(S#、Sn、Sex、Sa,Class),其中S#、Sn、Sex、Sa和Class分別表示學(xué)生的學(xué)號(hào)、姓名、性別、年齡和所在班級(jí)。其對(duì)應(yīng)關(guān)系表如圖2.5所示。S#SnSexSaClassS01劉剛男212003AS02王建男222003AS03張華女212003AS04李倩女202003A圖2.5關(guān)系S選取關(guān)系中的屬性Sn、Sa和

10、Class,其關(guān)系運(yùn)算表達(dá)式為∏(S)或者∏(S)Sn,Sa,Class2,4,5投影運(yùn)算結(jié)果如圖2.6所示。2.關(guān)系元組選定——選擇運(yùn)算為了完成關(guān)系元組的選擇,引入選擇運(yùn)算。選擇(Selection)也是一元關(guān)系運(yùn)算,用于選取某個(gè)關(guān)系上我們感興趣的某些行(滿足一定的條件的行),并且將它們組成一個(gè)新的關(guān)系。SnSaClass劉剛212003A王建222003A張華212003A李倩202003A圖2.6投影∏(S)Sn,Sa,Class選擇運(yùn)算的形式定義為:設(shè)有k元關(guān)系R,條件用一命題公式F表示,則從關(guān)系R中選擇出滿足條件F的行

11、定義為:σ(R)=∈{t

12、tR∧F(t)=true}F上式中σ為選擇運(yùn)算符,表示按照給定的條件F從關(guān)系R中選擇出滿足這一條件F的元組,組成一個(gè)新的與R同類的k元關(guān)系。F是一個(gè)邏輯公式,其運(yùn)算對(duì)象為常量或元組的分量(分量可為屬性名或?qū)傩粤械男蛱?hào),如第i列屬性分量可

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。