數(shù)據(jù)庫期末考試復(fù)習(xí)題及答案 綜合題_第1頁
數(shù)據(jù)庫期末考試復(fù)習(xí)題及答案 綜合題_第2頁
數(shù)據(jù)庫期末考試復(fù)習(xí)題及答案 綜合題_第3頁
數(shù)據(jù)庫期末考試復(fù)習(xí)題及答案 綜合題_第4頁
數(shù)據(jù)庫期末考試復(fù)習(xí)題及答案 綜合題_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、試題一四、設(shè)計(jì)題( 第1題4分,第2題6分,第3題3分,第4題4分, 第5題8分,共25分)1 設(shè)教學(xué)數(shù)據(jù)庫中有三個(gè)基本表:學(xué)生表S(SNO,SNAME,AGE,SEX),其屬性分別表示學(xué)號、學(xué)生姓名、年齡、性別。課程表C(CNO,CNAME,TEACHER),其屬性分別表示課程號、課程名、上課教師名。選修表SC(SNO,CNO,GRADE),其屬性分別表示學(xué)號、課程號、成績。有如下SQL查詢語句:SELECT CNOFROM C WHERE CNO NOT IN(SELECT CNO FROM S,SCWHERE S.SNO=SC.SNO AND SNAME='張三');請完

