數(shù)據(jù)庫 考試大題_第1頁
數(shù)據(jù)庫 考試大題_第2頁
數(shù)據(jù)庫 考試大題_第3頁
數(shù)據(jù)庫 考試大題_第4頁
數(shù)據(jù)庫 考試大題_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫考試大題數(shù)據(jù)庫考試大題數(shù)據(jù)庫考試大題數(shù)據(jù)庫考試大題編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:假設(shè)教學(xué)管理規(guī)定:①一個學(xué)生可選修多門課,一門課有若干學(xué)生選修;②一個教師可講授多門課,一門課只有一個教師講授;③一個學(xué)生選修一門課,僅有一個成績。學(xué)生的屬性有學(xué)號、學(xué)生姓名;教師的屬性有教師編號,教師姓名;課程的屬性有課程號、課程名。要求:根據(jù)上述語義畫出ER圖,要求在圖中畫出實(shí)體的屬性并注明聯(lián)系的類型;解答:三、應(yīng)用題:設(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)檢索至少選修“程軍”老師所授全部課程的學(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)。解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下:(1).∏C#,CNAME(σTEACHER=‘程軍’(C))(2).∏S#,SNAME(σAGE>21∧SEX=”男”(C))(3).∏SNAME{s[∏S#,C#(sc)÷∏C#(σTEACHER=‘程軍’(C))]}(4).∏C#(C)-∏C#(σSNAME=‘李強(qiáng)’(S)SC)(5).∏S#(σ[1]=[4]∧[2]≠[5](SCSC))(6).∏C#,CNAME(C(∏S#,C#(sc)÷∏S#(S)))(7).∏S#(SC∏C#(σTEACHER=‘程軍’(C)))(8).∏S#,C#(sc)÷∏C#(σC#=’k1’∨C#=’k5’(C))(9).∏SNAME{s[∏S#,C#(sc)÷∏C#(C)]}(10).∏S#,C#(sc)÷∏C#(σS#=’2’(SC))(11).∏S#,SNAME{s[∏S#(SCσCNAME=‘C語言’(C))]}3、設(shè)有如下關(guān)系表R:R(No,NAME,SEX,AGE,CLASS)主關(guān)鍵字是NO其中NO為學(xué)號,NAME為姓名,SEX為性別,AGE為年齡,CLASS為班號。寫出實(shí)現(xiàn)下列功能的SQL語句。①插入一個記錄(25,“李明”,“男”,21,“95031”);。②插入“95031”班學(xué)號為30、姓名為“鄭和”的學(xué)生記錄;。③將學(xué)號為10的學(xué)生姓名改為“王華”;。④將所有“95101”班號改為“95091”;。⑤刪除學(xué)號為20的學(xué)生記錄;。⑥刪除姓“王”的學(xué)生記錄;。答案:①INSERTINTORVALUES(25,“李明”,“男”,21,“95031”)②INSERTINTOR(NO,NAME,CLASS)VALUES(30,“鄭和”,“95031”)③UPDATERSETNAME=“王華”WHERENO=10④UPDATERSETCLASS=“95091”WHERECLASS=“95101”⑤DELETEFROMRWHERENO=20⑥D(zhuǎn)ELETEFROMRWHERENAMELIKE“王%”1、設(shè)學(xué)生課程數(shù)據(jù)庫中有三個關(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)檢索平均成績超過80分的學(xué)生學(xué)號和平均成績(5)檢索選修了全部課程的學(xué)生姓名(6)檢索選修了三門課以上的學(xué)生的姓名答案:(1)SELECTSNAME,AGEFROMS,SC,CWHERES.S#=SC.S#ANDC.C#=SC.C#ANDCNAME=’MATHS’(2)SELECTS#FROMSCWHERECNO=’C1’ANDS#IN(SELECTS#FROMSCWHERECNO=’C2’)(3)SELECTS#,SNAME,AGEFROMSWHEREAGEBETWEEN18AND20(4)SELECTS#,AVG(GRADE)‘平均成績’FROMSCGROUPBYS#HAVINGAVG(GRADE)>80(5)SELECTSNAMEFROMSWHERENOTEXISTS(SELECT*FROMCWHERENOTEXISTS(SELECT*FROMSCWHERES#=S.S#ANDC#=C.C#))(6)SELECTSNAMEFROMS,SCWHERES.S#=SC.S#GROUPBYSNAMEHAVINGCOUNT(*)>32、設(shè)學(xué)生-課程數(shù)據(jù)庫中包括三個表:學(xué)生表:Student(Sno,Sname,Sex,Sage,Sdept)課程表: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)建一個計(jì)科系學(xué)生信息視圖S_CS_VIEW,包括Sno學(xué)號、Sname姓名、Sex性別;(3)通過上面第2題創(chuàng)建的視圖修改數(shù)據(jù),把王平的名字改為王慧平(4)創(chuàng)建一選修數(shù)據(jù)庫課程信息的視圖,視圖名稱為datascore_view,包含學(xué)號、姓名、成績。答案:(1)SELECTDISTINCTSNOFROMSCSCXWHERENOTEXISTS(SELECT*FROMSCSCYWHERESCY.SNO='1042'ANDNOTEXISTS(SELECT*FROMSCSCZWHERESCZ.SNO=SCX.SNOANDSCZ.CNO=SCY.CNO));(2)CREATEVIEWS_CS_VIEWASSELECTSNO,SNAME,SEXFROMSTUDENTWHERESdept=’CS’(3)UPDATES_CS_VIEWSETSNAME=’王慧平’WHERESNAME=’王平’(4)CREATEVIEWdatascore_viewASSELECTSNO學(xué)號、SNAME姓名、GRADE成績FROMSTUDENT,SC,COURSEWHERESTUDENT.SNO=SC.SNOANDCOURSE.CNO=SC.CNOANDCNAME=’數(shù)據(jù)庫’三、設(shè)計(jì)題在學(xué)生課程管理數(shù)據(jù)庫中創(chuàng)建一觸發(fā)器,當(dāng)向?qū)W生選課表插入記錄時,檢查該記錄的學(xué)號在學(xué)生表中是否存在,檢查該記錄的課程號在課程表中是否存在,及選課成績是否在0到100范圍,若有一項(xiàng)為否,則不允許插入。答案:createtriggerstu_ins_trionscforinsertasbegindeclare@s#char(6),@c#char(5),@gradeintselect@s#=sno,@c#=cno,@grade=scorefrominsertedif(@s#notin(selectsnofromstudent))or(@c#notin(selectcnofromcourse))or(@gradenotbetween0and100)rollbacktransactionelseprint'成功插入'end四、綜合練習(xí)1、已知學(xué)生關(guān)系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno學(xué)號、Sname姓名、SD系名、Sdname系主任名、Course課程、Grade成績。(1)寫出關(guān)系模式S的基本函數(shù)依賴和主碼。(2)原關(guān)系模式S為幾范式為什么分解成高一級范式,并說明為什么(3)將關(guān)系模式分解成3NF,并說明為什么

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

