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

1.2.2 關系運算

對于關系數據庫的操作,數據查詢的應用是比較廣泛的。在對數據庫進行查詢時,要找到用戶需要的數據就必須進行關系運算。常見的關系運算有選擇運算、投影運算和連接運算。

1.選擇運算

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

圖1.4 女生信息

2.投影運算

投影運算是從關系中選擇出若干屬性列組成新的關系。投影是從列的角度對關系進行的運算。經過投影運算以后,可以得到一個新的關系,不僅取消了原關系中的某些列,而且還可能取消某些元組,因為取消了某些屬性列后,就可能出現重復行,根據關系的性質,應取消這些完全相同的行。

例如,從選課成績表中查詢選修了哪些課程時,則可以對“課程編號”進行投影運算。因為在結果中出現了重復的元組,投影運算就會刪除這些重復的元組,保證任意兩個元組不相同,結果如圖1.5所示。

圖1.5 查詢結果

3.連接運算

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

連接運算中有兩種最為常用的連接,一種是等值連接,另一種是自然連接。按照字段值對應相等的條件進行的連接稱為等值連接。自然連接是一種特殊的等值連接,是去掉重復屬性的等值連接。

一般的連接操作是從行的角度進行運算,但自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。

例如,學生表和選課成績表中,要查找出學生編號為“121032101”的學生的姓名及其選修的課程和成績,其結果如圖1.6所示。

圖1.6 學生編號為“121032101”的學生的選課結果

主站蜘蛛池模板: 大竹县| 吴旗县| 长岛县| 喀喇沁旗| 修水县| 商都县| 南投县| 花莲县| 台东县| 新乡县| 海盐县| 开化县| 鄂托克前旗| 平潭县| 旅游| 重庆市| 莱阳市| 曲松县| 阜平县| 泸州市| 民和| 潍坊市| 南投市| 漳平市| 进贤县| 榆林市| 鄯善县| 图片| 佛教| 容城县| 陆河县| 沙洋县| 洪雅县| 宁夏| 安宁市| 柳江县| 元朗区| 临沧市| 鞍山市| 定远县| 武平县|