




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文檔供參考,可復制、編制,期待您的好評與關注! 1 / 14數據庫系統概論復習資料:數據庫系統概論復習資料:第一章第一章假設教學管理規定:一個學生可選修多門課,一門課有若干學生選修;一個教師可講授多門課,一門課只有一個教師講授;一個學生選修一門課,僅有一個成績。學生的屬性有學號、學生姓名;教師的屬性有教師編號,教師姓名;課程的屬性有課程號、課程名。要求:根據上述語義畫出 ER 圖,要求在圖中畫出實體的屬性并注明聯系的類型;解答:第第 2 章章關系數據庫關系數據庫1、設有如下所示的關系 S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和 SC(S#,C#,GRADE
2、),試用關系代數表達式表示下列查詢語句:(1)檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)。 (2)檢索年齡大于 21 的男學生學號(S#)和姓名(SNAME)。 (3)檢索至少選修“程軍”老師所授全部課程的學生姓名(SNAME)。 (4)檢索”李強”同學不學課程的課程號(C#)。 (5)檢索至少選修兩門課程的學生學號(S#)。 (6)檢索全部學生都選修的課程的課程號(C#)和課程名(CNAME)。 (7)檢索選修課程包含“程軍”老師所授課程之一的學生學號(S#)。 (8)檢索選修課程號為 k1 和 k5 的學生學號(S#)。 (9)檢索選修全部課程的學生姓名(SNAME)。
3、成績教師編號教師姓名學生選修m課程教師講授nn1學號姓名課程號課程名文檔供參考,可復制、編制,期待您的好評與關注! 2 / 14 (10)檢索選修課程包含學號為 2 的學生所修課程的學生學號(S#)。 (11)檢索選修課程名為“C 語言”的學生學號(S#)和姓名(SNAME)。 解:本題各個查詢語句對應的關系代數表達式表示如下:(1). C#,CNAME(TEACHER=程軍(C) (2). S#,SNAME(AGE21SEX=”男”(C) (3). SNAMEs S#,C#(sc)C#(TEACHER=程軍(C) (4). C#(C)- C#(SNAME=李強(S) SC) (5). S#(
4、1=425 (SC SC)(6). C#,CNAME(C (S#,C#(sc)S#(S) (7). S#(SCC#(TEACHER=程軍(C) (8). S#,C#(sc)C#(C#=k1 C#=k5(C) (9). SNAMEs S#,C#(sc)C#(C) (10). S#,C#(sc)C#(S#=2(SC)(11). S#,SNAMEs S#(SCCNAME=C 語言(C)2、關系 R 和 S 如下圖所示,試計算 RS。 RABCDabcdabefabhkbdefbddlckcdckef3、已知關系 r、s、w,如下圖所示,計算 T=( (r s)w) S。r 關系 s 關系 w 關系A
5、BC1b22a31b13a2ABC2b13b13a13a2BCa2b1答:步驟 1:計算出新關系 R1=r sR1=ABC1b2 SCDcdef文檔供參考,可復制、編制,期待您的好評與關注! 3 / 142a31b13a22b13b13a1步驟 2:計算出新關系 R2=R1w R2=A3步驟 3:計算出新關系 R3=R2 s R3=ABC3b13b23a2即 T= R3=(r s)w) s4、設有一個 SPJ 數據庫,包括 S,P,J,SPJ 四個關系模式(具體見教材 74 頁第 5 題):1)求供應工程 J1 零件的供應商號碼 SNO:Sno(Jno=J1 (SPJ))2)求供應工程 J1
6、零件 P1 的供應商號碼 SNO:Sno(Jno=J1Pno=P1(SPJ)3)求供應工程 J1 零件為紅色的供應商號碼 SNO:Sno(Pno=P1 (COLOR=紅 (P)SPJ))4)求沒有使用天津供應商生產的紅色零件的工程號 JNO:Jno(SPJ)- JNO(city=天津Color=紅 (SSPJP)5)求至少用了供應商 S1 所供應的全部零件的工程號 JNO:Jno,Pno(SPJ) Pno(Sno=S1 (SPJ) )第第 3 章關系數據庫標準語言章關系數據庫標準語言 SQL1、設有如下關系表 R: R(No,NAME,SEX,AGE,CLASS) 主關鍵字是 NO其中 NO
7、為學號,NAME 為姓名,SEX 為性別,AGE 為年齡,CLASS 為班號。文檔供參考,可復制、編制,期待您的好評與關注! 4 / 14寫出實現下列功能的 SQL 語句。 插入一個記錄(25, “李明” , “男” ,21, “95031”); 插入“95031”班學號為 30、姓名為“鄭和”的學生記錄; 將學號為 10 的學生姓名改為“王華” ;將所有“95101”班號改為“95091” ;刪除學號為 20 的學生記錄; 刪除姓“王”的學生記錄;答案:INSERT INTO R VALUES(25, “李明” , “男” ,21, “95031”) INSERT INTO R(NO,NAM
8、E,CLASS) VALUES(30, “鄭和” , “95031”) UPDATE R SET NAME=“王華”WHERE NO10 UPDATE R SET CLASS“95091”WHERE CLASS“95101” DELETE FROM R WHERE NO=20DELETE FROMR WHERE NAME LIKE“王”2、設學生課程數據庫中有三個關系:學生關系 S(S#,SNAME,AGE,SEX)學習關系 SC(S#,C#,GRADE)課程關系 C(C#,CNAME)其中 S#、C#、SNAME、AGE、SEX、GRADE、CNAME 分別表示學號、課程號、姓名、年齡、性別
9、、成績和課程名。用 SQL 語句表達下列操作(1)檢索選修課程名稱為“MATHS”的學生的學號與姓名 (2)檢索至少學習了課程號為“C1”和“C2”的學生的學號(3)檢索年齡在 18 到 20 之間(含 18 和 20)的女生的學號、姓名和年齡(4)將一個新學生元組(學號:200215128;姓名:王麗;年齡:19;性別:女)插入到S 表中(5)將選修課程號為“C1”的同學成績加 5 分(6)找出每個學生超過他選修課程平均成績的課程號(7)查詢查詢選修“C2”號課程且成績在 90 分以上的所有學生。(8)查詢所有姓劉的學生的姓名、學號和性別(9)檢索平均成績超過 80 分的學生學號和平均成績(
10、10)檢索選修了全部課程的學生姓名文檔供參考,可復制、編制,期待您的好評與關注! 5 / 14(11)檢索選修了三門課以上的學生的姓名(12)創建視圖 stu_info,包括選修“C1”號課程所有學生的學號、姓名、性別、年齡、選修課程號、課程名、成績答案:(1)SELECT SNAME,AGE FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME= MATHS(2) SELECT S# FROM SC WHERE CNO=C1 AND S# IN( SELECT S# FROM SC WHERE CNO=C2)(3)SELECT S#,SN
11、AME,AGE FROM S WHERE AGE BETWEEN 18 AND 20(4) INSERT INTO S(S#,SNAME,AGE,SEX) VALUES(“200215128”,”王麗”,19,”女”); (5) UPDATE SCSET GRADE = GRADE+5WHERE C#=C1;(6) SELECT S#,C#FROM S X WHERE GRADE=(SELECT AVG(GRADE) FROM C Y WHERE Y.S#=X.S#); (7) SELECT S.S#,SNAME FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C2
12、AND SC.GRADE90; (8) SELECT SNAME,S#,SEX FROM S WHERE LIKE 劉%; (9) SELECT S# ,AVG(GRADE) 平均成績 FROM SC GROUP BY S# HAVING AVG(GRADE)80(10) SELECT SNAMEFROM SWHERE NOT EXISTS文檔供參考,可復制、編制,期待您的好評與關注! 6 / 14 (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C# ) (11) SELECT SNAME
13、FROM S,SC WHERE S.S#=SC.S# GROUP BY SNAME HAVING COUNT(*)3 (12)CREATE VIEW STU_INFO AS SELECT S.SNO,SNAME,SEX,AGE,C.CNO,CNAME,GRADEFROM S,SC,CWHERE S.SNO=SC.SNO AND C.CNO= SC.CNO AND C.CNO=C13、設學生-課程數據庫中包括三個表: 學生表:Student (Sno,Sname,Sex,Sage,Sdept)課程表:Course(Cno,Cname,Ccredit)學生選課表:SC(Sno,Cno,Grade)
14、其中 Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade 分別表示學號、姓名、性別、年齡、所在系名、課程號、課程名、學分和成績。試用 SQL 語言完成下列項操作:(1)查詢選修課程包括“1042”號學生所學的課程的學生學號(2)創建一個計科系學生信息視圖 S_CS_VIEW,包括 Sno 學號、Sname 姓名、Sex性別;(3)通過上面第 2 題創建的視圖修改數據,把王平的名字改為王慧平(4)創建一選修數據庫課程信息的視圖,視圖名稱為 datascore_view,包含學號、姓名、成績。答案:(1) SELECT DISTINCT SNO文檔
15、供參考,可復制、編制,期待您的好評與關注! 7 / 14 FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.SNO = 1042 AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO); (2) CREATE VIEW S_CS_VIEW AS SELECT SNO,SNAME,SEX FROM STUDENT WHERE SDEPT=CS (3)UPDATE S_CS_VIEW SET SNAME= 王慧平 WHERE
16、 SNAME= 王平(4) CREATE VIEW DATASCORE_VIEW AS SELECT SNO 學號、SNAME 姓名、GRADE 成績 FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME= 數據庫第第 6 章關系數據理論章關系數據理論1、設有關系模式 S-L-C(Sno,Sdept,Sloc,Cno,Grade),其中屬性分別表示:學號、所在系、學生住處、課程號、成績。假定每個系的學生住在同一個地方,每個學生可選修多門課程,每門課程可被多個學生選修,請根據語義寫出該關系模
17、式的主碼及基本函數依賴,并通過模式分解,使其分解為與之等價的 3NF 模式集。文檔供參考,可復制、編制,期待您的好評與關注! 8 / 14答:主碼為(Sno,Cno)。基本函數依賴:(Sno,Cno) GradeSno Sdept,(Sno,Cno) SdeptSno Sloc,(Sno,Cno) Sloc,Sdept Sloc分解結果(3NF):SC(Sno,Cn,Grade)S-D(Sno,Sdept)D-L(Sdept,Sloc)2、已知學生關系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno 學號、Sname 姓名、SD 系名、Sdname 系主任
18、名、Course 課程、Grade 成績。(1)寫出關系模式 S 的基本函數依賴和主碼。(2)原關系模式 S 為幾范式?為什么?分解成高一級范式,并說明為什么? (3)將關系模式分解成 3NF,并說明為什么? (1)寫出關系模式 S 的基本函數依賴和主碼。答: 關系模式 S 的基本函數依賴如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade關系模式 S 的碼為:(Sno,Course) 。(2)原關系模式 S 為幾范式?為什么?分解成高一級范式,并說明為什么?答: 原關系模式 S 是屬于 1NF 的,碼為(Sno,Course),非主屬性中的成績完全依賴
19、于碼,而其它非主屬性對碼的函數依賴為部分函數依賴,所以不屬于 2NF。消除非主屬性對碼的函數依賴為部分函數依賴,將關系模式分解成 2NF 如下:S1(Sno,Sname,SD,Sdname)S2(Sno,Course,Grade) (3)將關系模式分解成 3NF,并說明為什么?答: 將上述關系模式分解成 3NF 如下:關系模式 S1 中存在 SnoSD,SDSdname,即非主屬性 Sdname 傳遞依賴于 Sno,所以 S1不是 3NF。進一步分如下:S11(Sno,Sname,SD) S12(SD,Sdname)分解后的關系模式 S11、S12 滿足 3NF。對關系模式 S2 不存在非主屬
20、性對碼的傳遞依賴,故屬于 3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解滿足 3NF。S11(Sno,Sname,SD) S12(SD,Sdname)PP文檔供參考,可復制、編制,期待您的好評與關注! 9 / 14S2(Sno,Course,Grade) 3、建立一個關于系、學生、班級、學會等諸信息的關系數據庫。學生:學號、姓名、出生年月、系名、班號、宿舍區。班級:班號、專業名、系名、人數、入校年份。系:系名、系號、系辦公地點、人數。學會:學會名、成立年份、辦公地點、人數。 語義如下:一個系有若干專業,每個專業每年只招一個班,每個班有若干學
21、生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。學生參加某學會有一個入會年份。 請給出關系模式,指出是否存在傳遞函數依賴,對于函數依賴左部是多屬性的情況討論函數依賴是完全函數依賴,還是部分函數依賴。指出各關系模式的候選碼、外部碼,有沒有全碼存在?解:(1)關系模式如下: 學生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班級:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 學會:M(Mname,Myear,Maddr,Mnum)(2) 傳遞依賴如下:A、關系模式 S 中,由于
22、 SnoDept,而 DeptSno ,DeptRno(宿舍區)所以 Sno 與 Rno 之間存在著傳遞函數依賴。 由于 ClassDept,Dept Class,DeptRno 所以 Class 與 Rno 之間存在著傳遞函數依賴。 由于 SnoClass,ClassSno,ClassDept 所以 Sno 與 Dept 之間存在著傳遞函數依賴。B、關系模式 C 中,由于 ClassPname,PnameClass,PnameDept 所以 C1ass 與 Dept 之間存在著傳遞函數依賴。C、關系模式 D 中,Dept 與 Office,Dept 與 Dnum 之間不存在傳遞依賴。D、關系
23、模式 M 中不存在傳遞依賴。(3)各關系模式的候選碼、外部碼,全碼如下: A、學生 S 候選碼:Sno;外部碼:Dept、Class;無全碼 B、班級 C 候選碼:Class;外部碼:Dept;無全碼 C、系 D 候選碼:Dept 或 Dno;無外部碼;無全碼 D、學會 M 候選碼:Mname;無外部碼;無全碼文檔供參考,可復制、編制,期待您的好評與關注! 10 / 14第第 7 章數據庫設計章數據庫設計1、現有一局部應用,包括兩個實體:“出版社”和“作者” ,這兩個實體是多對多的聯系,請讀者自己設計適當的屬性,畫出 E 一 R 圖,再將其轉換為關系模型(包括關系名、屬性名、碼和完整性約束條件
24、) 。答:關系模型為:作者(作者號,姓名,年齡,性別,電話,地址)出版社(出版社號,名稱,地址,聯系電話)出版(作者號,出版社號,書的數量)出版關系的主碼作者號,出版社號分別參照作者關系的主碼作者號和出版社關系的主碼出版社號。2、設有如下實體:學生:學號、單位、姓名、性別、年齡、選修課程名 課程:編號、課程名、開課單位、任課教師號 教師:教師號、姓名、性別、職稱、講授課程編號 單位:單位名稱、電話、教師號、教師名上述實體中存在如下聯系:(1) 一個學生可選修多門課程,一門課程可為多個學生選修;(2) 一個教師可講授多門課程,一門課程可為多個教師講授;(3) 一個單位可有多個教師,一個教師只能屬
25、于一個單位。試完成如下工作:(1) 分別設計學生選課和教師任課兩個局部信息的結構 E-R 圖。(2) 將上述設計完成的 E-R 圖合并成一個全局 E-R 圖。 (3) 將該全局 E-R 圖轉換為等價的關系模型表示的數據庫邏輯結構。解:(1) 學生選課、教師任課局部 E-R 圖如下所示。開課單位課程選修學生擁有姓名性別學號課程名教師號編號單位名年齡11mmnm文檔供參考,可復制、編制,期待您的好評與關注! 11 / 14(2) 合并后的全局 E-R 圖如下所示。學生選課局部 E-R 圖教師課程講授單位屬于單位名電話編號姓名性別教師號年齡mnm1教師授課局部 E-R 圖屬于單位課程選修學生擁有教師開課講授111mmmnnmm文檔供參考,可復制、編制,期待您的好評與關注! 12 / 14為避免圖形復雜,下面給出各實體屬性:單位:單位名、電話
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業遺址改造為綠色建筑的實踐
- 工業節能技術與裝備創新
- 工作中的時間偷閑術如何高效休息
- 工業設計的前沿技術與案例分享
- 工業領域中智能成型技術的創新實踐
- 工作區溫度與員工工作效率的關系
- 工作環境的心理舒適度提升
- 工廠自動化生產線的安全設計
- 工作匯報的技巧和策略分享
- 工程機械的智能化控制技術
- 如何正確呼叫120
- 化療藥物引起腎毒性護理
- 粉末靜電噴涂工藝
- 古董數字化展示
- (部編版)統編版小學語文教材目錄(一至六年級上冊下冊齊全)
- 陜西延長石油集團招聘筆試題庫2024
- 2024年黑龍江省綏化市中考物理二模試卷(含答案)
- GB/T 44271-2024信息技術云計算邊緣云通用技術要求
- 智慧樹知到《星期音樂會(同濟大學)》章節測試答案
- GB/T 44265-2024電力儲能電站鈉離子電池技術規范
- Alluxio助力AI模型訓練加速寶典 2.0(實戰篇)
評論
0/150
提交評論