2、成下列問題:(1)用漢語句子闡述上述SQL語句的含義;(2)用等價(jià)的關(guān)系代數(shù)表達(dá)式表示上述SQL查詢語句。解:(1)查詢張三同學(xué)沒有選修的課程的課程號。(2分)(2)CNO(C)- CNO (sSNAME='張三' (S)SC) 或CNO(C)- CNO (sSNAME='張三' (SSC) (2分)2. 設(shè)有如圖3所示的三個(gè)關(guān)系。其中各個(gè)屬性的含義如下:A(商店代號)、ANAME(商店名)、WQTY(店員人數(shù))、CITY(所在城市)、B(商品號)、BNAME(商品名稱)、PRICE(價(jià)格)、QTY(商品數(shù)量)。A BA#ANAMEWQTYCITY101韶山商店

3、15長沙204前門百貨商店89北京256東風(fēng)商場501北京345鐵道商店76長沙620第一百貨公司413上海BBNAMEPRICE1毛筆212羽毛球7843收音機(jī)13254書包242ABABQTY10111051012421013251014104204361256124125629134511413452183454746204125圖3試用SQL語言寫出下列查詢:(1)找出店員人數(shù)不超過100人或者在長沙市的所有商店的代號和商店名。(2)找出至少供應(yīng)了代號為256的商店所供應(yīng)的全部商品的其它商店的商店名和所在城市。解:(1)SELECT A#, ANAME FROM A WHERE WQT

4、Y<=100 OR CITY='長沙' (2分)(2)SELECT ANAME,CITY FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE EXISTS(SELECT * FROM AB AB1 WHERE A#='256' AND B#=B.B#)AND NOT EXISTS(SELECT * FROM AB AB2 WHERE A#!='256' AND A#=A.A# AND B#=B.B#); (4分)3. 設(shè)有職工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其屬性

5、分別表示職工號、姓名、年齡、性別、工資。為每個(gè)工資低于1000元的女職工加薪200元,試寫出這個(gè)操作的SQL語句。UPDATE EMP SET SALARY=SALARY+200 WHERE SALARY<1000 AND SEX='女'(3分)4. 設(shè)某工廠數(shù)據(jù)庫中有兩個(gè)基本表:車間基本表:DEPT(DNO,DNAME,MGR_ENO),其屬性分別表示車間編號、車間名和車間主任的職工號。職工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其屬性分別表示職工號、姓名、年齡、性別、工資和所在車間的編號。建立一個(gè)有關(guān)女車間主任的職工號和姓名的視圖,

6、其結(jié)構(gòu)如下:VIEW6(ENO,ENAME)。試寫出創(chuàng)建該視圖VIEW6的SQL語句。參考答案1:CREATE VIEW VIEW6ASSELECT ENO, ENAME FROM EMPWHERE SEX='女' AND ENO IN (SELECT MGR_ENO FROM DEPT) 參考答案2:CREATE VIEW VIEW6 AS SELECT ENO, ENAME FROM DEPT, EMP WHERE MGR_ENO=ENO AND SEX='女' (4分)5.設(shè)有關(guān)系R和函數(shù)依賴F: R(A,B,C,D,E),F(xiàn) = ABCDE,BCD,DE

7、 。試求下列問題:(1)關(guān)系R的侯選碼是什么?R屬于第幾范式?并說明理由。(3分)(2)如果關(guān)系R不屬于BCNF,請將關(guān)系R逐步分解為BCNF。(5分)要求:寫出達(dá)到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。(1)關(guān)系R的候選碼是(A,B,C),R1NF,因?yàn)镽中存在非主屬性D,E對候選碼(A,B,C)的部分函數(shù)依賴。(3分)(2)首先消除部分函數(shù)依賴將關(guān)系分解為:R1(A,B,C) (A,B,C)為候選碼,R1中不存在非平凡的函數(shù)依賴R2(B,C,D,E),(B,C)為候選碼,R2的函數(shù)依賴集為:F2=(B,C)D,DE在關(guān)系R2中存在非主屬性E對候選碼(B,C)的傳遞函數(shù)依賴,所

8、以將R2進(jìn)一步分解:R21(B,C,D) ,(B,C)為候選碼,R21的函數(shù)依賴集為:F21 = (B,C)D R22(D,E) ,D為候選碼,R22的函數(shù)依賴集為:F22 = DE 在R1中已不存在非平凡的函數(shù)依賴,在R21、R22關(guān)系模式中函數(shù)依賴的決定因素均為候選碼,所以上述三個(gè)關(guān)系模式均是BCNF。五、綜合題(15分)某企業(yè)集團(tuán)有若干工廠,每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每一種產(chǎn)品可以在多個(gè)工廠生產(chǎn),每個(gè)工廠按照固定的計(jì)劃數(shù)量生產(chǎn)產(chǎn)品;每個(gè)工廠聘用多名職工,且每名職工只能在一個(gè)工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址,產(chǎn)品的屬性有產(chǎn)品編號、產(chǎn)品名、規(guī)格,職工的屬性有

9、職工號、姓名。(1)根據(jù)上述語義畫出E-R圖;(5分)(2)將該E-R模型轉(zhuǎn)換為關(guān)系模型;(5分)(要求:1:1和1:n的聯(lián)系進(jìn)行合并)(3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的主碼和外碼。(5分)(1)本題的E-R圖如下圖所示。規(guī)格n1mn工廠生產(chǎn)產(chǎn)品聘用職工職工號姓名工資計(jì)劃數(shù)量產(chǎn)品編號產(chǎn)品名工產(chǎn)編號廠名聘期地址(2)轉(zhuǎn)化后的關(guān)系模式如下:工廠(工廠編號,廠名,地址) 產(chǎn)品(產(chǎn)品編號,產(chǎn)品名,規(guī)格) 職工(職工號,姓名,工廠編號,聘期,工資) 生產(chǎn)(工廠編號,產(chǎn)品編號,計(jì)劃數(shù)量) (3)每個(gè)關(guān)系模式的主碼、外碼如下: 工廠:主碼是工廠編號,無外碼; 產(chǎn)品:主碼是產(chǎn)品編號,無外碼; 職工:主碼職工號

10、,外碼是工廠編號; 生產(chǎn):主碼是(工廠編號,產(chǎn)品編號), 外碼是工廠編號、產(chǎn)品編號。試題二四、設(shè)計(jì)題(第1題15分,第2題10分,共25分)1. 設(shè)有一個(gè)工程供應(yīng)數(shù)據(jù)庫系統(tǒng),包括如下四個(gè)關(guān)系模式:l S(SNO,SNAME, STATUS,CITY);l P(PNO,PNAME,COLOR,WEIGHT);l J(JNO,JNAME,CITY);l SPJ(SNO,PNO,JNO,QTY);供應(yīng)商表S由供應(yīng)商號、供應(yīng)商名、狀態(tài)、城市組成;零件表P 由零件號、零件名、顏色、重量組成;工程項(xiàng)目表J由項(xiàng)目號、項(xiàng)目名、城市組成;供應(yīng)情況表SPJ由供應(yīng)商號、零件號、項(xiàng)目號、供應(yīng)數(shù)量組成;(1)用關(guān)系代數(shù)

11、查詢沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號;(3分)JNO(J)- JNO (CITY='天津' (S)SPJCOLOR='紅' (P)(2)用關(guān)系代數(shù)查詢至少使用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO;(3分)PNO,JNO(SPJ)÷PNO (SNO='S1' (SPJ)(3)用SQL查詢供應(yīng)工程J1零件為紅色的工程號JNO;(2分)SELECT DISTINCT JNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND COLOR='紅'AND JNO='J1'或 SELE

12、CT DISTINCT SNO FROM SPJ WHERE JNO='J1' AND PNO IN (SELECT PNO FROM P WHERE COLOR='紅');(4)用SQL查詢沒有使用天津供應(yīng)商生產(chǎn)的零件的工程號;(3分)SELECT JNO FROM J WHERE JNO NOT IN (SELECT JNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY='天津');或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM

13、SPJ,S WHERE SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND CITY='天津');或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND EXISTS (SELECT * FROM S WHERE S.SNO=SPJ.SNO AND CITY='天津');(5)用SQL語句將全部紅色零件改為藍(lán)色;(2分)UPDATE P SET COLOR='藍(lán)' WHERE COLOR='紅'(6)用SQL

14、語句將(S2,P4,J6,400)插入供應(yīng)情況關(guān)系。(2分)INSERT INTO SPJ VALUES('S2','P4','J6',400);2設(shè)有關(guān)系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)為候選碼,設(shè)關(guān)系中有如下函數(shù)依賴: (S#,CNAME)SNAME,SDEPT,MNAMES#SNAME,SDEPT,MNAME(S#,CNAME)GRADESDEPTMNAME試求下列問題:(1) 關(guān)系STUDENT屬于第幾范式?并說明理由。(3分) 關(guān)系STUDENT是1NF,因?yàn)镕中存

15、在非主屬性SNAME,SDEPT,MNAME對侯選碼(S#,CNAME)的部分函數(shù)依賴。(2)如果關(guān)系STUDENT不屬于BCNF,請將關(guān)系STUDENT逐步分解為巧 BCNF。(7分)要求:寫出達(dá)到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 首先消除部分函數(shù)依賴(S#,CNAME)SNAME,SDEPT,MNAME將關(guān)系分解為: R1(S#,SNAME,SDEPT,MNAME),S#為候選碼,R1的函數(shù)依賴集為:F1 = S#SNAME,SDEPT,MNAME,SDEPTMNAMER2(S#,CNAME,GRADE),S#為候選碼,R2的函數(shù)依賴集為:F2=(S#,CNAME)GR

16、ADE 在關(guān)系R1中存在非主屬性MNAME對候選碼S#的傳遞函數(shù)依賴S#MNAME,所以將R1進(jìn)一步分解:R11(S#,SNAME,SDEPT) ,S#為候選碼,R11的函數(shù)依賴集為:F11 = S#SNAME,SDEPTR12(SDEPT,MNAME) ,SDEPT為候選碼,R12的函數(shù)依賴集為:F12 = SDEPTMNAME在R2、R11、R12關(guān)系模式中函數(shù)依賴都是非平凡的,并且決定因素均是候選碼,所以上述三個(gè)關(guān)系模式均是BCNF。得 分五、綜合題(15分)某企業(yè)集團(tuán)有若干工廠,每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每一種產(chǎn)品可以在多個(gè)工廠生產(chǎn),每個(gè)工廠按照固定的計(jì)劃數(shù)量生產(chǎn)產(chǎn)品;每個(gè)工廠聘用多名職

17、工,且每名職工只能在一個(gè)工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址,產(chǎn)品的屬性有產(chǎn)品編號、產(chǎn)品名、規(guī)格,職工的屬性有職工號、姓名。(1)根據(jù)上述語義畫出E-R圖;(5分)規(guī)格n1mn工廠生產(chǎn)產(chǎn)品聘用職工職工號姓名工資計(jì)劃數(shù)量產(chǎn)品編號產(chǎn)品名工產(chǎn)編號廠名聘期地址2)將該E-R模型轉(zhuǎn)換為關(guān)系模型;(5分)(要求:1:1和1:n的聯(lián)系進(jìn)行合并) 轉(zhuǎn)化后的關(guān)系模式如下:工廠(工廠編號,廠名,地址) 產(chǎn)品(產(chǎn)品編號,產(chǎn)品名,規(guī)格) 職工(職工號,姓名,工產(chǎn)編號,聘期,工資) 生產(chǎn)(工產(chǎn)編號,產(chǎn)品編號,計(jì)劃數(shù)量)(3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的主碼和外碼。(5分) 每個(gè)關(guān)系模式的

18、主碼、外碼如下: 工廠:主碼是工產(chǎn)編號; 產(chǎn)品:主碼是產(chǎn)品編號; 職工:職工號,外碼是工廠編號; 生產(chǎn):主碼是(工產(chǎn)編號,產(chǎn)品編號), 外碼是工產(chǎn)編號、產(chǎn)品編號。 試題三四、設(shè)計(jì)題(第1題4分,第2、3、4題各8分,共28分)1. 設(shè)有學(xué)生選課關(guān)系SC(學(xué)號,課程號,成績),試用SQL語句檢索每門課程的最高分。 SELECT 課程號,MAX(成績) FROM SC GROUP BY 課程號2.關(guān)系模式如下:商品P(PNO,PN,COLOR,PRICE)商店S(SNO;SN,CITY)銷售SP(PNO,SNO,QTY)分別用關(guān)系代數(shù)和SQL寫出查詢語句:查詢銷售商品"TV”的商店名SN

19、。 關(guān)系代數(shù):SN(PN='P1' (SSPP) SQL: SELECT SN FROM S, SP, P WHERE S.SNO=SP.SNO AND P.PNO=SP. PNO AND PN='TV'3設(shè)有關(guān)系R和S如圖2所示。R SABa1b1a2b2a3b3ACa140a250a355試用SQL語句實(shí)現(xiàn):(1)查詢屬性C>50時(shí),R中與相關(guān)聯(lián)的屬性B之值。(3分) SELECT B FROM R, S WHERE R.A=S.A AND C>50(2)當(dāng)屬性C=40時(shí),將R中與之相關(guān)聯(lián)的屬性B值修改為b4。(5分) UPDATE R SET

20、B=b4 WHERE A IN (SELECT A FROM S WHERE C=40)4.設(shè)有關(guān)系R和函數(shù)依賴F: R(W,X,Y,Z),F(xiàn) = XZ,WXY 。試求下列問題:(1)關(guān)系R屬于第幾范式?(3分) R是1NF。侯選碼為WX,則Y,Z為非主屬性,又由于XZ,因此F 中存在非主屬性對侯選碼的部分函數(shù)依賴。(2)如果關(guān)系R不屬于BCNF,請將關(guān)系R逐步分解為BCNF。(5分)要求:寫出達(dá)到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 將關(guān)系分解為:R1(W,X,Y),F(xiàn)1 = WXY R2(X,Z),F(xiàn)2 = XZ 消除了非主屬性對碼的部分函數(shù)依賴。F1和F2中的函數(shù)依賴都是

21、非平凡的,并且決定因素是候選碼,所以上述關(guān)系模式是BCNF。得 分閱卷人復(fù)查人五、綜合題(15分)某醫(yī)院病房管理系統(tǒng)中,包括四個(gè)實(shí)體型,分別為:科室:科名,科地址,科電話病房:病房號,病房地址醫(yī)生:工作證號,姓名,職稱,年齡病人:病歷號,姓名,性別 且存在如下語義約束: 一個(gè)科室有多個(gè)病房、多個(gè)醫(yī)生,一個(gè)病房只能屬于一個(gè)科室,一個(gè)醫(yī)生只屬于一個(gè)科室;一個(gè)醫(yī)生可負(fù)責(zé)多個(gè)病人的診治,一個(gè)病人的主管醫(yī)生只有一個(gè);一個(gè)病房可入住多個(gè)病人,一個(gè)病人只能入住在一個(gè)病房。注意:不同科室可能有相同的病房號。 完成如下設(shè)計(jì):(1)畫出該醫(yī)院病房管理系統(tǒng)的ER圖;(5nn11nn11病房組成科室入住病人擁有診治醫(yī)

22、生病歷號姓名性別工作證號姓名科名科地址科電話病房號病房地址職稱年齡 某醫(yī)院病房管理系統(tǒng)的基本E-R圖(2)將該E-R圖轉(zhuǎn)換為關(guān)系模型;(5分)(要求:1:1和1:n的聯(lián)系進(jìn)行合并)轉(zhuǎn)化后的關(guān)系模式如下:科室(科名,科地址,科電話) 病房(病房號,病房地址,科名) 醫(yī)生(工作證號,姓名,職稱,年齡,科名) 病人(病歷號,姓名,性別,主管醫(yī)生,病房號,科名)(3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的主碼和外碼。(5分 每個(gè)關(guān)系模式的主碼、外碼如下: 科室:主碼是科名; 病房:主碼是科名十病房號,外碼是科名; 醫(yī)生:主碼是工作證號,外碼是科名; 病人:主碼是病歷號,外碼是科名十病房號。得 分四、設(shè)計(jì)題(第1

23、題20分,第2題10分,共30分)1. 設(shè)有一個(gè)工程供應(yīng)數(shù)據(jù)庫系統(tǒng),包括如下四個(gè)關(guān)系模式:l S(Sno,Sname, Status,City);l P(Pno,Pname,Color,Weight);l J(Jno,Jname,City);l SPJ(Sno,Pno,Jno,Qty);供應(yīng)商表S由供應(yīng)商號、供應(yīng)商名、狀態(tài)、城市組成;零件表P 由零件號、零件名、顏色、重量組成;工程項(xiàng)目表J由項(xiàng)目號、項(xiàng)目名、城市組成;供應(yīng)情況表SPJ由供應(yīng)商號、零件號、項(xiàng)目號、供應(yīng)數(shù)量組成;(1)用關(guān)系代數(shù)查詢沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號;(3分) Jno(J)- Jno (City='天津

24、' (S)SPJColor='紅' (P)(2)用關(guān)系代數(shù)查詢至少使用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO;(3分) Pno,Jno(SPJ)÷Pno (Sno='S1' (SPJ)(3)用ALPHA語言查詢供應(yīng)工程J1零件為紅色的供應(yīng)商號SNO;(2分)RANGE P PXGET W (SPJ.Sno): SPJ.Jno='J1'PX(SPJ.Pno=PX.PnoPX.Color='紅')(4)用T-SQL語句建立“供應(yīng)商”S表(主碼必須定義);(2分) CREATE TABLE S(Sno CHAR(6

25、) PRIMARY KEY, Sname CHAR(10), Status INT, City CHAR(20);(5)用SQL查詢工程J1使用的各種零件的名稱和使用數(shù)量;(3分)SELECT Pname,TotalQty FROM (SELECT Pno,SUM(Qty) TotalQty FROM SPJ WHERE Jno='J1' GROUP BY Pno) X,P WHERE P.Pno=X.Pno;(6)用SQL查詢沒有使用天津供應(yīng)商生產(chǎn)的零件的工程號;(3分)SELECT Jno 或:SELECT Jno FROM J FROM J WHERE Jno NOT I

26、N WHERE NOT EXISTS (SELECT Jno (SELECT * FROM SPJ FROM SPJ,S WHERE Sno IN WHERE SPJ.Sno=S.Sno (SELECT Sno AND SPJ.Jno=J.Jno FROM S AND City='天津');WHERE City='天津');或:SELECT Jno FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.Jno=J.Jno AND EXISTS (SELECT * FROM S WHERE S.Sno=SPJ.S

27、no AND City='天津');(7)用SQL語句將全部紅色零件改為藍(lán)色;(2分)UPDATE P SET Color='藍(lán)' WHERE Color='紅'(8)用SQL語句將(S2,P4,J6,400)插入供應(yīng)情況關(guān)系。(2分)INSERT INTO SPJ VALUES('S2','P4','J6',400);2設(shè)有關(guān)系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)為候選碼,設(shè)關(guān)系中有如下函數(shù)依賴: (S#,CNAME)SNAME,

28、SDEPT,MNAMES#SNAME,SDEPT,MNAME(S#,CNAME)GRADESDEPTMNAME試求下列問題:(1)關(guān)系STUDENT屬于第幾范式?(3分) 關(guān)系STUDENT是1NF,因?yàn)镕中存在非主屬性SNAME,SDEPT,MNAME對侯選碼(S#,CNAME)的部分函數(shù)依賴。 (2)如果關(guān)系STUDENT不屬于BCNF,請將關(guān)系STUDENT逐步分解為巧 BCNF。(7分)要求:寫出達(dá)到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。首先消除部分函數(shù)依賴(S#,CNAME)SNAME,SDEPT,MNAME將關(guān)系分解為:R1(S#,SNAME,SDEPT,MNAME)

29、,F(xiàn)1 = S#SNAME,SDEPT,MNAMER2(S#,CNAME,GRADE),F(xiàn)2=(S#,CNAME)GRADE在關(guān)系R1中存在非主屬性對候選碼的傳遞函數(shù)依賴S#SDEPT,所以將R1進(jìn)一步分解:R11(S#,SNAME,SDEPT) ,F(xiàn)11 = S#SNAME,SDEPTR12(SDEPT,MNAME) ,F(xiàn)12 = SDEPTMNAME在R2,R11,R12關(guān)系模式中函數(shù)依賴都是非平凡的,并且決定因素均是候選碼,所以上述三個(gè)關(guān)系模式均是BCNF。得 分五、綜合題(15分)某醫(yī)院病房管理系統(tǒng)中,包括四個(gè)實(shí)體型,分別為:科室:科名,科地址,科電話病房:病房號,病房地址醫(yī)生:工作證

30、號,姓名,職稱,年齡病人:病歷號,姓名,性別 且存在如下語義約束: 一個(gè)科室有多個(gè)病房、多個(gè)醫(yī)生,一個(gè)病房只能屬于一個(gè)科室,一個(gè)醫(yī)生只屬于一個(gè)科室;一個(gè)醫(yī)生可負(fù)責(zé)多個(gè)病人的診治,一個(gè)病人的主管醫(yī)生只有一個(gè);一個(gè)病房可入住多個(gè)病人,一個(gè)病人只能入住在一個(gè)病房。 注意:不同科室可能有相同的病房號。 完成如下設(shè)計(jì):(1)畫出該醫(yī)院病房管理系統(tǒng)的ER圖;(5分)(2)將該E-R圖轉(zhuǎn)換為關(guān)系模型;(5分)(要求:1:1和1:n的聯(lián)系進(jìn)行合并)(3) 指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的主碼和外碼。(5分)(1)本題的E-R圖如下圖所示。nn11nn11病房組成科室入住病人擁有診治醫(yī)生病歷號姓名性別工作證號姓名科

31、名科地址科電話病房號病房地址職稱年齡某醫(yī)院病房管理系統(tǒng)的基本E-R圖(2)轉(zhuǎn)化后的關(guān)系模式如下:科室(科名,科地址,科電話) 病房(病房號,病房地址,科名) 醫(yī)生(工作證號,姓名,職稱,年齡,科名) 病人(病歷號,姓名,性別,主管醫(yī)生,病房號,科名) (3)每個(gè)關(guān)系模式的主碼、外碼如下: 科室:主碼是科名; 病房:主碼是科名十病房號,外碼是科名; 醫(yī)生:主碼是工作證號,外碼是科名; 病人:主碼是病歷號,外碼是科名十病房號。試題五四、設(shè)計(jì)題(本大題共4小題,每小題5分,共20分)設(shè)有關(guān)系EMP(ENO,ENAME,SALARY,DNO),其中各屬性的含義依次為職工號、姓名、工資和所在部門號,以及

32、關(guān)系DEPT(DNO,DNAME,MANAGER),其中各屬性含義依次為部門號、部門名稱、部門經(jīng)理的職工號。1試用SQL語句完成以下查詢:列出各部門中工資不低于600元的職工的平均工資。 SELECT DNO, AVG (SALARY) FROM EMP(1分)WHERE SALARY=600GROUP BY DNO2 寫出“查詢001號職工所在部門名稱”的關(guān)系代數(shù)表達(dá)式。 DNAME( ENO=001(EMP)DEPT)(DNAME1分,ENO=001 1分, (EMP)DEPT3分)或DNAME( ENO=001(EMPDEPT) (DNAME1分,ENO=001 1分,(EMPDEPT)

33、3分)3 請用SQL語句將“銷售部”的那些工資數(shù)額低于600的職工的工資上調(diào)10%。 UPDATE EMP SET SALARY=SALARY*1.1 WHERE ENO IN ( SELECT ENO FROM EMP, DEPT WHERE EMP.DNO=DEPT.DNO AND DNAME=銷售部 AND SALARY600)4有如下關(guān)系代數(shù)表達(dá)式ENO(EMP(sMANAGER=001(DEPT)請將其轉(zhuǎn)化成相應(yīng)的SQL語句。 SELECT EMP.ENOFROM EMP, DEPT(2分) WHERE EMP.DNO=DEPT.DNO AND DEPT.MANAGER=001(3分

34、)得 分五、綜合題(本大題共2小題,每小題10分,共20分)1設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有一關(guān)系模式R如下:R (商店編號,商品編號,數(shù)量,部門編號,負(fù)責(zé)人)如果規(guī)定:(1)每個(gè)商店的每種商品只在一個(gè)部門銷售;(2)每個(gè)商店的每個(gè)部門只有一個(gè)負(fù)責(zé)人;(3)每個(gè)商店的每種商品只有一個(gè)庫存數(shù)量。試回答下列問題:(1) 根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴;(2分) 有三個(gè)函數(shù)依賴: (商店編號,商品編號) 部門編號 (商店編號,部門編號) 負(fù)責(zé)人 (商店編號,商品編號) 數(shù)量。(2) 找出關(guān)系模式R的候選碼;(2分) R的候選碼是 (商店編號,商品編號)(3) 試問關(guān)系模式R最高已經(jīng)達(dá)到第幾范式?

35、為什么?(2分) R最高達(dá)到2NF(1分),因?yàn)镽中存在著非主屬性“負(fù)責(zé)人”對候選碼 (商店編號、商品編號)的傳遞函數(shù)依賴,所以R屬于2NF,但R不屬于3NF。(4)如果R不屬于3NF,請將R分解成3NF模式集。(4分) 將R分解成:R1 (商店編號,商品編號,數(shù)量,部門編號) (2分) R2 (商店編號,部門編號,負(fù)責(zé)人) (2分)2. 設(shè)有商店和顧客兩個(gè)實(shí)體,“商店”有屬性商店編號、商店名、地址、電話,“顧客”有屬性顧客編號、姓名、地址、年齡、性別。假設(shè)一個(gè)商店有多個(gè)顧客購物,一個(gè)顧客可以到多個(gè)商店購物,顧客每次去商店購物有一個(gè)消費(fèi)金額和日期,而且規(guī)定每個(gè)顧客在每個(gè)商店里每天最多消費(fèi)一次。

36、試畫出E-R圖,注明屬性和聯(lián)系類型,并將E-R模型轉(zhuǎn)換成關(guān)系模式,要求關(guān)系模式主碼加下劃線表示。(E-R模型4分,關(guān)系模型6分)2. nm顧客購物商店商店編號商店名日期年齡性別顧客編號姓名消費(fèi)金額地址地址電話(E-R模型4分,兩個(gè)實(shí)體型的屬性漏寫一個(gè)扣0.5分,購物聯(lián)系的兩個(gè)屬性漏寫一個(gè)扣1分,聯(lián)系類型錯(cuò)扣1分)顧客(顧客編號,姓名,地址,年齡,性別)商店(商店編號,商店名,地址,電話)購物(顧客編號,商店名稱,日期,消費(fèi)金額)(關(guān)系模型6分,3個(gè)關(guān)系模式各2分,主碼錯(cuò)一個(gè)扣1分)試題六四、設(shè)計(jì)題(本大題共5小題,每小題4分,共20分)現(xiàn)有關(guān)系數(shù)據(jù)庫如下: 學(xué)生(學(xué)號,姓名,性別,專業(yè)) 課程

37、(課程號,課程名,學(xué)分) 學(xué)習(xí)(學(xué)號,課程號,分?jǐn)?shù))分別用關(guān)系代數(shù)表達(dá)式和SQL語句實(shí)現(xiàn)下列15小題(注意:每小題都要分別寫出關(guān)系代數(shù)表達(dá)式和SQL語句!每小題關(guān)系代數(shù)表達(dá)式2分,SQL語句2分):1檢索所有選修了課程號為“C112”的課程的學(xué)生的學(xué)號和分?jǐn)?shù); 2檢索“英語”專業(yè)學(xué)生所學(xué)課程的信息,包括學(xué)號、姓名、課程名和分?jǐn)?shù);3檢索“數(shù)據(jù)庫原理”課程成績高于90分的所有學(xué)生的學(xué)號、姓名、專業(yè)和分?jǐn)?shù);4檢索沒學(xué)課程號為“C135”課程的學(xué)生信息,包括學(xué)號,姓名和專業(yè);5檢索至少學(xué)過課程號為“C135”和“C219”的課程的學(xué)生的信息,包括學(xué)號、姓名和專業(yè)。得 分五、綜合題(本大題共2小題,每小

38、題10分,共20分)1現(xiàn)有如下關(guān)系模式:借閱(圖書編號,書名,作者名,出版社,讀者編號,讀者姓名,借閱日期,歸還日期),基本函數(shù)依賴集F=圖書編號(書名,作者名,出版社),讀者編號讀者姓名,(圖書編號,讀者編號,借閱日期)歸還日期(1)讀者編號是候選碼嗎?(2分)(2)寫出該關(guān)系模式的主碼。(2分)(3)該關(guān)系模式中是否存在非主屬性對碼的部分函數(shù)依賴?如果存在,請寫出一個(gè)。(2分)(4)該關(guān)系模式滿足第幾范式?并說明理由。(4分)3. 某工廠生產(chǎn)多種產(chǎn)品,每種產(chǎn)品由不同的零件組裝而成,有的零件可用在不同的產(chǎn)品上。產(chǎn)品有產(chǎn)品號和產(chǎn)品名兩個(gè)屬性,零件有零件號和零件名兩個(gè)屬性。根據(jù)語義設(shè)計(jì)E-R模型

39、,并將E-R模型轉(zhuǎn)換成關(guān)系模式,要求關(guān)系模式主碼加下劃線表示。(E-R模型4分,關(guān)系模型6分)四、設(shè)計(jì)題(共5小題,每小題關(guān)系代數(shù)式2分,SQL語句2分,共20分)。1SQL語句:SELECT 學(xué)號,分?jǐn)?shù) FROM 學(xué)習(xí) WHERE 課程號=C112(SELECT 學(xué)號,分?jǐn)?shù) FROM 學(xué)習(xí)1分,WHERE 課程號=C1121分)關(guān)系代數(shù):學(xué)號,分?jǐn)?shù)(課程號=C112(學(xué)習(xí)) (學(xué)號,分?jǐn)?shù)1分,課程號=C112(學(xué)習(xí))1分。2. SQL語句:SELECT 學(xué)生.學(xué)號,姓名,課程名,分?jǐn)?shù)FROM 學(xué)生,學(xué)習(xí),課程 (1分)WHERE 學(xué)習(xí).學(xué)號=學(xué)生.學(xué)號 AND 學(xué)習(xí).課程號=課程.課程號 A

