關(guān)系代數(shù)表達式總結(jié)_第1頁
關(guān)系代數(shù)表達式總結(jié)_第2頁
關(guān)系代數(shù)表達式總結(jié)_第3頁
關(guān)系代數(shù)表達式總結(jié)_第4頁
關(guān)系代數(shù)表達式總結(jié)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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é)號。 本例也可以使用或條件來表示。n sno( (T Cno= 1 (SC) Un Snc( (T Cno= 2 (SC)或 n Snc( (T Cno= 1 V Cno= 2 (SC) 、一、父例2檢索至少選修課程號為2和3的課程的學(xué)生學(xué)號。分析:方法一:只涉及到一個表,但不能直接用人(為什么?)特別注意,本例不能寫為:n Sno( t Cno= 2A

2、 Cno= 3 (SC)因為選擇運算為行運算,在同一行中Cno不可能既為2,又為3。第一步:轉(zhuǎn)換(SCX SC笛卡爾積將垂直的條件展開為水平的條件。SC1SC2學(xué)號Sno課程號Cno成績Grade學(xué)號Sno課程號Cno成績Grade9500119295001192950011929500128595001192950013889500119295002290950011929500238095001285950011929500128595001285950012859500138895001285950022909500128595002380JJJJJ選修課程號為2和3的學(xué)生:T 1=4A

3、 2- 2A 5= 3 (SCX SC)最后取出學(xué)生的學(xué)號:n 1( T 1=4A 2= 2A 5= 3 (SCX SC)方法二 : n Sno( T Cno= 2 (SC) n n Sno( T Cno= 3 (SC)三、差例3將學(xué)生信息(95001 ,李勇,男,20, CS )從Student表刪除。 分析:可以將這行數(shù)據(jù)看成由一個元組構(gòu)成的表,將Student表與該表進行差運算。因此,該刪除操作可表示為:Student- 95001,李勇,男,20, CS 注意:但是當查詢涉及到否定或全部值時,上述形式就不能表達了,就要用到差操作或除操作。例4求沒有選修課程號為 2的課程的學(xué)生學(xué)號。分析

4、:可以認為是在全部學(xué)號中去掉選修課程號為2的課程的學(xué)生學(xué)號,就得出沒有選修課程號為2的學(xué)生學(xué)號。由于在并、交、差運算中,參加運算的關(guān)系要求是兼容的,故應(yīng) 當先投影,再進行差運算。n Sno (Stude nt)-n Sno( (T Cno= 2 (SC)特別注意,本題不能寫為:n Sno( d cnoh 2 (SC) o因為,選擇運算為行運算,并且SC表中包含的只是選修了課程的學(xué)生學(xué)號,對那些沒選任何課程的學(xué)生學(xué)號,在SC中找不到。根據(jù)題意,要查詢沒有選修課程號為2課程的學(xué)生學(xué)號,顯然包括沒選任何課程的學(xué)生學(xué)號。當查詢涉及到針對“否定”特征含義的查詢要求,如“不”、“沒有”等字眼,一般要 用差

5、運算表示。四、自然連接例5檢索不學(xué)“ 2”號課程的學(xué)生姓名與年齡。2”號課分析:首先考慮“差”的問題。先求出全體學(xué)生的姓名和年齡,再求出學(xué)了” 程的學(xué)生的姓名和年齡,最后執(zhí)行兩個集合的差操作。n Sname,Sag&StUdent)-n Sname,Sage( d Cno= 2 (StudentSC)例6查詢至少選修了一門其直接先行課為“5”號課程的學(xué)生姓名。分析:(1)根據(jù)題目確定要輸出的列為:Sname,都在Student表中; 根據(jù)題意,先行課程名為“5”,則選擇的條件為 Cpno= 5,因為Cpno在Course 表中,所以也要用到Course表; 根據(jù)1, 2兩步確定用到的表名集為S

6、tudent,Course;因為表名集中兩個表,則要用自然連接將它們連接起來,但因為這個兩表不存在共同的列,不能進行自然連接。因此要加入中間表,中間表中應(yīng)含有能與其它兩個表進行自然連接的公共列,這個表就是SC將選擇條件Cpno= 5作用于自然連接后產(chǎn)生的新表上,并用投影操作選取要輸出的Sn o,C no。綜上,該查詢的關(guān)系代數(shù)表達式為:n Sname( d Cpno= 5 (Course) AOsC n Sno,Sname(Stuent)n Snam n Sno( d Cpno= 5 (Course) I;*SC);*Stuent)五、除除法定義中的含義分析:(1)前提:兩個關(guān)系 R(X,Y)

7、和S(Y,Z)應(yīng)該有公共屬性列。運算結(jié)果為P(X),元組來自于R關(guān)系,只包含X屬性列R關(guān)系中的哪些元組呢? 對于TX的象集包含n y(S)除法運算的步驟將被關(guān)系R的屬性分成兩個部分,即與除關(guān)系相同的屬性部分Y和與除關(guān)系不同的屬性部分Xo在除關(guān)系中,求 Y的投影,得到目標數(shù)據(jù)集。將被除關(guān)系進行分組。(分組原則是“值”一樣的為一組)考慮被除關(guān)系中已分好的每一元組,如果它的象集包含目標數(shù)據(jù)集(投影結(jié)果) 則其值為商。例如,RSABCa1b1C2a2b3C7BCDb1C2d1b2C1d1日3b4C6b2IC3Id2a1b2C3(b)a4b6C6R- Sa2b2C3Aa1b2C1a1(a)(c)分析:在

8、關(guān)系R中, A可以取四個值a i, a2, a3, a4。其中:a1的象集為(b 1, C2),(b2, C3) , (b2, C1)a2的象集為(b 3, c?),(b2, C3)a3的象集為(b 4, C6)a4的象集為(b 6, C6) S在 (B , C)上的投影為(b1 , c2) , (b2, C1) , (b2 , C3)顯然只有ai的象集(B, C) ai包含了 $在(B, C屬性組上的投影,所以 R+ S=ai。 例,R表示選修課程,Si、S2、S3表示課程情況RS1SnoSnameCnoCnameCnoCname1BaoC1DBC2OS1BaoC2OSS21BaoC3DSC

9、noCname1BaoC4MISC2OS2GuC1DBC4MIS2GuC2OSS33AnC2OSCnoCname4LiC2OSC1DB4LiC4MISC2OSC4MISR- SiR- S2SnoSnameSnoSname1Bao1Bao2Gu4Li3AnR- S34LiSnoSname1Bao除法的物理意義除法的含義:R+ S1表示至少選修S1關(guān)系中列出課程的學(xué)生的學(xué)號和姓名;R+ S2表示至少選修S2關(guān)系中列出課程的學(xué)生的學(xué)號和姓名;求選修 所有課的同學(xué)姓名:(S、SC C)說明:針對“全部”特征含義的查詢要求,如“全部”、“至少”、“包含”等字眼, 般要用除法運算。有時需要構(gòu)造被除數(shù)與除數(shù)

10、除操作是同時從行和列角度進行運算(S是R的子集),構(gòu)造被除數(shù)與除數(shù)。用除法的第一種情況例7檢索至少選修課程號為1和2的學(xué)生學(xué)號。分析:(1)至少選修課程號為 1和2的關(guān)系(表)。考慮用除法來做構(gòu)造一個臨時表K= n Cno( (T Cno= 1 V Cno= 2 (COUSe)構(gòu)造被除數(shù)與除數(shù)n Sno,Cno(SC) K用除法的第二種情況例8查詢選修了全部課程的學(xué)生的學(xué)號。確定目標屬性:學(xué)號 Sno;確定目標條件:如果學(xué)號X被查詢到,說明在臨時關(guān)系n Sno,Cno(SC)表中學(xué)號X的像集就是所有課程號Cnc組成的集合;確定目標關(guān)系:根據(jù)1)、2)的分析,可以確定該查詢是在n sno,cno

11、(SC)和Course兩個關(guān)系上進行除法運算。其中,關(guān)系SC提供選修信息,而Course提供全部的課程號信息。畫查詢樹:兀 sno. eno 兀 eno/ sccourse圖3例題2的查詢樹寫出關(guān)系代數(shù)表達式:n sno,cno(SC) *冗cno(COUSe)。例9查詢選修全部課程的學(xué)生號碼和姓名。(結(jié)果需同時滿足多個關(guān)系的時候用除法)n Sno,Cno(SC)n cno(Course) I n sno,sname(Student)六、綜合實例1、設(shè)有如下所示的關(guān)系:學(xué)生表 S(S#,SNAME,AGE,SEX)課程表 C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GR

12、ADE),其中:S#為學(xué)號,SNAM為姓名,AGE為年齡,SEX為性別, C#為課程號,CNAM為課程名,GRAD的成績,TEACHER為教師。SS#SNAMEAGESEX1李強23男2劉麗22女3張友22男CC#CNAMETEACHERK1C語言王華K5數(shù)據(jù)庫原理程軍K8編譯原理程軍SCS#C#GRADE1K1832K1853K1922K5903K5843K880試用關(guān)系代數(shù)表達式表示下列查詢語句: 檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)檢索年齡大于 21的男學(xué)生學(xué)號(S#)和姓名(SNAME。 檢索至少選修“程軍”老師所授全部課程的學(xué)生姓名(SNAME。 TOC o

13、 1-5 h z 檢索“李強”同學(xué)不學(xué)課程的課程號(C#)。 檢索至少選修兩門課程的學(xué)生學(xué)號(S#)。 檢索全部學(xué)生都選修的課程的課程號(C#)和課程名(CNAME) 檢索選修課程包含“程軍”老師所授課程之一的學(xué)生學(xué)號(S#)。檢索選修課程號為 K1和K5的學(xué)生學(xué)號(S#)。檢索選修全部課程的學(xué)生姓名 (SNAME。 檢索選修課程包含學(xué)號為2的學(xué)生所修課程的學(xué)生學(xué)號 (S#)。檢索選修課程名為“ C語言”的學(xué)生學(xué)號(S#)和姓名(SNAME。解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達式表示如下:n C#,CNAmE (T teacher=程軍 (C)n S#,SNAm T AGE21ASEX男 (

14、S)nsnamS (n s#,c#(SC) *n c#( t teacher=程軍(C)nc#(C)-n c#(t sname=李強(S) SC) n S#( T 1=4A2W5(SCX SC) n C#,CNAmEC(n s#,c#(SC) * n s#(S) n s#(SCn c#( t teacher=程軍 (C) n s#,c# (SC) f n T C#= k1 V C#= k5 (C) n sname ( S ( n s#,c# (SC)f n c#(C)(10) n s#,c#(11 ) n S#,SNAmS( n s#(SCT CNAME= C 語言 (C)2、設(shè)有如下所示的關(guān)

15、系:學(xué)生表 S(S#,SNAME,AGE,SEX)課程表 C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GRADE),其中:S#為學(xué)號,SNAM為姓名,AGE為年齡,SEX為性別, C#為課程號,CNAM為課程名,GRAD的成績,TEACHER為教師。試用關(guān)系代數(shù)表達式表示下列查詢語句:檢索LIU老師所授課程的課程號和課程名; 檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名;檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名;檢索至少選修 LIU老師所授課程中一門課的女學(xué)生姓名;檢索 WAN同學(xué)不學(xué)的課程的課程號; 檢索既選修了 LIU老師的課程、又選修了LI老師課程的學(xué)生學(xué)號;全部學(xué)生都選修的課程的課程號與課程名; 檢索選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號。解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達式表示如下:

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論