數(shù)據(jù)庫系統(tǒng)大題_第1頁
數(shù)據(jù)庫系統(tǒng)大題_第2頁
數(shù)據(jù)庫系統(tǒng)大題_第3頁
數(shù)據(jù)庫系統(tǒng)大題_第4頁
數(shù)據(jù)庫系統(tǒng)大題_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一個(gè)學(xué)生可選修多門課,一門課有若干學(xué)生選修;一個(gè)教師可講授多門課,一門課只有一個(gè)教師講授;一個(gè)學(xué)生選修一門課,僅有一個(gè)成績。要求:根據(jù)上述語義畫出ER圖,要求在圖中畫出實(shí)體的屬性并注明聯(lián)系的類型;成績教師編號教師姓名學(xué)生選修m課程教師講授nn1學(xué)號姓名課程號課程名解答:1、設(shè)有如下所示的關(guān)系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),試用關(guān)系代數(shù)表達(dá)式表示下列查詢語句:(1)檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)。 (2)檢索年齡大于21的男學(xué)生學(xué)號(S#)和姓名(SNAME)。 (3)檢索至少選修“程

2、軍”老師所授全部課程的學(xué)生姓名(SNAME)。 (4)檢索”李強(qiáng)”同學(xué)不學(xué)課程的課程號(C#)。 (5)檢索至少選修兩門課程的學(xué)生學(xué)號(S#)。 (6)檢索全部學(xué)生都選修的課程的課程號(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)。 解:本題各個(gè)查詢語句對應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下:(1). C#,

3、CNAME(TEACHER=程軍(C) (2). S#,SNAME(AGE>21SEX=”男”(C) (3). SNAMEs S#,C#(sc)÷C#(TEACHER=程軍(C) (4). C#(C)- C#(SNAME=李強(qiáng)(S) SC) (5). S#(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

4、#,C#(sc)÷C#(S#=2(SC)(11). S#,SNAMEs S#(SCCNAME=C語言(C)2、關(guān)系R和S如下圖所示,試計(jì)算R÷S。 RABCDabcdabefabhkbdefbddlckcdckef SCDcdef1、設(shè)有如下關(guān)系表R: R(No,NAME,SEX,AGE,CLASS) 主關(guān)鍵字是NO其中NO為學(xué)號,NAME為姓名,SEX為性別,AGE為年齡,CLASS為班號。寫出實(shí)現(xiàn)下列功能的SQL語句。 插入一個(gè)記錄(25,“李明”,“男”,21,“95031”); 插入“95031”班學(xué)號為30、姓名為“鄭和”的學(xué)生記錄; 將學(xué)號為10的學(xué)生姓名改為“

5、王華”;將所有“95101”班號改為“95091”;刪除學(xué)號為20的學(xué)生記錄; 刪除姓“王”的學(xué)生記錄;答案:INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) INSERT INTO R(NO,NAME,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、設(shè)學(xué)生課程數(shù)據(jù)庫中有三個(gè)

6、關(guān)系:學(xué)生關(guān)系S(S#,SNAME,AGE,SEX)學(xué)習(xí)關(guān)系SC(S#,C#,GRADE)課程關(guān)系C(C#,CNAME)其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分別表示學(xué)號、課程號、姓名、年齡、性別、成績和課程名。用SQL語句表達(dá)下列操作(1)檢索選修課程名稱為“MATHS”的學(xué)生的學(xué)號與姓名 (2)檢索至少學(xué)習(xí)了課程號為“C1”和“C2”的學(xué)生的學(xué)號(3)檢索年齡在18到20之間(含18和20)的女生的學(xué)號、姓名和年齡(4)將一個(gè)新學(xué)生元組(學(xué)號:200215128;姓名:王麗;年齡:19;性別:女)插入到S表中(5)將選修課程號為“C1”的同學(xué)成績加5分(6)找出

7、每個(gè)學(xué)生超過他選修課程平均成績的課程號(7)查詢查詢選修“C2”號課程且成績在90分以上的所有學(xué)生。(8)查詢所有姓劉的學(xué)生的姓名、學(xué)號和性別(9)檢索平均成績超過80分的學(xué)生學(xué)號和平均成績(10)檢索選修了全部課程的學(xué)生姓名(11)檢索選修了三門課以上的學(xué)生的姓名(12)創(chuàng)建視圖stu_info,包括選修“C1”號課程所有學(xué)生的學(xué)號、姓名、性別、年齡、選修課程號、課程名、成績答案:(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

8、 CNO=C1 AND S# IN( SELECT S# FROM SC WHERE CNO=C2)(3)SELECT S#,SNAME,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#=

9、X.S#); (7) SELECT S.S#,SNAME FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C2 AND SC.GRADE>90; (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 (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC

10、 WHERE S#=S.S# AND C#=C.C# ) (11) SELECT SNAME 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、設(shè)學(xué)生-課程數(shù)據(jù)庫中包括三個(gè)表: 學(xué)生表:Student (Sno,Sname,Sex,Sage,Sdept)課

11、程表:Course(Cno,Cname,Ccredit)學(xué)生選課表:SC(Sno,Cno,Grade)其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分別表示學(xué)號、姓名、性別、年齡、所在系名、課程號、課程名、學(xué)分和成績。試用SQL語言完成下列項(xiàng)操作:(1)查詢選修課程包括“1042”號學(xué)生所學(xué)的課程的學(xué)生學(xué)號(2)創(chuàng)建一個(gè)計(jì)科系學(xué)生信息視圖S_CS_VIEW,包括Sno學(xué)號、Sname姓名、Sex性別;(3)通過上面第2題創(chuàng)建的視圖修改數(shù)據(jù),把王平的名字改為王慧平(4)創(chuàng)建一選修數(shù)據(jù)庫課程信息的視圖,視圖名稱為datascore_view

12、,包含學(xué)號、姓名、成績。答案:(1) SELECT DISTINCT SNO 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

13、 SET SNAME= 王慧平 WHERE SNAME= 王平(4) CREATE VIEW DATASCORE_VIEW AS SELECT SNO 學(xué)號、SNAME 姓名、GRADE 成績 FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME= 數(shù)據(jù)庫1、設(shè)有關(guān)系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade),其中屬性分別表示:學(xué)號、所在系、學(xué)生住處、課程號、成績。假定每個(gè)系的學(xué)生住在同一個(gè)地方,每個(gè)學(xué)生可選修多門課程,每門課程可被多個(gè)學(xué)生選修,請根據(jù)語義寫出該關(guān)系

14、模式的主碼及基本函數(shù)依賴,并通過模式分解,使其分解為與之等價(jià)的3NF模式集。答:主碼為(Sno,Cno)。基本函數(shù)依賴:(Sno,Cno) GradePSno Sdept,(Sno,Cno) SdeptPSno Sloc,(Sno,Cno) Sloc,Sdept Sloc分解結(jié)果(3NF):SC(Sno,Cn,Grade)S-D(Sno,Sdept)D-L(Sdept,Sloc)2、已知學(xué)生關(guān)系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno學(xué)號、Sname姓名、SD系名、Sdname系主任名、Course課程、Grade成績。(1)寫出關(guān)系模式S的基本函

15、數(shù)依賴和主碼。(2)原關(guān)系模式S為幾范式?為什么?分解成高一級范式,并說明為什么? (3)將關(guān)系模式分解成3NF,并說明為什么? (1)寫出關(guān)系模式S的基本函數(shù)依賴和主碼。答: 關(guān)系模式S的基本函數(shù)依賴如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade關(guān)系模式S的碼為:(Sno,Course)。(2)原關(guān)系模式S為幾范式?為什么?分解成高一級范式,并說明為什么?答: 原關(guān)系模式S是屬于1NF的,碼為(Sno,Course),非主屬性中的成績完全依賴于碼,而其它非主屬性對碼的函數(shù)依賴為部分函數(shù)依賴,所以不屬于2NF。消除非主屬性對碼的函數(shù)依賴為部分函數(shù)依

16、賴,將關(guān)系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)S2(Sno,Course,Grade) (3)將關(guān)系模式分解成3NF,并說明為什么?答: 將上述關(guān)系模式分解成3NF如下:關(guān)系模式S1中存在SnoSD,SDSdname,即非主屬性Sdname傳遞依賴于Sno,所以S1不是3NF。進(jìn)一步分如下:S11(Sno,Sname,SD) S12(SD,Sdname)分解后的關(guān)系模式S11、S12滿足3NF。對關(guān)系模式S2不存在非主屬性對碼的傳遞依賴,故屬于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解滿足3NF。S11(

17、Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade) (1)一個(gè)學(xué)生可選修多門課程,一門課程可為多個(gè)學(xué)生選修;(2)一個(gè)教師可講授多門課程,一門課程可為多個(gè)教師講授;(3)一個(gè)單位可有多個(gè)教師,一個(gè)教師只能屬于一個(gè)單位。試完成如下工作:(1)分別設(shè)計(jì)學(xué)生選課和教師任課兩個(gè)局部信息的結(jié)構(gòu)E-R圖。(2)將上述設(shè)計(jì)完成的E-R圖合并成一個(gè)全局E-R圖。(3)將該全局E-R圖轉(zhuǎn)換為等價(jià)的關(guān)系模型表示的數(shù)據(jù)庫邏輯結(jié)構(gòu)。解:(1)學(xué)生選課、教師任課局部E-R圖如下所示。開課單位課程選修學(xué)生擁有姓名性別學(xué)號課程名教師號編號單位名年齡11mmnm學(xué)生選課局部E-R

18、圖課程講授編號姓名性別教師號年齡mn教師m屬于1教師授課局部E-R圖單位電話單位名(2)合并后的全局E-R圖如下所示。屬于單位課程選修學(xué)生擁有教師開課講授111mmmnnmm全局E-R圖3、請?jiān)O(shè)計(jì)一個(gè)圖書館數(shù)據(jù)庫,此數(shù)據(jù)庫中對每個(gè)借閱者保存讀者記錄,包括:讀者號,姓名,地址,性別,年齡,單位。對每本書存有:書號,書名,作者,出版社。對每本被借出的書存有讀者號、借出日期和應(yīng)還日期。要求:給出 E 一 R 圖,再將其轉(zhuǎn)換為關(guān)系模型。答 :E 一 R 圖為:關(guān)系模型為:讀者(讀者號,姓名,地址,性別書(書號,書名,作者,出版社)借書(讀者號,書號,借出日期,年齡,單位)應(yīng)還日期)第11章 并發(fā)控制設(shè) Tl ,T2,T3是如下的 3 個(gè)事務(wù): Tl :A : = A + 2 ; T2:A : = A * 2 ; T3:A : = A *2 ; ( A <-A*A)設(shè) A 的初值為 0 。 ( l )若這 3 個(gè)事務(wù)允許并行執(zhí)行,則有多少可能的正確結(jié)果,請一一

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論