官术网_书友最值得收藏!

1.2.2 關(guān)系運(yùn)算

對(duì)于關(guān)系數(shù)據(jù)庫(kù)的操作,數(shù)據(jù)查詢的應(yīng)用是比較廣泛的。在對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí),要找到用戶需要的數(shù)據(jù)就必須進(jìn)行關(guān)系運(yùn)算。常見(jiàn)的關(guān)系運(yùn)算有選擇運(yùn)算、投影運(yùn)算和連接運(yùn)算。

1.選擇運(yùn)算

選擇運(yùn)算是在關(guān)系中找出滿足給定條件的元組。選擇條件是一個(gè)邏輯表達(dá)式,取邏輯值“真”或“假”,選擇操作的結(jié)果是使邏輯表達(dá)式的值為真的元組。例如,要從學(xué)生表中找出性別為“女”的學(xué)生,所進(jìn)行的操作就是選擇運(yùn)算。圖1.2給出的學(xué)生表中要查詢女學(xué)生的信息,就需要用選擇運(yùn)算,查詢結(jié)果如圖1.4所示。選擇是從行的角度對(duì)關(guān)系進(jìn)行的運(yùn)算。

圖1.4 女生信息

2.投影運(yùn)算

投影運(yùn)算是從關(guān)系中選擇出若干屬性列組成新的關(guān)系。投影是從列的角度對(duì)關(guān)系進(jìn)行的運(yùn)算。經(jīng)過(guò)投影運(yùn)算以后,可以得到一個(gè)新的關(guān)系,不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因?yàn)槿∠四承傩粤泻螅涂赡艹霈F(xiàn)重復(fù)行,根據(jù)關(guān)系的性質(zhì),應(yīng)取消這些完全相同的行。

例如,從選課成績(jī)表中查詢選修了哪些課程時(shí),則可以對(duì)“課程編號(hào)”進(jìn)行投影運(yùn)算。因?yàn)樵诮Y(jié)果中出現(xiàn)了重復(fù)的元組,投影運(yùn)算就會(huì)刪除這些重復(fù)的元組,保證任意兩個(gè)元組不相同,結(jié)果如圖1.5所示。

圖1.5 查詢結(jié)果

3.連接運(yùn)算

連接是從兩個(gè)關(guān)系的笛卡兒積中選取屬性間滿足一定條件的元組。兩個(gè)關(guān)系做連接運(yùn)算時(shí),連接條件中應(yīng)有兩個(gè)關(guān)系中的公共屬性名(或者屬性名稱不一樣但具有相同語(yǔ)義、可比的屬性)。連接結(jié)果是滿足一定條件的所有記錄。

連接運(yùn)算中有兩種最為常用的連接,一種是等值連接,另一種是自然連接。按照字段值對(duì)應(yīng)相等的條件進(jìn)行的連接稱為等值連接。自然連接是一種特殊的等值連接,是去掉重復(fù)屬性的等值連接。

一般的連接操作是從行的角度進(jìn)行運(yùn)算,但自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。

例如,學(xué)生表和選課成績(jī)表中,要查找出學(xué)生編號(hào)為“121032101”的學(xué)生的姓名及其選修的課程和成績(jī),其結(jié)果如圖1.6所示。

圖1.6 學(xué)生編號(hào)為“121032101”的學(xué)生的選課結(jié)果

主站蜘蛛池模板: 都匀市| 漾濞| 佛坪县| 高台县| 中方县| 土默特右旗| 东台市| 察雅县| 黄浦区| 武乡县| 金阳县| 屏东县| 任丘市| 宝清县| 洞头县| 横峰县| 宜州市| 钟祥市| 易门县| 庆阳市| 屏边| 新平| 庆阳市| 尼勒克县| 广宗县| 五寨县| 安达市| 南投市| 贵定县| 云安县| 桦甸市| 胶南市| 新民市| 同德县| 图木舒克市| 秀山| 绥宁县| 收藏| 乌鲁木齐县| 淮阳县| 阿勒泰市|