答:將上述關(guān)系模式分解成3NF如下:關(guān)系模式S1中存在Sno→SD,SD→Sdname,即非主屬性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(Sno,Sname,SD)S12(SD,Sdname)S2(Sno,Course,Grade)2、設(shè)有如下關(guān)系R(1)它為第幾范式為什么(2)是否存在刪除操作異常若存在,則說明是在什么情況下發(fā)生的(3)將它分解為高一級范式,分解后的關(guān)系是如何解決分解前可能存在的刪除操作異常問題

(1)解:它是2NF。因?yàn)镽的候選關(guān)鍵字為“課程名”。依賴關(guān)系:課程名→教師名,教師名→課程名,教師名→教師地址,所以課程名→教師地址。即存在非主屬性“教師地址”對候選關(guān)鍵字課程名的傳遞函數(shù),因此R不是3NF。但:因?yàn)椴淮嬖诜侵鲗傩詫蜻x關(guān)鍵字的部分函數(shù)依賴,所以R是2NF。(2)解:存在。當(dāng)刪除某門課程時會刪除不該刪除的教師的有關(guān)信息。(3)解:分解為高一級范式如圖所示。R1如下:R2如下:分解后,若刪除課程數(shù)據(jù)時,僅對關(guān)系R1操作,教師地址信息在關(guān)系R2中仍然保留,不會丟失教師方面的信息。3、設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有一關(guān)系模式R如下:R(商店編號,商品編號,數(shù)量,部門編號,負(fù)責(zé)人)如果規(guī)定:(1)每個商店的每種商品只在一個部門銷售;(2)每個商店的每個部門只有一個負(fù)責(zé)人;(3)每個商店的每種商品只有一個庫存數(shù)量。試回答下列問題:(1)根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴;答:關(guān)系模式S的基本函數(shù)依賴如下:(商店編號,商品編號)→部門編號,(商店編號,部門編號)→負(fù)責(zé)人,(商店編號,商品編號)→數(shù)量(2)找出關(guān)系模式R的候選碼;答:關(guān)系模式R的碼為:(商店編號,商品編號,部門編號)。(3)試問關(guān)系模式R最高已經(jīng)達(dá)到第幾范式為什么答:原關(guān)系模式R是屬于1NF的,碼為(商店編號,商品編號,部門編號),非主屬性對碼的函數(shù)依賴全為部分函數(shù)依賴,所以不屬于2NF。消除非主屬性對碼的函數(shù)依賴為部分函數(shù)依賴,將關(guān)系模式分解成2NF如下:R1(商店編號,商品編號,部門編號,數(shù)量)R2(商店編號,部門編號,負(fù)責(zé)人)(4)如果R不屬于3NF,請將R分解成3NF模式集。答:將R分解為R1(商店編號,商品編號,部門編號,數(shù)量)R2(商店編號,部門編號,負(fù)責(zé)人)分解后的R不存在傳遞的函數(shù)依賴,所以分解后的R已經(jīng)是第3NF三、應(yīng)用題設(shè)有如下實(shí)體:學(xué)生:學(xué)號、單位、姓名、性別、年齡、選修課程名課程:編號、課程名、開課單位、任課教師號教師:教師號、姓名、性別、職稱、講授課程編號單位:單位名稱、電話、教師號、教師名上述實(shí)體中存在如下聯(lián)系:(1).一個學(xué)生可選修多門課程,一門課程可為多個學(xué)生選修;(2).一個教師可講授多門課程,一門課程可為多個教師講授;(3).一個單位可有多個教師,一個教師只能屬于一個單位。試完成如下工作:(1).分別設(shè)計(jì)學(xué)生選課和教師任課兩個局部信息的結(jié)構(gòu)E-R圖。(2).將上述設(shè)計(jì)完成的E-R圖合并成一個全局E-R圖。(3).將該全局E-R圖轉(zhuǎn)換為等價的關(guān)系模型表示的數(shù)據(jù)庫邏輯結(jié)構(gòu)。解:(1).學(xué)生選課、教師任課局部E-R圖如下所示。學(xué)生選課局部學(xué)生選課局部E-R圖教師授課局部E-R圖(2).合并后的全局E-R圖如下所示。全局E-R全局E-R圖為避免圖形復(fù)雜,下面給出各實(shí)體屬性:單位:單位名、電話學(xué)生:學(xué)號、姓名、性別、年齡教師:教師號、姓名、性別、職稱課程:編號、課程號(3).該全局E-R圖轉(zhuǎn)換為等價的關(guān)系模型表示的數(shù)據(jù)庫邏輯結(jié)構(gòu)如下:單位(單位名,電話)教師(教師號,姓名,性別,職稱,單位名)課程(課程編號,課程名,單位名)學(xué)生(學(xué)號,姓名,性別,年齡,單位名)講授(教師號,課程編號)選修(學(xué)號,課程編號)四、簡答題數(shù)據(jù)庫設(shè)計(jì)一般分為哪幾個階段,每個階段的主要任務(wù)是什么?解答:(1)數(shù)據(jù)庫設(shè)計(jì)分為6個階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫運(yùn)行和維護(hù)。(2)各階段任務(wù)如下:①需求分析:準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。②概念結(jié)構(gòu)設(shè)計(jì):通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的概念模型。③邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。④數(shù)據(jù)庫物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。⑤數(shù)據(jù)庫實(shí)施:設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。⑥數(shù)據(jù)庫運(yùn)行和維護(hù):在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中對其進(jìn)行評價、調(diào)整與修改。設(shè)計(jì)題1、今有兩個關(guān)系模式:職工(職工號,姓名,年齡,職務(wù),工資,部門號)Person(pno,pname,page,ptitle,psal,dno)部門(部門號,名稱,經(jīng)理名,地址,電話號)Depart(dno,dname,dmanager,daddress,dtel)請用SQL的GRANT和REVOKE語句(加上視圖機(jī)制)完成以下授權(quán)定義或存取控制功能:(1)用戶yong對兩個表有INSERT和DELETE權(quán)力。GRANTINSERT,DELETEONPerson,DepartTOyong(2)用戶liu對職工表有SELECT權(quán)力,對工資字段具有更新權(quán)力。GRANTSELECT,UPDATE(psal)ONPersonTOliu(3)用戶zhang具有修改這兩個表的結(jié)構(gòu)的權(quán)力。GRANTALTERTABLEONPerson,DepartTOzhang;(4)用戶yang具有從每個部門職工中SELECT最高工資、最低工資、平均工資的權(quán)力,他不能查看每個人的工資,并具有給其他用戶授權(quán)的權(quán)力。CREATEVIEWpsalASSELECTDepart.dname,MAX(psal),MIN(psal),AVG(psal)FROMPerson,DepartWHEREPerson.dno=Depart.dnoGROUPBYPerson.dnoGRANTSELECTONpsalTOyangwithgrantoption;(5)撤銷各用戶yang所授予的權(quán)力REVOKEALLPRIVILIGESONPerson,DepartFROMYANG;?2、假設(shè)有下面兩個關(guān)系模式:職工(職工號,姓名,年齡,職務(wù),工資,部門號),其中職工號為主碼;部門(部門號,名稱,經(jīng)理名,電話),其中部門號為主碼。用SQL語言定義這兩個關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過60歲。答CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER(4),EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage<=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno));?3、設(shè)某商業(yè)集團(tuán)關(guān)于商店銷售商品的數(shù)據(jù)庫中有三個基本表:?商店SHOP(S#,SNAME,AREA,MGR_NAME)其屬性是商店編號,商店名稱,區(qū)域名,經(jīng)理姓名。銷售SALE(S#,G#,QUANTITY)其屬性是商店編號,商品編號,銷售數(shù)量。商品GOODS(G#,GNAME,PRICE)?其屬性是商品編號,商品名稱,單價。?(1)試寫出下列查詢的關(guān)系代數(shù)表達(dá)式、元組表達(dá)式和關(guān)系邏輯規(guī)則:檢索銷售“冰箱”的商店的編號和商店名稱。解:關(guān)系代數(shù)表達(dá)式:πS#,SNAME(σGNAME='冰箱'(SHOP?SALE?GOODS)) 元組表達(dá)式:{t|(u)(v)(w)(SHOP(u)∧SALE(v)∧GOODS(w)∧u[1]=v[1]∧v[2]=w[1]∧w[2]='冰箱'∧t[1]=u[1]∧t[2]=u[2])}關(guān)系邏輯規(guī)則:W(u1,u2)SHOP(u1,u2,u3,u4)∧SALE(u1,v2,v3)∧GOODS(v2,'冰箱',w3)?(2)試寫出上面第(1)問的SELECT語句表達(dá)形式。解:SELECT語句如下: SELECTA.S#,SNAME FROMSHOPA,

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論