下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)系代數(shù)表達(dá)式總結(jié)一、并例1 求選修了課程號(hào)為1或2的課程的學(xué)生學(xué)號(hào)。分析:可以先求出選修了課程號(hào)為1的課程的學(xué)生學(xué)號(hào),再求出選修了課程號(hào)為2的課程的學(xué)生學(xué)號(hào),最后使用并運(yùn)算的方法求出選修課程號(hào)為1或2的課程的學(xué)生學(xué)號(hào)。本例也可以使用或條件來(lái)表示。Sno(Cno=1(SC)Sno(Cno=2(SC) 或Sno(Cno=1 Cno=2(SC)二、交例2 檢索至少選修課程號(hào)為2和3的課程的學(xué)生學(xué)號(hào)。分析:方法一:只涉及到一個(gè)表,但不能直接用(為什么?)特別注意,本例不能寫為:Sno(Cno=2 Cno=3(SC)因?yàn)檫x擇運(yùn)算為行運(yùn)算,在同一行中Cno不可能既為2,又為3。第一步:轉(zhuǎn)換(SCSC)笛
2、卡爾積將垂直的條件展開為水平的條件。SC1 SC2學(xué)號(hào)Sno課程號(hào)Cno成績(jī)Grade學(xué)號(hào)Sno課程號(hào)Cno成績(jī)Grade9500119295001192950011929500128595001192950013889500119295002290950011929500238095001285950011929500128595001285950012859500138895001285950022909500128595002380選修課程號(hào)為2和3的學(xué)生:1=42=2 5=3(SCSC)最后取出學(xué)生的學(xué)號(hào):1(1=42=2 5=3(SCSC)方法二:Sno(Cno=2(SC)Sno(C
3、no=3(SC)三、差例3 將學(xué)生信息(95001,李勇,男,20,CS)從Student表刪除。分析:可以將這行數(shù)據(jù)看成由一個(gè)元組構(gòu)成的表,將Student表與該表進(jìn)行差運(yùn)算。因此,該刪除操作可表示為:Student-95001,李勇,男,20,CS注意:但是當(dāng)查詢涉及到否定或全部值時(shí),上述形式就不能表達(dá)了,就要用到差操作或除操作。例4 求沒有選修課程號(hào)為2的課程的學(xué)生學(xué)號(hào)。分析:可以認(rèn)為是在全部學(xué)號(hào)中去掉選修課程號(hào)為2的課程的學(xué)生學(xué)號(hào),就得出沒有選修課程號(hào)為2的學(xué)生學(xué)號(hào)。由于在并、交、差運(yùn)算中,參加運(yùn)算的關(guān)系要求是兼容的,故應(yīng)當(dāng)先投影,再進(jìn)行差運(yùn)算。Sno(Student)- Sno(Cn
4、o=2(SC)特別注意,本題不能寫為:Sno(Cno2(SC)。因?yàn)?,選擇運(yùn)算為行運(yùn)算,并且SC表中包含的只是選修了課程的學(xué)生學(xué)號(hào),對(duì)那些沒選任何課程的學(xué)生學(xué)號(hào),在SC中找不到。根據(jù)題意,要查詢沒有選修課程號(hào)為2課程的學(xué)生學(xué)號(hào),顯然包括沒選任何課程的學(xué)生學(xué)號(hào)。當(dāng)查詢涉及到針對(duì)“否定”特征含義的查詢要求,如“不”、“沒有”等字眼,一般要用差運(yùn)算表示。四、自然連接例5 檢索不學(xué)“2”號(hào)課程的學(xué)生姓名與年齡。分析:首先考慮“差”的問(wèn)題。先求出全體學(xué)生的姓名和年齡,再求出學(xué)了”2”號(hào)課程的學(xué)生的姓名和年齡,最后執(zhí)行兩個(gè)集合的差操作。Sname,Sage(Student)- Sname,Sage(Cno
5、=2(StudentSC)例6 查詢至少選修了一門其直接先行課為“5”號(hào)課程的學(xué)生姓名。分析:(1)根據(jù)題目確定要輸出的列為:Sname,都在Student表中;(2)根據(jù)題意,先行課程名為“5”,則選擇的條件為Cpno=5,因?yàn)镃pno在Course表中,所以也要用到Course表;(3)根據(jù)1,2兩步確定用到的表名集為Student,Course;(4)因?yàn)楸砻袃蓚€(gè)表,則要用自然連接將它們連接起來(lái),但因?yàn)檫@個(gè)兩表不存在共同的列,不能進(jìn)行自然連接。因此要加入中間表,中間表中應(yīng)含有能與其它兩個(gè)表進(jìn)行自然連接的公共列,這個(gè)表就是SC。將選擇條件Cpno=5作用于自然連接后產(chǎn)生的新表上,并用投
6、影操作選取要輸出的Sno,Cno。綜上,該查詢的關(guān)系代數(shù)表達(dá)式為:Sname(Cpno=5(Course)SCSno,Sname(Stuent)或Sname(Sno(Cpno=5(Course)SC)Stuent)五、除1除法定義中的含義分析:(1)前提:兩個(gè)關(guān)系R(X,Y)和S(Y,Z)應(yīng)該有公共屬性列。(2)運(yùn)算結(jié)果為P(X),元組來(lái)自于R關(guān)系,只包含X屬性列(3)R關(guān)系中的哪些元組呢? 對(duì)于TX的象集包含Y(S)2.除法運(yùn)算的步驟(1)將被關(guān)系R的屬性分成兩個(gè)部分,即與除關(guān)系相同的屬性部分Y,和與除關(guān)系不同的屬性部分X。(2)在除關(guān)系中,求Y的投影,得到目標(biāo)數(shù)據(jù)集。(3)將被除關(guān)系進(jìn)行分
7、組。(分組原則是“值”一樣的為一組)(4)考慮被除關(guān)系中已分好的每一元組,如果它的象集包含目標(biāo)數(shù)據(jù)集(投影結(jié)果),則其值為商。例如,R SABCBCDa1b1c2b1c2d1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3(b)a4b6c6RSa2b2c3Aa1b2c1a1(a) (c)分析:在關(guān)系R中,A可以取四個(gè)值a1,a2,a3,a4。其中: a1的象集為(b1,c2),(b2,c3),(b2,c1) a2的象集為(b3,c7),(b2,c3) a3的象集為(b4,c6) a4的象集為(b6,c6)S在(B,C)上的投影為(b1,c2),(b2,c1),(b2,c3) 顯然只
8、有a1的象集(B,C)a1包含了S在(B,C)屬性組上的投影,所以RS=a1。例,R表示選修課程,S1、S2、S3表示課程情況R S1SnoSnameCnoCnameCnoCname1BaoC1DBC2OS1BaoC2OSS21BaoC3DSCnoCname1BaoC4MISC2OS2GuC1DBC4MIS2GuC2OSS33AnC2OSCnoCname4LiC2OSC1DB4LiC4MISC2OSC4MISRS1 RS2SnoSnameSnoSname1Bao1Bao2Gu4Li3AnRS34LiSnoSname1Bao3.除法的物理意義(1)除法的含義:RS1表示至少選修S1關(guān)系中列出課程
9、的學(xué)生的學(xué)號(hào)和姓名;RS2表示至少選修S2關(guān)系中列出課程的學(xué)生的學(xué)號(hào)和姓名;(2)求選修所有課的同學(xué)姓名:(S、SC、C)說(shuō)明:針對(duì)“全部”特征含義的查詢要求,如“全部”、“至少”、“包含”等字眼,一般要用除法運(yùn)算。4.有時(shí)需要構(gòu)造被除數(shù)與除數(shù)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算(S是R的子集),構(gòu)造被除數(shù)與除數(shù)。用除法的第一種情況例7 檢索至少選修課程號(hào)為1和2的學(xué)生學(xué)號(hào)。分析:(1)至少選修課程號(hào)為1和2的關(guān)系(表)。(2)考慮用除法來(lái)做(3)構(gòu)造一個(gè)臨時(shí)表K=Cno(Cno=1 Cno=2(Course)(4)構(gòu)造被除數(shù)與除數(shù)Sno,Cno(SC)K用除法的第二種情況例8 查詢選修了全部課程
10、的學(xué)生的學(xué)號(hào)。1) 確定目標(biāo)屬性:學(xué)號(hào)Sno;2) 確定目標(biāo)條件:如果學(xué)號(hào)x被查詢到,說(shuō)明在臨時(shí)關(guān)系Sno,Cno(SC)表中學(xué)號(hào)x的像集就是所有課程號(hào)Cno組成的集合;3) 確定目標(biāo)關(guān)系:根據(jù)1)、2)的分析,可以確定該查詢是在sno,cno(SC)和Course兩個(gè)關(guān)系上進(jìn)行除法運(yùn)算。其中,關(guān)系SC提供選修信息,而Course提供全部的課程號(hào)信息。4) 畫查詢樹:圖3 例題2 的查詢樹5) 寫出關(guān)系代數(shù)表達(dá)式:sno,cno(SC)cno(Course)。例9 查詢選修全部課程的學(xué)生號(hào)碼和姓名。(結(jié)果需同時(shí)滿足多個(gè)關(guān)系的時(shí)候用除法)。Sno,Cno(SC)Cno(Course)Sno,Sn
11、ame(Student)六、綜合實(shí)例1、設(shè)有如下所示的關(guān)系:學(xué)生表S(S#,SNAME,AGE,SEX)、課程表C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GRADE),其中:S#為學(xué)號(hào),SNAME為姓名,AGE為年齡,SEX為性別,C#為課程號(hào),CNAME為課程名,GRADE為成績(jī), TEACHER為教師。SS#SNAMEAGESEX1李強(qiáng)23男2劉麗22女3張友22男CC#CNAMETEACHERK1C語(yǔ)言王華K5數(shù)據(jù)庫(kù)原理程軍K8編譯原理程軍SCS#C#GRADE1K1832K1853K1922K5903K5843K880試用關(guān)系代數(shù)表達(dá)式表示下列查詢語(yǔ)句:(1)
12、檢索“程軍”老師所授課程的課程號(hào)(C#)和課程名(CNAME)。 (2)檢索年齡大于21的男學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。 (3)檢索至少選修“程軍”老師所授全部課程的學(xué)生姓名(SNAME)。 (4)檢索“李強(qiáng)”同學(xué)不學(xué)課程的課程號(hào)(C#)。 (5)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)(S#)。 (6)檢索全部學(xué)生都選修的課程的課程號(hào)(C#)和課程名(CNAME)。 (7)檢索選修課程包含“程軍”老師所授課程之一的學(xué)生學(xué)號(hào)(S#)。 (8)檢索選修課程號(hào)為K1和K5的學(xué)生學(xué)號(hào)(S#)。 (9)檢索選修全部課程的學(xué)生姓名(SNAME)。 (10)檢索選修課程包含學(xué)號(hào)為2的學(xué)生所修課程的學(xué)生學(xué)號(hào)
13、(S#)。 (11)檢索選修課程名為“C語(yǔ)言”的學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。 解:本題各個(gè)查詢語(yǔ)句對(duì)應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下:(1)C#,CNAME(TEACHER=程軍(C) (2)S#,SNAME(AGE21SEX=男(S) (3)SNAME(Swv (S#,C#(SC)C#(TEACHER=程軍(C) (4)C#(C)-C#(SNAME=李強(qiáng)(S) wv SC) (5)S#(1=425(SC SC)(6)C#,CNAME(Cwv (S#,C#(SC)S#(S) (7)S#(SCwv C#(TEACHER=程軍(C) (8)S#,C#(SC)C#(C#=k1 C#=k5(C)
14、(9)SNAME(Swv (S#,C#(SC)C#(C)) (10)S#,C#(SC)C#(S#=2(SC)(11)S#,SNAME(Swv (S#(SCwv CNAME=C語(yǔ)言(C)2、設(shè)有如下所示的關(guān)系:學(xué)生表S(S#,SNAME,AGE,SEX)、課程表C(C#,CNAME,TEACHER)和學(xué)生選課表SC(S#,C#,GRADE),其中:S#為學(xué)號(hào),SNAME為姓名,AGE為年齡,SEX為性別,C#為課程號(hào),CNAME為課程名,GRADE為成績(jī), TEACHER為教師。SS#SNAMEAGESEXS1李強(qiáng)23男S2劉麗22女S3張友22男CC#CNAMETEACHERK1C語(yǔ)言王華K5
15、數(shù)據(jù)庫(kù)原理程軍K8編譯原理程軍SCS#C#GRADES1K183S2K185S3K192S2K590S3K584S3K880試用關(guān)系代數(shù)表達(dá)式表示下列查詢語(yǔ)句:(1)檢索LIU老師所授課程的課程號(hào)和課程名;(2)檢索年齡大于23歲的男學(xué)生的學(xué)號(hào)和姓名;(3)檢索學(xué)號(hào)為S3學(xué)生所學(xué)課程的課程名與任課教師名;(4)檢索至少選修LIU老師所授課程中一門課的女學(xué)生姓名;(5)檢索WANG同學(xué)不學(xué)的課程的課程號(hào);(6)檢索既選修了LIU老師的課程、又選修了LI老師課程的學(xué)生學(xué)號(hào);(7)全部學(xué)生都選修的課程的課程號(hào)與課程名;(8)檢索選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號(hào)。解:本題各個(gè)查詢語(yǔ)句對(duì)應(yīng)的關(guān)系
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版六年級(jí)英語(yǔ)下冊(cè)月考試卷含答案
- 二零二五年度電梯安裝工程安全評(píng)估合同3篇
- 2025年西師新版七年級(jí)化學(xué)下冊(cè)階段測(cè)試試卷
- 個(gè)體銷售代理協(xié)議范本(2024版)版B版
- 大型美食城招商合同范本
- 二零二五年度離婚后夫妻共同居住及財(cái)產(chǎn)處理協(xié)議范本6篇
- 二零二五年度商鋪買賣合同保證書正本標(biāo)準(zhǔn)版3篇
- 分成協(xié)議合同范本
- 2025至2031年中國(guó)家具材料行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)消防壓力表O型圈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 教學(xué)能力大賽獲獎(jiǎng)之教學(xué)實(shí)施報(bào)告
- 小學(xué)數(shù)學(xué)專題講座(課堂PPT)
- 三晶8000B系列變頻器說(shuō)明書
- 左傳簡(jiǎn)介完整
- 體育中國(guó)(上海大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
- 幽默動(dòng)感年會(huì)互動(dòng)PPT演示模板
- 麒麟小學(xué)創(chuàng)建五好關(guān)工委工作實(shí)施方案
- 榕江縣銻礦 礦業(yè)權(quán)出讓收益計(jì)算書
- 七年級(jí)英語(yǔ)句型轉(zhuǎn)換專題訓(xùn)練100題含答案
- 盤查戰(zhàn)術(shù)教案
- GB/T 2652-2022金屬材料焊縫破壞性試驗(yàn)熔化焊接頭焊縫金屬縱向拉伸試驗(yàn)
評(píng)論
0/150
提交評(píng)論