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

1.2.2 關系運算

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

1.選擇運算

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

圖1.4 女生信息

2.投影運算

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

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

圖1.5 查詢結果

3.連接運算

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

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

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

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

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

主站蜘蛛池模板: 福清市| 甘孜| 公安县| 衡南县| 兴隆县| 儋州市| 新巴尔虎右旗| 临海市| 烟台市| 长葛市| 伊宁市| 抚宁县| 资溪县| 祥云县| 康平县| 皮山县| 神木县| 桂平市| 铜山县| 郴州市| 凤庆县| 舒兰市| 平潭县| 英山县| 平果县| 藁城市| 屯昌县| 崇礼县| 绥江县| 太和县| 运城市| 博湖县| 玉龙| 华阴市| 昭觉县| 雅安市| 通河县| 苗栗县| 宜昌市| 宁陕县| 潼关县|