


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、關(guān)系代數(shù)表達式總結(jié)一、并例1求選修了課程號為1或2的課程的學(xué)生學(xué)號。分析:可以先求出選修了課程號為1的課程的學(xué)生學(xué)號,再求出選修了課程號為2的課程的學(xué)生學(xué)號,最后使用并運算的方法求出選修課程號為1或2的課程的學(xué)生學(xué)號。本例也可以使用或條件來表示。丸Sno(TCno日1(SC)U丸Snc(TCno='2'(SC)或兀Sno(bcno=1,VCno='2'(SC)一、父例2檢索至少選修課程號為2和3的課程的學(xué)生學(xué)號。分析:方法一:只涉及到一個表,但不能直接用A(為什么?)特別注意,本例不能寫為:丸Sno(TCno=2'ACno='3'(SC)
2、因為選擇運算為行運算,在同一行中Cno不可能既為2,又為3。第一步:轉(zhuǎn)換(SCXSQ笛卡爾積將垂直的條件展開為水平的條件。SC1SC2Sno課程號CnoGradeSno課程號Cno成績Grade950011929500119295001192950012859500119295001388950011929500229095001192950028095001285950011929500128595001285950012859500138895001285950022909500128595002380選修課程號為2和3的學(xué)生:(T1=4八2=2'八5='3,(SCXSC)
3、最后取出學(xué)生的學(xué)號:丸1(T1=4/2='2'A5='3,(SCXSC)方法二:兀Sno(bCno=,2,(SC)A兀Sno(bCno=,3,(SC)三、差例3將學(xué)生信息(95001','李勇,男,20,'CS)從Student表刪除。分析:可以將這行數(shù)據(jù)看成由一個元組構(gòu)成的表,將Student表與該表進行差運算。因此,該刪除操作可表示為:Student-('95001','李勇','男',20,'CS注意:但是當(dāng)查詢涉及到否定或全部值時,上述形式就不能表達了,就要用到差操作或除操作。例4求
4、沒有選修課程號為2的課程的學(xué)生學(xué)號。分析:可以認為是在全部學(xué)號中去掉選修課程號為2的課程的學(xué)生學(xué)號,就得出沒有選修課程號為2的學(xué)生學(xué)號。由于在并、交、差運算中,參加運算的關(guān)系要求是兼容的,故應(yīng)當(dāng)先投影,再進行差運算。丸Sno(Student)-丸Sno(TCno='2(SC)特別注意,本題不能寫為:兀Sno(bCno"2(SC)。因為,選擇運算為行運算,并且SC表中包含的只是選修了課程的學(xué)生學(xué)號,對那些沒選任何課程的學(xué)生學(xué)號,在SC中找不到。根據(jù)題意,要查詢沒有選修課程號為2'課程的學(xué)生學(xué)號,顯然包括沒選任何課程的學(xué)生學(xué)號。當(dāng)查詢涉及到針對“否定”特征含義的查詢要求,
5、如“不”、“沒有”等字眼,一般要用差運算表示。四、自然連接例5檢索不學(xué)“2”號課程的學(xué)生姓名與年齡。2”號課分析:首先考慮“差”的問題。先求出全體學(xué)生的姓名和年齡,再求出學(xué)了”程的學(xué)生的姓名和年齡,最后執(zhí)行兩個集合的差操作。丸Sname,Sage(StUdent)-丸Sname,Sage(TCno='2(Student%M|SC)例6查詢至少選修了一門其直接先行課為“5”號課程的學(xué)生姓名。分析:(1)根據(jù)題目確定要輸出的列為:Sname,都在Student表中;(2) 根據(jù)題意,先行課程名為“5”,則選擇的條件為Cpno='5',因為Cpno在Course表中,所以也要
6、用到Course表;(3) 根據(jù)1,2兩步確定用到的表名集為Student,Course;因為表名集中兩個表,則要用自然連接將它們連接起來,但因為這個兩表不存在共同的列,不能進行自然連接。因此要加入中間表,中間表中應(yīng)含有能與其它兩個表進行自然連接的公共列,這個表就是SC將選擇條件Cpno='5'作用于自然連接后產(chǎn)生的新表上,并用投影操作選取要輸出的Sno,Cno。綜上,該查詢的關(guān)系代數(shù)表達式為:兀Sname(bCpno=5(COUSe)XSA<1兀Sno,Sname(StU0nt)丸Snam(丸Sno(TCpno='5'(Course)"JSC)
7、:廣iStuent)五、除1. 除法定義中的含義分析:(1)前提:兩個關(guān)系R(X,Y)和S(Y,Z)應(yīng)該有公共屬性列。(2) 運算結(jié)果為P(X),元組來自于R關(guān)系,只包含X屬性列(3) R關(guān)系中的哪些元組呢?對于TX的象集包含ny(S)2. 除法運算的步驟Y,和與除關(guān)系不(1) 將被關(guān)系R的屬性分成兩個部分,即與除關(guān)系相同的屬性部分同的屬性部分X。(2) 在除關(guān)系中,求丫的投影,得到目標數(shù)據(jù)集。(3) 將被除關(guān)系進行分組。(分組原則是“值”一樣的為一組)ABCBCDa1b1C2b1C2da2b3C7b2C1da3b4C6b2C3d2ab2C3(b)a4b6C6R+Sa2b2C3Aa1b2C1a
8、1S(a)(c)考慮被除關(guān)系中已分好的每一元組,如果它的象集包含目標數(shù)據(jù)集(投影結(jié)果)則其值為商。例如,R分析:在關(guān)系R中,A可以取四個值(a1,32,a3,a§。其中:ai的象集為(bi,C2),(b2,C3),(b2,ci)a2的象集為(b3,C7),(b2,C3)a3的象集為(b4,C6)a4的象集為(b6,C6)S在(B,C)上的投影為(bi,C2),(b2,Ci),(b2,c3)顯然只有ai的象集(B,C)ai包含了S在(B,C)屬性組上的投影,所以R+S=(ai。例,R表示選修課程,Si、S2、S3表示課程情況RS1SnoSnameCnoCnameCnoCnameiBao
9、CiDBC2OSiBaoC2OSS2iBaoC3DSCnoCnameiBaoC4MISC2OS2GuCiDBC4MIS2GuC2OSS33AnC2OSCnoCname4LiC2OSCiDB4LiC4MISC2OSC4MISR+SiR+S2SnoSnameSnoSnameiBaoiBao2Gu4Li3AnR+S34LiSnoSnameiBao3. 除法的物理意義(i) 除法的含義:R+Si表示至少選修Si關(guān)系中列出課程的學(xué)生的學(xué)號和姓名;(2) R+S2表示至少選修S2關(guān)系中列出課程的學(xué)生的學(xué)號和姓名;求選修所有課的同學(xué)姓名:(S、SGC)說明:針對“全部”特征含義的查詢要求,如“全部”、“至少
10、”、“包含”等字眼,一般要用除法運算。4. 有時需要構(gòu)造被除數(shù)與除數(shù)除操作是同時從行和列角度進行運算(S是R的子集),構(gòu)造被除數(shù)與除數(shù)。用除法的第一種情況例7檢索至少選修課程號為i和2的學(xué)生學(xué)號。分析:(i)至少選修課程號為i和2的關(guān)系(表)??紤]用除法來做構(gòu)造一個臨時表K=兀Cno(TCno日i'VCno='2'(Course)構(gòu)造被除數(shù)與除數(shù)兀Sno,Cno(SC)+K用除法的第二種情況例8查詢選修了全部課程的學(xué)生的學(xué)號。1) 確定目標屬性:學(xué)號Sno;2) 確定目標條件:如果學(xué)號X被查詢到,說明在臨時關(guān)系兀Sno,Cno(SC)表中學(xué)號X的像集就是所有課程號Cno
11、ia成的集合;確定目標關(guān)系:根據(jù)i)、2)的分析,可以確定該查詢是在兀sno,cno(SC)和Course兩個關(guān)系上進行除法運算。其中,關(guān)系SCM供選修信息,而Course提供全部的課程號信息。3) 畫查詢樹:9/瓦sno.eno兀eno/sccourse圖3例題2的查詢樹4) 寫出關(guān)系代數(shù)表達式:兀sno,cno(SC)+兀cno(Course)。例9查詢選修全部課程的學(xué)生號碼和姓名。(結(jié)果需同時滿足多個關(guān)系的時候用除法)。兀Sno,Cno(SC)+兀Cno(CoUrSe)兀Sno,Sname(StUdent)六、綜合實例1、設(shè)有如下所示的關(guān)系:學(xué)生表S(S#,SNAME,AGE,SEX)課
12、程表C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GRADE),其中:S#為學(xué)號,SNAM的姓名,AGE為年齡,SEX為性別,C媯課程號,CNAM的課程名,GRADE成績,TEACHER為教師。試用關(guān)系代數(shù)表達式表示下列查詢語句:(1) 檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)(2) 檢索年齡大于21的男學(xué)生學(xué)號(S#)和姓名(SNAME>(3) 檢索至少選修“程軍”老師所授全部課程的學(xué)生姓名(SNAME>(4) 檢索“李強”同學(xué)不學(xué)課程的課程號(C#)。(5) 檢索至少選修兩門課程的學(xué)生學(xué)號(S#)。(6) 檢索全部學(xué)生都選修的課程的課
13、程號(C#)和課程名(CNAME)(7) 檢索選修課程包含“程軍”老師所授課程之一的學(xué)生學(xué)號(S#)。(8) 檢索選修課程號為K1和K5的學(xué)生學(xué)號(S#)。(9) 檢索選修全部課程的學(xué)生姓名(SNAME>(10) 檢索選修課程包含學(xué)號為2的學(xué)生所修課程的學(xué)生學(xué)號(S#)。(11) 檢索選修課程名為“C語言”的學(xué)生學(xué)號(S#)和姓名(SNAME>解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達式表示如下:(1)%c#,cnam£(TTEACHER三程軍'(C)(2)7tS#,SNAmE(TAGE>2你SEX='男,(S)(3)7tsnam(S?(丸S#,C#(S
14、C)+丸(:#(fTEACHER='程軍'(C)(4)7tc#(C)-丸eg(TSNAME£李強'(S)?SC)(2) 兀S#(b1=4人2主5(SCXSC)(3) TtC#,CNAM(C?(兀S#,C#(SC)+TtS#(S)(4) TtS#(SC?丸C#(TTEACHER=程軍'(C)(5) TtS#,C#(S。+兀C#(TC#='k1'VC#='k5'(C)(6) 丸SNAMIE(S?(丸S#,C#(SQ+兀c#(C)(7) TtS#,C#(S。+兀C#(bS#2(SC)(8) 兀S#,SNAmES?(兀S#(SC
15、?(TCNAME=C語言(C)2、設(shè)有如下所示的關(guān)系:學(xué)生表S(S#,SNAME,AGE,SEX)課程表C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GRADE),其中:S#為學(xué)號,SNAM的姓名,AGE為年齡,SEX為性別,C媯課程號,CNAM的課程名,GRADE成績,TEACHER為教師。試用關(guān)系代數(shù)表達式表示下列查詢語句:(1) 檢索LIU老師所授課程的課程號和課程名;(2) 檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名;(3) 檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名;(4) 檢索至少選修LIU老師所授課程中一門課的女學(xué)生姓名;(5) 檢索WANG0學(xué)不學(xué)的課程的課程號;(6) 檢索既選修了LIU老師的課程、又選修了LI老師課程的學(xué)生學(xué)號;(7) 全部學(xué)生都選修的課程的課程號與課程名;(8) 檢索選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號。解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達式表示如下:(1) 丸C#,CNAmE(TTEACHER=L
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報書字體標準
- 合同范本美容美發(fā)
- 傳媒影視合同范本
- 和移動合作合同范本
- 兼職寶潔勞務(wù)合同范本
- 含油銅軸承采購合同范例
- 知識產(chǎn)權(quán)保護高地建設(shè)的實踐步驟與部署
- 品牌冠名合作合同范本
- 合作投資入股合同范本
- 加快建設(shè)知識產(chǎn)權(quán)保護高地的戰(zhàn)略規(guī)劃
- 山西眾輝電力服務(wù)公司歷年真題
- 修建蓄水池施工合同協(xié)議書范本
- CJJ-181-2012(精華部分)城鎮(zhèn)排水管道檢測與評估技術(shù)規(guī)程
- 《乳腺癌的防治》課件
- 個人所得稅個人所得稅
- 《小貓的九個命》
- 大班健康《愛是什么》課件
- 特種作業(yè)(鍋爐工)安全培訓(xùn)
- 煤礦違章行為及預(yù)防
- 零信任網(wǎng)絡(luò)安全模型:原理與實踐
- 《哲學(xué)概論(第2版)》-課件 第2、3章 哲學(xué)的特性、方法;哲學(xué)的價值
評論
0/150
提交評論