40、ND 專業(yè)=英語 (1分) 關(guān)系代數(shù):學(xué)號,姓名,課程名,分?jǐn)?shù)(學(xué)號,姓名(專業(yè)=英語(學(xué)生)學(xué)習(xí)課程號,課程名(課程) (學(xué)號,姓名,課程名,分?jǐn)?shù)1分,學(xué)號,姓名(專業(yè)=英語(學(xué)生)學(xué)習(xí)課程號,課程名(課程)1分)3. SQL語句:SELECT 學(xué)生.學(xué)號,姓名,專業(yè),分?jǐn)?shù) FROM 學(xué)生,學(xué)習(xí),課程 (1分)WHERE 學(xué)生.學(xué)號=學(xué)習(xí).學(xué)號 AND 學(xué)習(xí).課程號=課程.課程號 AND分?jǐn)?shù)>90 AND 課程名=數(shù)據(jù)庫原理 (1分)關(guān)系代數(shù):學(xué)號,姓名,專業(yè),分?jǐn)?shù)(學(xué)號,姓名,專業(yè)(學(xué)生)(分?jǐn)?shù)>90(學(xué)習(xí))課程號,課程名( 課程名=數(shù)據(jù)庫原理(課程) (學(xué)號,姓名,專業(yè),分?jǐn)?shù)

