版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、An Introduction to Database System 第二章第二章 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義 2.2 關(guān)系操作關(guān)系操作 2.3 關(guān)系的完整性關(guān)系的完整性 2.4 關(guān)系代數(shù)關(guān)系代數(shù) 2.5 *關(guān)系演算關(guān)系演算 2.6 小結(jié)小結(jié) 2.4 關(guān)系代數(shù)關(guān)系代數(shù) v關(guān)系代數(shù)是一種抽象的查詢語言,它用對關(guān)系的 運算來表達(dá)查詢 v關(guān)系代數(shù) 運算對象是關(guān)系 運算結(jié)果亦為關(guān)系 關(guān)系代數(shù)的運算符有兩類:集合運算符和專門的關(guān)系 運算符 v傳統(tǒng)的集合運算是從關(guān)系的“水平”方向即行的 角度進(jìn)行 v專門的關(guān)系運算不僅涉及行而且涉及列 An Introdu
2、ction to Database System 表表2.4 關(guān)系代數(shù)運算符關(guān)系代數(shù)運算符 概概 述述 運算符運算符含義含義 集合集合 運算符運算符 并并 -差差 交交 笛卡爾積笛卡爾積 專門的專門的 關(guān)系關(guān)系 運算符運算符 選擇選擇 投影投影 連接連接 除除 An Introduction to Database System 比較 運算 符 大于 大于等于 小于 小于等于 等于 不等于 邏輯運算 符 非 與 或 運算符含義運算符含義 表表2.4 關(guān)系代數(shù)運算符(續(xù))關(guān)系代數(shù)運算符(續(xù)) 概概 述述(續(xù)續(xù)) An Introduction to Database System 2.4 關(guān)系代
3、數(shù)關(guān)系代數(shù) v 傳統(tǒng)的集合運算傳統(tǒng)的集合運算 v 專門的關(guān)系運算專門的關(guān)系運算 An Introduction to Database System 1. 并(并(Union) vR和S 具有相同的目n(即兩個關(guān)系都有n個屬性) 相應(yīng)的屬性取自同一個域 vRS 仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成 RS = t|t Rt S R S RS An Introduction to Database System 并并(續(xù)續(xù)) An Introduction to Database System 2. 差(差(Difference) vR和S 具有相同的目n 相應(yīng)的屬性取自同一個域 vR - S
4、 仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS R S R S An Introduction to Database System 差差(續(xù)續(xù)) An Introduction to Database System 3. 交(交(Intersection) vR和S 具有相同的目n 相應(yīng)的屬性取自同一個域 vRS 仍為n目關(guān)系,由既屬于R又屬于S的元組組成 RS = t|t Rt S RS = R (R-S) RS R S An Introduction to Database System 交交 (續(xù)續(xù)) An Introduction to Database
5、 System 4. 笛卡爾積(笛卡爾積(Cartesian Product) v嚴(yán)格地講應(yīng)該是廣義的笛卡爾積(Extended Cartesian Product) vR: n目關(guān)系,k1個元組 vS: m目關(guān)系,k2個元組 vRS 列:(n+m)列元組的集合 元組的前n列是關(guān)系R的一個元組 后m列是關(guān)系S的一個元組 行:k1k2個元組 RS = tr ts |tr R tsS An Introduction to Database System 笛卡爾積示意圖笛卡爾積示意圖 R S RS An Introduction to Database System 交交 (續(xù)續(xù)) An Intro
6、duction to Database System 2.4 關(guān)系代數(shù)關(guān)系代數(shù) v 傳統(tǒng)的集合運算傳統(tǒng)的集合運算 v 專門的關(guān)系運算專門的關(guān)系運算 An Introduction to Database System 2.4.2 專門的關(guān)系運算專門的關(guān)系運算 先引入幾個記號 (1) R,tR,tAi 設(shè)關(guān)系模式為R(A1,A2,An) 它的一個關(guān)系設(shè)為R tR表示t是R的一個元組 tAi則表示元組t中相應(yīng)于屬性Ai的一個分量 An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) (2) A,tA, A 若A=Ai1,Ai2,Aik,其中Ai
7、1,Ai2,Aik是A1, A2,An中的一部分,則A稱為屬性列或?qū)傩越M。 tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分 量的集合。 A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩 余的屬性組。 An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) (3) tr ts R為n目關(guān)系,S為m目關(guān)系。 tr R,tsS, tr ts稱為元組的連接。 tr ts是一個n + m列的元組,前n個分量為R中的一個 n元組,后m個分量為S中的一個m元組。 An Introduction to Database System
8、 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) (4)象集Zx 給定一個關(guān)系R(X,Z),X和Z為屬性組。 當(dāng)tX=x時,x在R中的象集象集(Images Set)為: Zx=tZ|t R,tX=x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合 An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) vx1在R中的象集 Zx1 =Z1,Z2,Z3, vx2在R中的象集 Zx2 =Z2,Z3, vx3在R中的象集 Zx3=Z1,Z3 象集舉例 An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)
9、) v 選擇 v 投影 v 連接 v 除 An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) (a) Student 學(xué)生-課程數(shù)據(jù)庫: 學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC 學(xué)號學(xué)號 Sno 姓名姓名 Sname 性別性別 Ssex 年齡年齡 Sage 所在系所在系 Sdept 200215121李勇李勇男男20CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS An Introduction to Database System 專門的關(guān)系
10、運算專門的關(guān)系運算(續(xù)續(xù)) 課程號課程號 Cno 課程名課程名 Cname 先行課先行課 Cpno 學(xué)分學(xué)分 Ccredit 1數(shù)據(jù)庫數(shù)據(jù)庫54 2數(shù)學(xué)數(shù)學(xué)2 3信息系統(tǒng)信息系統(tǒng)14 4操作系統(tǒng)操作系統(tǒng)63 5數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)74 6數(shù)據(jù)處理數(shù)據(jù)處理2 7PASCAL語言語言64 Course (b) An Introduction to Database System 專門的關(guān)系運算專門的關(guān)系運算(續(xù)續(xù)) (c) SC 學(xué)號學(xué)號 Sno 課程號課程號 Cno 成績成績 Grade 200215121192 200215121285 200215121388 200215122290 2002
11、15122380 An Introduction to Database System 1. 選擇(選擇(Selection) v1) 選擇又稱為限制(Restriction) v2) 選擇運算符的含義 在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真 F:選擇條件,是一個邏輯表達(dá)式,取值為“真”或 “假” 基本形式為: X1Y1 表示比較運算符,它可以是,或 An Introduction to Database System 選擇(續(xù))選擇(續(xù)) v3) 選擇運算是從關(guān)系R中選取使邏輯表達(dá)式F為真 的元組,是從行的角度進(jìn)行的運算 An Introduction to
12、 Database System 選擇(續(xù))選擇(續(xù)) 例1 查詢信息系(IS系)全 體學(xué)生 Sdept = IS (Student) 結(jié)果: SnoSnameSsexSageSdept 200215122劉晨女19IS 200215125張立男19IS 學(xué)號學(xué)號 Sno 姓名姓名 Sname 性別性別 Ssex 年齡年齡 Sage 所在系所在系 Sdept 200215121李勇李勇男男20CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS An Introduction to Database System 選擇(續(xù)
13、)選擇(續(xù)) 例2 查詢年齡小于 20歲的學(xué)生 Sage 20(Student) 結(jié)果: SnoSnameSsexSageSdept 200215122劉晨女19IS 200215123王敏女18MA 200215125張立男19IS 學(xué)號學(xué)號 Sno 姓名姓名 Sname 性別性別 Ssex 年齡年齡 Sage 所在系所在系 Sdept 200215121李勇李勇男男20CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS An Introduction to Database System 2. 投影(投影(Proje
14、ction) v1)投影運算符的含義 從R中選擇出若干屬性列組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列 An Introduction to Database System 2. 投影(投影(Projection) v2)投影操作主要是從列的角度進(jìn)行運算 但投影之后不僅取消了原關(guān)系中的某些列,而且還可 能取消某些元組(避免重復(fù)行) An Introduction to Database System 投影(續(xù))投影(續(xù)) v 例3 查詢學(xué)生的姓名和 所在系 即求Student關(guān)系上學(xué)生姓名和所 在系兩個屬性上的投影 Sname,Sdept(Student) 結(jié)果: Snam
15、eSdept 李勇CS 劉晨IS 王敏MA 張立IS 學(xué)號學(xué)號 Sno 姓名姓名 Sname 性別性別 Ssex 年齡年齡 Sage 所在系所在系 Sdept 200215121李勇李勇男男20CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS An Introduction to Database System 投影(續(xù))投影(續(xù)) 例4 查詢學(xué)生關(guān)系Student中 都有哪些系 Sdept(Student) 結(jié)果: Sdept CS IS MA 學(xué)號學(xué)號 Sno 姓名姓名 Sname 性別性別 Ssex 年齡年齡 S
16、age 所在系所在系 Sdept 200215121李勇李勇男男20CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS An Introduction to Database System 例題 v 有兩個關(guān)系有兩個關(guān)系R和和S,如下圖:,如下圖: ABC abc daf cbd ABC bga daf (a)關(guān)系)關(guān)系R (b)關(guān)系)關(guān)系S ABC abc daf cbd bga ABC abc cbd RS RS ABC abc cbd CA ca fd dc C, A (R) B=b (R) R.AR.BR.CS.
17、AS.BS.C abcbga abcdaf dafbga dafdaf cbdbga cbddaf RS An Introduction to Database System 3. 連接(連接(Join) v 1)連接也稱為連接 v 2)連接運算的含義 從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組 :比較運算符 連接運算從R和S的廣義笛卡爾積RS中選?。≧關(guān)系) 在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較 關(guān)系的元組 AB tr ts An Introduction to Database
18、 System 連接連接(續(xù)續(xù)) v3)兩類常用連接運算 等值連接(equi join) 什么是等值連接 為“”的連接運算稱為等值連接 等值連接的含義 從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性 值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB A=B tr ts An Introduction to Database System 連接連接(續(xù)續(xù)) 自然連接(Natural join) 自然連接是一種特殊的等值連接 兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組 在結(jié)果中把重復(fù)的屬性列去掉 自然連接的含義 R和S具有相同的屬性組B R S = | tr Rts
19、 StrB = tsB tr ts An Introduction to Database System 連接連接(續(xù)續(xù)) v4)一般的連接操作是從行的角度進(jìn)行運算。 自然連接還需要取消重復(fù)列,所以是同時從行和 列的角度進(jìn)行運算。 AB R S An Introduction to Database System 連接連接(續(xù)續(xù)) ABC 123 456 789 DE 31 62 ABCDE 12331 12362 45662 ABCDE 12331 45662 RS R S BD BD AE R S An Introduction to Database System 例5 ABC a1b1
20、5 a1b26 a2b38 a2b412 BE b13 b27 b310 b32 b52 RS R S AR.BCS.BE a1b15b27 a1b15b310 a1b26b27 a1b26b310 a2b38b310 CE R.B=S.B R S AR.BCS.BE a1b15b13 a1b26b27 a2b38b310 a2b38b32 ABCE a1b153 a1b267 a2b3810 a2b382 R S 連接(續(xù))連接(續(xù)) v懸浮元組(Dangling tuple) 兩個關(guān)系R和S在做自然連接時,關(guān)系R中某些元組有 可能在S中不存在公共屬性上值相等的元組,從而造 成R中這些元組在
21、操作時被舍棄了,這些被舍棄的元 組稱為懸浮元組。 An Introduction to Database System 連接連接(續(xù)續(xù)) v外連接 如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬 性上填空值(Null),這種連接就叫做外連接(OUTER JOIN)。 v左外連接 如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連 接(LEFT OUTER JOIN或LEFT JOIN) v右外連接 如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連 接(RIGHT OUTER JOIN或RIGHT JOIN)。 An Introduction to Database System 連接連接(續(xù)續(xù))
22、 求例5中關(guān)系R和關(guān)系S的外連 接,左外連接, 是右外連接 ABC a1b15 a1b26 a2b38 a2b412 BE b13 b27 b310 b32 b52 RS An Introduction to Database System 新問題新問題 CnoCnameCcredit 1數(shù)據(jù)庫數(shù)據(jù)庫4 2數(shù)學(xué)數(shù)學(xué)2 3信息系統(tǒng)信息系統(tǒng)4 SnoCnoGrade 200215121192 200215121285 200215121388 200215122290 200215122380 200215123386 SnoSnameSsexSageSdept 200215121李勇李勇男男20
23、CS 200215122劉晨劉晨女女19IS 200215123王敏王敏女女18MA 200215125張立張立男男19IS 假設(shè)存在如下的示例關(guān)系,分別求 選了所有課的學(xué)生 被所有學(xué)生選的課程 S C C S XY An Introduction to Database System 4. 除(除(Division) 給定關(guān)系R (X,Y) 和S (Y,Z),其中X,Y,Z 為屬性組。 R中的Y與S中的Y可以有不同的屬性名,但必須 出自相同的域集。 An Introduction to Database System 象集(Images Set) v 給定關(guān)系給定關(guān)系R(X, Z), X和和
24、Z為屬性組。則,當(dāng)為屬性組。則,當(dāng)tX=x時,時,x在在R 中的象集為:中的象集為:Zx= tZ | tR, tX=x v 它表示在屬性組它表示在屬性組X上值為上值為x的各元組在的各元組在Z上分量的集合。上分量的集合。 v 如如:關(guān)系關(guān)系R(A,B,C) ABC a1 a2 a3 a1 a4 a2 a1 b1 b3 b4 b2 b6 b2 b2 c2 c7 c6 c3 c6 c3 c1 l 當(dāng)屬性當(dāng)屬性A=a1時時, a1在在R上的象上的象 集是集是: (b1,c2),(b2,c3),(b2,c1); A=a2時在時在R上的象集是上的象集是: (b3,c7),(b2,c3); An Intro
25、duction to Database System 除定義 除操作的定義:設(shè)關(guān)系除操作的定義:設(shè)關(guān)系R(X, Y)和和S(Y, Z), 其中其中X,Y,Z為為 屬性組(屬性組(R中的中的Y與與S中的中的Y可以有不同的屬性名,但必可以有不同的屬性名,但必 須出自相同的域集),則須出自相同的域集),則 v RS = trX | trR Y(S) Yx v 其中,其中,Yx為為x在在R中的象集,中的象集,x = trX 其結(jié)果是這樣一個新關(guān)系:其結(jié)果是這樣一個新關(guān)系: v R中下面條件的元組在中下面條件的元組在X屬性列的投影,即元組在屬性列的投影,即元組在X上上 分量值分量值x的象集的象集Yx包含
26、包含S在在Y上投影的集合。上投影的集合。 An Introduction to Database System 除法的運算步驟 v 關(guān)系除法運算可分下面關(guān)系除法運算可分下面4步進(jìn)行:步進(jìn)行: v 1) 將被除關(guān)系的屬性分為象集屬性和結(jié)果屬性兩部分:將被除關(guān)系的屬性分為象集屬性和結(jié)果屬性兩部分: 與除關(guān)系相同的屬性屬于象集屬性,不相同的屬性屬于與除關(guān)系相同的屬性屬于象集屬性,不相同的屬性屬于 結(jié)果屬性。結(jié)果屬性。 v 2) 在除關(guān)系中,對與被除關(guān)系相同的屬性(象集屬性)在除關(guān)系中,對與被除關(guān)系相同的屬性(象集屬性) 進(jìn)行投影,得到除目標(biāo)數(shù)據(jù)集。進(jìn)行投影,得到除目標(biāo)數(shù)據(jù)集。 v 3) 將被除關(guān)系分
27、組,分組原則是,結(jié)果屬性值一樣的元將被除關(guān)系分組,分組原則是,結(jié)果屬性值一樣的元 組為一組,求每個結(jié)果屬性值的象集。組為一組,求每個結(jié)果屬性值的象集。 v 4) 逐一考察每個組,如果它的象集屬性值中包括除目標(biāo)逐一考察每個組,如果它的象集屬性值中包括除目標(biāo) 數(shù)據(jù)集,則對應(yīng)的結(jié)果屬性值應(yīng)屬于該除法運算結(jié)果集數(shù)據(jù)集,則對應(yīng)的結(jié)果屬性值應(yīng)屬于該除法運算結(jié)果集. An Introduction to Database System 例題(除法解析) v 在關(guān)系在關(guān)系R中,中,A屬性可以取屬性可以取a1, a2,a3,a4。 a1的象集為的象集為(b1,c2),(b2,c3),(b2,c1) a2的象集為
28、的象集為(b3,c7),(b2,c3) a3的象集為的象集為(b4,c6) a4的象集為的象集為(b6,c6) v S在在(B,C)上的投影為:上的投影為: (b1,c2),(b2,c3),(b2,c1) v 顯然,只有顯然,只有a1的象集的象集(B,C)a1包含了包含了S 在在(B,C)屬性組上的投影,所以屬性組上的投影,所以 RS=a1 ABC a1 a2 a3 a1 a4 a2 a1 b1 b3 b4 b2 b6 b2 b2 c2 c7 c6 c3 c6 c3 c1 BCD b1 b2 b2 c2 c1 c3 d1 d1 d2 關(guān)系關(guān)系R 關(guān)系關(guān)系S A a1 求求RS 結(jié)果屬性結(jié)果屬性
29、象集屬性象集屬性 An Introduction to Database System 除除(續(xù)續(xù)) v2)除操作是同時從行和列角度進(jìn)行運算 R S An Introduction to Database System 5綜合舉例綜合舉例 首先建立一個臨時關(guān)系K: 然后求:Sno,Cno(SC)K Cno 1 3 學(xué)號學(xué)號 Sno 課程號課程號 Cno 成績成績 Grade 200215121192 200215121285 200215121388 200215122290 200215122380 例例7以學(xué)生以學(xué)生-課程數(shù)據(jù)庫為例課程數(shù)據(jù)庫為例 例 查詢至少選修1號課程和3 號課程的學(xué)生
30、號碼 An Introduction to Database System 綜合舉例綜合舉例(續(xù)續(xù)) v 例例 7續(xù)續(xù) Sno,Cno(SC) 200215121象集象集1,2,3 200215122象集象集2,3 K=1,3 于是: Sno,Cno(SC)K=200215121 SnoCno 2002151211 2002151212 2002151213 2002151222 2002151223 An Introduction to Database System 綜合舉例綜合舉例(續(xù)續(xù)) Sno(Cno=2(SC) 2 0 0 2 1 5 1 2 1 , 200215122 學(xué)號學(xué)號
31、Sno 課程號課程號 Cno 成績成績 Grade 200215121192 200215121285 200215121388 200215122290 200215122380 例 8 查詢選修了2號課程的學(xué) 生的學(xué)號。 An Introduction to Database System 綜合舉例綜合舉例(續(xù)續(xù)) Sname(Cpno=5(Course SC Student) 或 Sname(Cpno=5(Course) SC Sno,Sname(Student) 或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student) 例9 查詢至少選
32、修了一門其直接先行課為5號課程的學(xué)生 姓名 An Introduction to Database System 綜合舉例綜合舉例(續(xù)續(xù)) 例10 查詢選修了全部課程的學(xué)生號碼和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student) An Introduction to Database System v 在關(guān)系代數(shù)運算中,把由五個基本操作經(jīng)過有限次復(fù)合在關(guān)系代數(shù)運算中,把由五個基本操作經(jīng)過有限次復(fù)合 的式子稱為關(guān)系代數(shù)表達(dá)式。這種表達(dá)式的運算結(jié)果仍的式子稱為關(guān)系代數(shù)表達(dá)式。這種表達(dá)式的運算結(jié)果仍 是一個關(guān)系。是一個關(guān)系。 v 可以用關(guān)系代數(shù)表達(dá)式表示各種數(shù)
33、據(jù)查詢操作。可以用關(guān)系代數(shù)表達(dá)式表示各種數(shù)據(jù)查詢操作。 v 例例:學(xué)生選課庫的關(guān)系模式為:學(xué)生選課庫的關(guān)系模式為: v 學(xué)生(學(xué)生(學(xué)號學(xué)號,姓名,性別,年齡,所在系);,姓名,性別,年齡,所在系); v 課程(課程(課程號課程號,課程名,先行課);,課程名,先行課); v 選課(選課(學(xué)號學(xué)號,課程號,成績)。,課程號,成績)。 v 用關(guān)系代數(shù)表達(dá)式表示下列查詢:用關(guān)系代數(shù)表達(dá)式表示下列查詢: An Introduction to Database System 【例例1】求選修了課程號為求選修了課程號為“C2”課程的學(xué)生學(xué)號。課程的學(xué)生學(xué)號。 學(xué)號 學(xué)號( (課程號 課程號= C2(選課)
34、 (選課) 【例例2】求選修了課程號為求選修了課程號為“C2”課的學(xué)生學(xué)號和姓名。課的學(xué)生學(xué)號和姓名。 學(xué)號,姓名 學(xué)號,姓名( (課程號 課程號= C2(選課 (選課 學(xué)生)學(xué)生) 【例例3】求沒有選修課程號為求沒有選修課程號為“C2”課程的學(xué)生學(xué)號。課程的學(xué)生學(xué)號。 學(xué)號 學(xué)號(學(xué)生) (學(xué)生)-學(xué)號 學(xué)號( (課程號 課程號= C2(選課) (選課) 是否可寫為:是否可寫為:學(xué)號 學(xué)號( (課程號 課程號 C2(選課)?為什么? (選課)?為什么? 【例例4】求既選修求既選修“C2”課程,又選修課程,又選修“C3”課程的學(xué)生學(xué)號課程的學(xué)生學(xué)號 學(xué)號 學(xué)號(課程號課程號= C2 (選課 選
35、課)學(xué)號 學(xué)號(課程號課程號= C3(選課 選課) 是否可寫為:是否可寫為:學(xué)號 學(xué)號(課程號課程號=C2 課程號課程號=C3(選課 選課)?Why? An Introduction to Database System 【例例5 5】求選修課程號為求選修課程號為“C2”或或“C3”課程的學(xué)生學(xué)號。課程的學(xué)生學(xué)號。 學(xué)號 學(xué)號(課程號課程號=C2(選課 選課)學(xué)號 學(xué)號(課程號課程號=C3(選課 選課) 是否可寫為:是否可寫為:學(xué)號 學(xué)號( (課程號 課程號=C2 課程號課程號=C3(選課)? (選課)? 【例例6】求選修了全部課程的學(xué)生學(xué)號。求選修了全部課程的學(xué)生學(xué)號。 學(xué)號,課程號 學(xué)號,
36、課程號(選課) (選課) 課程號 課程號(課程) (課程) 是否可寫為:是否可寫為: 學(xué)號 學(xué)號 ( 選課 選課 課程號 課程號 (課程 課程) ) ? 為什么?為什么? 是否可寫為:是否可寫為: 學(xué)號,課程號 學(xué)號,課程號 (選課 選課) 課程課程 ? 為什么?為什么? 【例例7】求學(xué)過學(xué)號為求學(xué)過學(xué)號為“98002”的學(xué)生所學(xué)過的所有課程的學(xué)生學(xué)號和姓名。的學(xué)生所學(xué)過的所有課程的學(xué)生學(xué)號和姓名。 學(xué)號,姓名 學(xué)號,姓名( (學(xué)號,課程號學(xué)號,課程號(選課 選課)課程號 課程號(學(xué)號學(xué)號= 98002(選課 選課) ) 學(xué)生學(xué)生 ) An Introduction to Database S
37、ystem 例題小結(jié) v 對于只涉及到選擇、投影、連接的查詢可用下列表達(dá)式表示:對于只涉及到選擇、投影、連接的查詢可用下列表達(dá)式表示: (RS) 或者或者 (R S) v 對于對于否定否定的操作,一般要用的操作,一般要用差差操作表示,例如操作表示,例如“檢索不學(xué)檢索不學(xué)C2課的學(xué)課的學(xué) 生姓名生姓名”。 v 對于檢索具有對于檢索具有“全部全部”特征的操作,一般要用特征的操作,一般要用除法除法操作表示,例如操作表示,例如 “檢索學(xué)習(xí)全部課程的學(xué)生姓名檢索學(xué)習(xí)全部課程的學(xué)生姓名”。 An Introduction to Database System 小結(jié)小結(jié) v 關(guān)系代數(shù)運算 關(guān)系代數(shù)運算 并、
38、差、交、笛卡爾積、投影、選擇、連接、除 基本運算 并、差、笛卡爾積、投影、選擇 交、連接、除 可以用5種基本運算來表達(dá) 引進(jìn)它們并不增加語言的能力,但可以簡化表達(dá) An Introduction to Database System 小結(jié)小結(jié)(續(xù)續(xù)) v關(guān)系代數(shù)表達(dá)式 關(guān)系代數(shù)運算經(jīng)有限次復(fù)合后形成的式子 v典型關(guān)系代數(shù)語言 ISBL(Information System Base Language) 由IBM United Kingdom研究中心研制 用于PRTV(Peterlee Relational Test Vehicle)實驗系統(tǒng) An Introduction to Databas
39、e System 第二章第二章 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 2.1 關(guān)系模型概述關(guān)系模型概述 2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.3 關(guān)系的完整性關(guān)系的完整性 2.4 關(guān)系代數(shù)關(guān)系代數(shù) 2.5 *關(guān)系演算關(guān)系演算 2.6 小結(jié)小結(jié) An Introduction to Database System 2.5 關(guān)系演算關(guān)系演算 v 關(guān)系演算 以數(shù)理邏輯中的謂詞演算為基礎(chǔ) v 按謂詞變元不同 進(jìn)行分類 1.元組關(guān)系演算: 以元組變量作為謂詞變元的基本對象 元組關(guān)系演算語言ALPHA 2.域關(guān)系演算: 以域變量作為謂詞變元的基本對象 域關(guān)系演算語言QBE An Introduction to Datab
40、ase System 2.5.1 元組關(guān)系演算語言元組關(guān)系演算語言ALPHA v 由E.F.Codd提出 INGRES所用的QUEL語言是參照ALPHA語言研制的 v 語句 檢索語句 nGET 更新語句 nPUT,HOLD,UPDATE,DELETE,DROP An Introduction to Database System 一、檢索操作一、檢索操作 v 語句格式: GET工作空間名 (定額)(表達(dá)式1) :操作條件 DOWN/UP 表達(dá)式2 定額:規(guī)定檢索的元組個數(shù) 格式: 數(shù)字 表達(dá)式1:指定語句的操作對象 格式: 關(guān)系名| 關(guān)系名. 屬性名| 元組變量. 屬性名| 集函數(shù) , 操作條
41、件:將操作結(jié)果限定在滿足條件的元組中 格式: 邏輯表達(dá)式 表達(dá)式2:指定排序方式 格式: 關(guān)系名. 屬性名| 元組變量. 屬性名, An Introduction to Database System 一、檢索操作一、檢索操作 (1)簡單檢索 GET工作空間名 (表達(dá)式1) 例1 查詢所有被選修的課程號碼。 GET W (SC.Cno) 例2 查詢所有學(xué)生的數(shù)據(jù)。 GET W (Student) An Introduction to Database System (2)限定的檢索)限定的檢索 格式 GET工作空間名(表達(dá)式1):操作條件 例3查詢信息系(IS)中年齡小于20歲的學(xué)生的學(xué)號和年
42、齡 GET W (Student.Sno,Student.Sage): Student.Sdept=IS Student.Sage19 An Introduction to Database System 條件查詢(與條件)條件查詢(與條件) 例4 求計算機科學(xué)系年齡大于19歲的學(xué)生的學(xué)號。 方法(1):把兩個條件寫在同一行上 StudentSnoSnameSsexSageSdept P.20021512119CS An Introduction to Database System 條件查詢(與條件)條件查詢(與條件) 方法(2):把兩個條件寫在不同行上,但使用相同的示例元 素值 Stude
43、ntSnoSnameSsexSageSdept P.200215121 P.20021512119 CS An Introduction to Database System 條件查詢(與條件)條件查詢(與條件) 例5 查詢既選修了1號課程又選修了2號課程的 學(xué)生的學(xué)號。 ScSnoCnoGrade P.200215121 P.200215121 1 2 An Introduction to Database System 條件查詢(或條件)條件查詢(或條件) 例6查詢計算機科學(xué)系或者年齡大于19歲的學(xué)生的 學(xué)號。 StudentSnoSnameSsexSageSdept P.20021512
44、1 P.20021512219 CS An Introduction to Database System 條件查詢(多表連接)條件查詢(多表連接) 例7 查詢選修1號課程的學(xué)生姓名。 StudentSnoSnameSsexSageSdept 200215121P.李勇 注意:示例元素Sno是連接屬性,其值在兩個表中要相同。 ScSnoCnoGrade 2002151211 An Introduction to Database System 條件查詢(非條件)條件查詢(非條件) 例8 查詢未選修1號課程的學(xué)生姓名 StudentSnoSnameSsexSageSdept 200215121P
45、.李勇 思路:顯示學(xué)號為200215121的學(xué)生名字,而該學(xué)生選修1號課程的情況為假 ScSnoCnoGrade 2002151211 An Introduction to Database System 條件查詢(續(xù))條件查詢(續(xù)) 例9 查詢有兩個人以上選修的課程號。 思路:查詢這樣的課程1,它不僅被200215121選修 而且也被另一個學(xué)生(200215121)選修了 ScSnoCnoGrade 200215121 200215121 P.1 1 An Introduction to Database System 3. 聚集函數(shù)聚集函數(shù) 常用聚集函數(shù): QBE中的聚集函數(shù) 函數(shù)名功能
46、CNT對元組計數(shù) SUM求總和 AVG求平均值 MAX求最大值 MIN求最小值 An Introduction to Database System 聚集函數(shù)(續(xù))聚集函數(shù)(續(xù)) 例10 查詢信息系學(xué)生的平均年齡。 StudentSnoSnameSsexSageSdept P.AVG.ALLIS An Introduction to Database System 4.對查詢結(jié)果排序?qū)Σ樵兘Y(jié)果排序 v升序排序: 對查詢結(jié)果按某個屬性值的升序排序,只需在相應(yīng)列 中填入“AO.” v降序排序: 按降序排序則填“DO.” v多列排序: 如果按多列排序,用“AO(i).”或“DO(i).”表示,其中i 為排序的優(yōu)先級,i值越小,優(yōu)先級越高 An Introduction to Database System 對查詢結(jié)果排序(續(xù))對查詢結(jié)果排序(續(xù)) 例11 查全體男生的姓名,要求查詢結(jié)果按所在系 升序排序,對相同系的學(xué)生按年齡降序排序。 StudentSnoSnameSsexSageSdept P.李勇男DO(2).AO(1). An Introduction to Database System 二、更新操作二、更新操作 1.修改操作 例12 把2002
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度重型壓路機買賣及維修保養(yǎng)合同3篇
- 2025年度企業(yè)自駕游租車合同二零二五年度專用4篇
- 2025年度個人智能健康監(jiān)測技術(shù)入股協(xié)議4篇
- 2025年個人住宅防水保溫一體化合同范本4篇
- 開店策劃指導(dǎo)的合同(2篇)
- 民營醫(yī)療服務(wù):穩(wěn)中求進(jìn)關(guān)注老齡化+供需錯配格局下的投資機會
- 二零二五版門窗行業(yè)綠色物流與倉儲服務(wù)合同4篇
- 網(wǎng)架鋼結(jié)構(gòu)施工方案
- 二零二五版智能門牌系統(tǒng)與物聯(lián)網(wǎng)技術(shù)合同4篇
- 公路預(yù)埋管線施工方案
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計與授權(quán)使用3篇
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊期末數(shù)學(xué)檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 《城鎮(zhèn)燃?xì)忸I(lǐng)域重大隱患判定指導(dǎo)手冊》專題培訓(xùn)
- 湖南財政經(jīng)濟學(xué)院專升本管理學(xué)真題
- 考研有機化學(xué)重點
- 全國身份證前六位、區(qū)號、郵編-編碼大全
評論
0/150
提交評論