41、1分,學(xué)號,姓名,專業(yè)(學(xué)生)(分?jǐn)?shù)>90(學(xué)習(xí))課程號,課程名(課程名=數(shù)據(jù)庫原理(課程) 1分)4SQL語句:SELECT 學(xué)號,姓名,專業(yè) FROM 學(xué)生 WHERE 學(xué)號 NOT IN (1分)(SELECT 學(xué)號 FROM 學(xué)習(xí) WHERE 課程號=C135) (1分)關(guān)系代數(shù):(學(xué)號(學(xué)生)-學(xué)號(課程號=C135 (學(xué)習(xí))(學(xué)號,姓名,專業(yè)(學(xué)生)(學(xué)號(學(xué)生)-1分,學(xué)號(課程號=C135 (學(xué)習(xí))(學(xué)號,姓名,專業(yè)(學(xué)生)1分)5SQL語句:SELECT 學(xué)號,姓名,專業(yè) FROM 學(xué)生 WHERE 學(xué)號 IN (1分)(SELECT X1.學(xué)號 FROM 學(xué)習(xí) X1,

42、學(xué)習(xí) X2 WHERE X1.學(xué)號=X2.學(xué)號 AND X1.課程號=C135AND X2.課程號=C219)(1分)關(guān)系代數(shù):(學(xué)號,課程號(學(xué)習(xí))÷課程號(課程號=C135課程號=C219 (課程)學(xué)號,姓名,專業(yè)(學(xué)生)(學(xué)號,課程號(學(xué)習(xí))÷課程號(課程號=C135課程號=C219 (課程)1分,學(xué)號,姓名,專業(yè)(學(xué)生)1分)五、綜合題(共2小題,每小題10分,共20分)。1 答:(1)不是(2分)。(2)(圖書編號,讀者編號,借閱日期)(2分)(3)存在(1分)。(圖書編號,讀者編號,借閱日期)書名、(圖書編號,讀者編號,借閱日期)作者名、(圖書編號,讀者編號,借

43、閱日期)出版社、(圖書編號,讀者編號,借閱日期)讀者姓名(1分,四個(gè)函數(shù)依賴任選一個(gè)即可)(4)1NF。因?yàn)榇嬖诜侵鲗傩詫Υa的部分函數(shù)依賴。產(chǎn)品零件組裝mn產(chǎn)品號產(chǎn)品名零件號零件名2. (E-R模型4分,兩個(gè)實(shí)體型屬性少1個(gè)扣0.5分,聯(lián)系類型錯(cuò)扣1分)產(chǎn)品(產(chǎn)品號,產(chǎn)品名)零件(零件號,零件名)組裝(產(chǎn)品號,零件號)(關(guān)系模型6分,3個(gè)關(guān)系模式各2分,主鍵錯(cuò)試題七三、計(jì)算題(本大題共2小題,每小題5分, 共 10分)1 已知關(guān)系R、S、T、U如下所述,求關(guān)系代數(shù)表達(dá)式R×S ÷T-U的運(yùn)算結(jié)果。R S T U AB1a2b3a3b4aCxyCxyBCaxcz2 已知關(guān)系模

44、式R<U,F(xiàn)>,其中U=A,B,C,D,E;F=ABC,BD,CE,ECB,ACB。求(AB)F+ 。得 分四、實(shí)際應(yīng)用題(20分) 某企業(yè)集團(tuán)有若干工廠,每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每一種產(chǎn)品可以在多個(gè)工廠生產(chǎn),每個(gè)工廠按照固定的計(jì)劃數(shù)量生產(chǎn)產(chǎn)品;每個(gè)工廠聘用多名職工,且每名職工只能在一個(gè)工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址,產(chǎn)品的屬性有產(chǎn)品編號、產(chǎn)品名、規(guī)格,職工的屬性有職工號、姓名。(1)根據(jù)上述語義畫出E-R圖(集團(tuán)實(shí)體不用畫出);(8分)(2)將該E-R模型轉(zhuǎn)換為關(guān)系模型;(5分)(要求:1:1和1:n的聯(lián)系進(jìn)行合并)(3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)

45、系模式的主碼和外碼。(7分)得 分五、編程題(10分)假設(shè)存在名為AAA的數(shù)據(jù)庫,包括S(S# char(8),SN varchar(8),AGE int,DEPT varchar(20),DateT DateTime)和SC(S# char(8),CN varchar(10),GRADE numeric(5,2))兩張表。請按下列要求寫一存儲過程PROC3。要求為:修改SC表中學(xué)號為s1的值、課程名為c1的值的學(xué)生成績?yōu)間1的值。試題七參考答案與評分細(xì)則三、計(jì)算題(共2小題,每小題5分,共10分)1參考答案:R ×S R ×S ÷ T R ×S 

46、47; T-UABC1ax1ay2bx2by3ax3ay3bx3by4axBCaxayBCay評分標(biāo)準(zhǔn):正確算出R ×S 2分;正確算出R ×S ÷ T 2分;正確算出R ×S ÷ T-U 1分。2參考答案:解 設(shè)X(0)=AB; 計(jì)算X(1):逐一的掃描F集合中各個(gè)函數(shù)依賴,找左部為A,B或AB的函數(shù)依賴。得到兩個(gè):ABC,BD。 于是X(1)=ABCD=ABCD。 因?yàn)閄(0) X(1),所以再找出左部為ABCD子集的那些函數(shù)依賴,又得到ABC,BD,CE,ACB, 于是X(2)=X(1)BCDE=ABCDE。 因?yàn)閄(2)=U,算法終止所

47、以(AB)F+ =ABCDE。評分標(biāo)準(zhǔn):正確算出X(1)=ABCD=ABCD2分;正確算出X(2)=X(1)BCDE=ABCDE 2分;說明(AB)F+ =ABCDE 1分。四、實(shí)際應(yīng)用題(20分)參考答案:(1)本題的E-R圖如下圖所示。規(guī)格n1mn工廠生產(chǎn)產(chǎn)品聘用職工職工號姓名工資計(jì)劃數(shù)量產(chǎn)品編號產(chǎn)品名工產(chǎn)編號廠名聘期地址(2)轉(zhuǎn)化后的關(guān)系模式如下:工廠(工廠編號,廠名,地址) 產(chǎn)品(產(chǎn)品編號,產(chǎn)品名,規(guī)格) 職工(職工號,姓名,工產(chǎn)編號,聘期,工資) 生產(chǎn)(工產(chǎn)編號,產(chǎn)品編號,計(jì)劃數(shù)量) (3)每個(gè)關(guān)系模式的主碼、外碼如下: 工廠:主碼是工產(chǎn)編號,無外碼; 產(chǎn)品:主碼是產(chǎn)品編號,無外碼; 職工:主碼職工號,外碼是工廠編號; 生產(chǎn):主碼是(工產(chǎn)編號,產(chǎn)品編號), 外碼是工產(chǎn)編號、產(chǎn)品編號。評分標(biāo)準(zhǔn):(1)三個(gè)實(shí)體型工廠、產(chǎn)品、職工各1分,屬性漏寫、錯(cuò)寫不給分;兩個(gè)聯(lián)系各1分,名稱一定要表達(dá)聯(lián)系含義,聯(lián)系類型錯(cuò)誤不給分,三個(gè)聯(lián)系類型各1分。(2)轉(zhuǎn)化后的工廠關(guān)系模式、產(chǎn)品關(guān)系模式、生產(chǎn)關(guān)系模式各分,有一個(gè)屬性不正確均不給分,職工關(guān)系模式2分。(3)工廠:主碼是工

溫馨提示

  • 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

提交評論