版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
習題一、選擇題1數(shù)據(jù)庫系統(tǒng)是采用了數(shù)據(jù)庫技術的計算機系統(tǒng),數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用系統(tǒng)和()組成。A、系統(tǒng)分析員B、程序員C、數(shù)據(jù)庫管理員D、操作員2.數(shù)據(jù)庫(DB)、數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)之間的關系是:()A、DBS涉及DB和DBMSB、DBMS涉及DB和DBSC、DB涉及和DBMS、DBSD、DBS就是DB,就是DBMS3.下面列出的數(shù)據(jù)庫管理技術發(fā)展的3個階段中,沒有專門的軟件對數(shù)據(jù)進行管理的是()oI.人工管理階段II文獻系統(tǒng)階段III數(shù)據(jù)為階段A、I和IIB、只有IIC、II和IIID只有I4.下列4項中,不屬于數(shù)據(jù)庫系統(tǒng)特點的是()A、數(shù)據(jù)共享B、數(shù)據(jù)完整性C、數(shù)據(jù)冗余度高D、數(shù)據(jù)獨立性高5.數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨立性體現(xiàn)在()A、不會由于數(shù)據(jù)的變化而影響到應用程序B、不會由于數(shù)據(jù)存儲結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)的變化而影響應用程序C、不會由于存儲策略的變化而影響存儲結(jié)構(gòu)D、不會由于某些存儲結(jié)構(gòu)的變化而影響其他的存儲結(jié)構(gòu)6.描述數(shù)據(jù)庫全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是()A、模式B、內(nèi)模式C、外模式7.要保證數(shù)據(jù)庫的數(shù)據(jù)獨立性,需要修改的是()A、模式與外模式B、模式與內(nèi)模式C、三級模式之間的兩層映像D、三級模式8.要保證數(shù)據(jù)庫的邏輯數(shù)據(jù)獨立性,需要修改的是()A、模式與外模式之間的映像B、模式與內(nèi)模式之間的映像C、模式D、三級模式9.用戶和應用程序看到的那部分局部邏輯結(jié)構(gòu)和特性的描述是()A、模式B、物理模式C、子模式10.下述()不是DBA的數(shù)據(jù)庫管理員的職責。A、完整性約束說明B、定義數(shù)據(jù)庫模式C、數(shù)據(jù)庫安全D、數(shù)據(jù)為管理系統(tǒng)設計二、填空題1、數(shù)據(jù)庫系統(tǒng)具有(永久存貯)、(有組織)和(可共享)3個基本特點。2、數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的一個重要組成部分,它的功能涉及(數(shù)據(jù)定義)、(數(shù)據(jù)操縱)、(數(shù)據(jù)庫運營和管理)、(數(shù)據(jù)庫的建立和維護)。3、數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由(數(shù)據(jù)庫)、(數(shù)據(jù)庫管理系統(tǒng)開發(fā)工具)、的供應商號碼SNO:nSno((jPno=*P1*((jCOLOR=,紅'(P)ooSPJ))4)求沒有使用天津供應商生產(chǎn)的紅色零件的工程號JNO:irJno(SPJ)-nJNO(ocity='天津‘AColor=‘紅‘(S8SPJ8P)5)求至少用了供應商S1所供應的所有零件的工程號JNO:nJno,Pno(SPJ)-nPno(cjSno=SI,(SPJ))第四章習題一、選擇題KSQL語言是()的語言,容易學習。A、過程化B、非過程化C、格式化D、導航式2、在視圖上不能完畢的操作是()。A、更新視圖B、查詢C、在視圖上定義新的表D、在視上定義新的視圖3、SQL語言數(shù)據(jù)查詢,數(shù)據(jù)操縱,數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,其中CREATE.DROP、ALTER語句是實現(xiàn)哪種功能()。A、數(shù)據(jù)查義B、數(shù)據(jù)操縱C、數(shù)據(jù)定義D、數(shù)據(jù)控制4、SQL語言中,刪除一個視圖的命令是()。A、DELETEB、DROPC、CLEARD、REMOVE5、在SQL語言中的視圖VIEW是數(shù)據(jù)庫的()A、外模式B、模式C、內(nèi)模式D、存儲模式6、下列的SQL語句中,()不是數(shù)據(jù)定義語句。AsCREATETABLEB.DROPVIEWCsCREATEVIEWD、GRANT7、若要撤消數(shù)據(jù)庫中已經(jīng)存在的表S,可用()A、DELETETABLESSB、DELETESCsDROPTABLESD、DROPS8、若要在基本表s中增長一列CN(課程名),可用()A、ADDTABLES(CNCHAR(8))B、ADDTABLESALTER(CNCHAR(8));CsALTERTABLESADD(CNCHAR(8))D、ALTERTABLES(ADDCNCHAR(8))9、學生關系模式S(S#,SNAME,SEX,AGE),S的屬性分別表達學生的學號,姓名,性別,年齡。要在表S中刪除一個屬性“年齡”,可選用的SQL語句是()A、DELETEAGEFROMSB、ALTERTABLESDROPAGEC、UPDATESAGED、ALTERTABLES,AGE'10、有關系S(S#,SNAME,SAGE),c(c#,CNAME),SC(S#,C#,GRADE)o其中S#是學號,SNAME是姓名,SAGE:年齡,C#是課程號,CNAME是課程名稱。要查詢選修了“ACCESS”課的年齡不小于20的全體學生姓名的SQL語句是()SELECTSNAMEFROMS,C,SCWHERE子句。這里Where子句的內(nèi)容是()A、s.s#=sc.s#andc.c#=sc.c#andsage>=20andcname=,ACCESS5B、s.s#=sc.s#andc.c#=sc.c#andsagein>=20andcnamein'ACCESS1C、sagein>=20andcnamein'ACCESS'D、sage>=20andcname=,ACCESS'11、設關系數(shù)據(jù)庫中一個表S的結(jié)構(gòu)為S(SN,CN,grade),其中,SN為學生名,CN為課程名,兩者均為字符型;grade為成績,數(shù)值型,取值范圍0~100o若要把“張二的化學成績80分”插入S中,則可用()。A、ADDINTOSVALUES(,張二,‘化學’,'8CT)B、INSERTINTOSVALUES('張二’,‘化學’,'80')C、ADDINTOSVALUES('張二’,化學,,80)D、INSERTINTOSVALUES(弓長二,,‘化學',80)12、設關系數(shù)據(jù)庫中一個表S的結(jié)構(gòu)為S(SN,CN,grade),其中,SN為學生名,CN為課程名,兩者均為字符型;grade為成績,數(shù)值型,取值范圍0700。若要更正王二的化學成績?yōu)?5分,則可用()。A、UPDATESSETGRADE=85WHERESN='王二'ANDCN='化學'B、UPDATESSETGRADE='85'WHERESN='王二'ANDCN=,化學,C、UPDATESGRADE=85WHERESN='王二'ANDCN=,化學'D、UPDATESGRADE=,85,WHERESN='王二'ANDCN二,化學’13、在SQL語言中,子查詢是()A、返回單表中數(shù)據(jù)子集的查詢語言;B、選取多表中字段子集的查詢語句C、選取單表中字段子集的查詢語句;D、嵌入到另一個查詢語句之中的查詢語句14、有關系S(S#,SNAME,SEX),c(c#,CNAME),SC(S#,C#,GRADE)o其中S#是學號,SNAME是姓名,SEX:性別,C#是課程號,CNAME是課程名稱。要查詢選修了“數(shù)據(jù)庫”課的全體男學生姓名的SQL語句是:ELECTSNAMEFROMS,C,SCWHERE子句。這里Where子句的內(nèi)容是()A、s.s#=sc.s#andc.c#=sc.c#andSEX二’男‘a(chǎn)ndcname二,數(shù)據(jù)庫,B、s.s#=sc.s#andc.c#=sc.c#andSEXIN,男,andcname=,數(shù)據(jù)庫,C、SEX,男,andcname,數(shù)據(jù)庫,D、s.SEX=男,andcname=*數(shù)據(jù)庫,15、若用如下的SQL語句創(chuàng)建了一個表SC,CREATETABLESC(S#CHAR(6)NOTNULL,C#CHAR(3)NOTNULL,SCOREINTEGER,NOTECHAR(20));向SC表插入如下行時,()行可以被插入。A、(42023091,'111',60,必修)B、('202323','101',null,null)C、(null,103,80o,選修,)D、)’202332',null,86/1)16、有關系S(S#,SNAME,SEX),c(c#,CNAME),SC(S#,C#,GRADE)o其中S#是學號,SNAME是姓名,SEX:性別,C#是課程號,CNAME是課程名稱。要查詢選修“computer'課的男生姓名,將涉及至的關系()A、SB、S,SCC、C,SCD、S,C,SC二、填空題1、SQL的中文全稱是(結(jié)構(gòu)化查詢語言)。2、SQL語言除了具有數(shù)據(jù)查詢和數(shù)據(jù)操縱功能之外,還具有(數(shù)據(jù)定義)和(數(shù)據(jù)控制)的功能,它是一個綜合性的功能強大的語言。3、在關系數(shù)據(jù)庫標準SQL中,實現(xiàn)數(shù)據(jù)檢索的語句命令是(select)4、在SQL語言的結(jié)構(gòu)中,(表)有相應的物理存儲,而(視圖)沒有相應的物理存儲。5、關系R(A,B,C)和S(A,D,E,F),R和S有相同的屬性A,若將關系代數(shù)表達式:7iRAr.b,s.d,s.f(R8S)用SQL語言的查詢語句表達,則為:SELECTRAR.B.S.D.S.FFROMR.SWHERER.A=S.A6S視圖是從(基本表或視圖)中導出的表,數(shù)據(jù)庫中實際存放的是視圖的(定義)7、關系數(shù)據(jù)操作語言(DML)的特點是:操作對象與結(jié)果均為關系、操作的(非過程性強)、語言一體化并且是建立在數(shù)學理論基礎之上。8、設有如下關系表R、S、T:R(BH,XM,XB,DWH),S(DWH,DWM),T(BH,XM,XB,DWH)(1)實現(xiàn)RUS的SQL語句:select*fromRUNIONSELECT*FROMT(2)實現(xiàn)irdwh='100(R)的SQL語句:select*fromrwheredwh=*100(3)實現(xiàn)7Txm,xb(R)的SQL語句:select*xm,xbfromr⑷實現(xiàn)Tixm,dwh(oxb=,女,(R))的SQL語句:selectxm.dwhfromrwherexb=’女,⑸實現(xiàn)R0°S的SQL語句:selectbh,xm,xb,r.dwh,s.dwh,dwmfromr,swherer.dwh=s.dwh(6)實現(xiàn)nxm,xb,dwh(oxb=,男'(R8SR的SQL語句是:selectxm,xb,r.dwhfromr,swherer.dwh=s.dwhandxb='男'9、設有關系R:R(,sex,age,class),主碼是NO(1)插入一個記錄(25,'李明,,,男,,21,495031,);Insertintorvalues(25,,李明,,,男,,21,'95031)(2)插入“9503V班學號為30,姓名為“鄭和”的學生記錄:Insertintor(no,name,class)values(30,,鄭和;§5031')(3)將學號為10的學生姓名改為“王華”;Updatersetname=“王華"whereno=10(4)將所有“95101”班號改為“95091”Updatersetclass=”95091nwhereclass二”95101”(5)刪除學號為20的學生記錄;Deletefromrwhereno=20⑹刪除姓“王”的學生記錄;Deletefromrwherenamelike“王%”三、簡答題1、試述SQL語言的特點。⑴綜合統(tǒng)一。SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體。(2)高度非過程化。用SQL語言進行數(shù)據(jù)操作,只要提出“做什么”,而無需指明“怎么做”,因此無需了解存取途徑,存取途徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。(3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,并且一次插入、刪除、更新操作的對象也可以是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種使用方式。SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它可以獨立地用于聯(lián)機交互的使用方式;作為嵌入式語言,它可以嵌入到高級語言程序中,供程序員設計程序時使用。(5)語言簡捷,易學易用。2、試述SQL的定義功能。答:SQL的數(shù)據(jù)定義功能涉及定義表、定義視圖和定義索引。SQL語言使用CREATETABLE語句建立基本表,ALTERTABLE語句修改基本表定義,DROPTABLE語句刪除基本表;使用CREATEINDEX語句建立索引,DROPINDEX語句刪除索弓I;使用CREATEVIEW語句建立視圖,DROPVIEW語句刪除視圖。3、用SQL語句建立第二章習題5中的4個表。答:對于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4));對于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),W日GHTNT);對于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNIQUE,JNAMEC(8),CITYC(4))對于sPJ表:sPJ(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT))4,針對上題中建立的4個表試用sQL語言完畢第二章習題5中的查詢。(I)求供應工程JI零件的供應商號碼SNO;SELECTDISTSNOFROMSPJWHEREJNO=*JI'(2)求供應工程JI零件PI的供應商號碼SNO;SELECTDISTSNOFROMSPJWHEREJNO=1J11ANDPNO='P1'(3)求供應工程JI零件為紅色的供應商號碼SNO;SELECTSNOFROMSPJ,PWHEREJNO='J1,ANDSPJ.PNO=P.PNOANDCOLOR=‘紅‘(4)求沒有使用天津供應商生產(chǎn)的紅色零件的工程號JNO;SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJRSWHERESCITY='天津'ANDCOLOR=紅’ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。(5)求至少用了供應商SI所供應的所有零件的工程號JNO;Selectdistictjnofromspjspjxwherenoexists(select*fromspjspjyWherespjx.sno='si5andNotexists(select*fromspjspjzWherespjx.sno=spjy.snoandspjy.sno=spjz.sno);5、針對習題3中的4個表試用SQL語言完畢以下各項操作:(1)找出所有供應商的姓名和所在城市。SELECTSNAME.CITYFROMS⑵找出所有零件的名稱、顏色、重量。SELECTPNAME,COLOR,W日GHTFROMP⑶找出使用供應商S1所供應零件的工程號碼。SELECTDISTJNOFROMSPJWHERESNO='S1'⑷找出工程項目J2使用的各種零件的名稱及其數(shù)量。SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJJNO='J2'⑸找出上海廠商供應的所有零件號碼。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海,⑹出使用上海產(chǎn)的零件的工程名稱。SELECTJNAMEFROMSPJSJWHERES.SNO=SPJ.SNOANDSCITY=‘上海'ANDJJNO=SPJJNO⑺找出沒有使用天津產(chǎn)的零件的工程號碼。注意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDSCITY=,天津)合用于JNO是唯一或不唯一的情況.注意:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDSCITY<>,天津哈用于JNO是唯一的情況(8)把所有紅色零件的顏色改成藍色。UPDATEPSETCOLOR='藍'WHERECOLOR='紅’⑼由S5供應J4的零件P6改為由S3供應。供應。供應。UPDATESPJSETSN0='S3'WHERESN0='S5'ANDJN0='J4'ANDPN0='P6'QO)從供應商關系中刪除供應商號是S2的記錄,并從供應情況關系中刪除相應的記錄。供應。A、DELETEFROMSWHERESNO=>S2'B、DELETEFROMSPJWHERESNO=S2'QI)請將(S2,J6,P4,200)插入供應情況關系。INSERTINTOSPJVALUES('S2','〕6','P4',200)6、什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么?基本表是自身獨立存在的表,在SQL中一個關系就相應一個表。視圖是從一個或幾個基本表導出的表。視圖自身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖相應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7、試述視圖的優(yōu)點。答:(I)視圖可以簡化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);(3)視圖對重構(gòu)數(shù)據(jù)庫提供了一定限度的邏輯獨立性;(4)視圖可以對機密數(shù)據(jù)提供安全保護。8、所有的視圖是否都可以更新?為什么?答:不是。視圖是不實際存儲數(shù)據(jù)的虛表,因此對視圖的更新,最終要轉(zhuǎn)換為對基本表的更新。由于有些視圖的更新不能惟一故意義地轉(zhuǎn)換成對相應基本表的更新,所以,并不是所有的視圖都是可更新的.9.哪類視圖是可以更新的?哪類視圖是不可更新的?各舉一例說明。答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來自集函數(shù)、表達式,則該視圖肯定是不可以更新的。如有一學生視圖,由學號、姓名組成,則可以對其進行修改。假如有一視圖是學號、平均成績組成,則不能對平均成績進行修改。10、請為三建工程項目建立一個供應情況的視圖,涉及供應商代碼(SNO)、零件代碼(PNO)、供應數(shù)量(QTY)。CREATEVIEWVSPASSELECTSNO5PNO,QTYFROMSPJ,JWHERESPJ.JNO=J.JNOANDJJNAME='H^'針對該視圖,完畢下列查詢:⑴找出三建工程項目使用的各種零件代碼及其數(shù)量。SELECTDISTPNO.QTYFROMVSP⑵找出供應商S1的供應情況。SELECTDIST*FROMVSPWHERESNO='S1'第五章數(shù)據(jù)庫安全性習題一、選擇題L以下()不屬于實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的重要技術和方法。A,存取控制技術B.視圖技術C.審計技術D.出入機房登記和加防盜門2.SQL中的視圖機制提高了數(shù)據(jù)庫系統(tǒng)的()A.完整性B.并發(fā)控制C.隔離性D.安全性3.SQL語言的GRANT和REVOKE語句重要是用來維護數(shù)據(jù)庫的()A.完整性B.可靠性C.安全性D.一致性4.在數(shù)據(jù)庫的安全性控制中,授權的數(shù)據(jù)對象的(),授權子系統(tǒng)就越靈活.A.范圍越小B.約束越細致C.范圍越大D.約束范圍大二.填空題1.數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所導致的(數(shù)據(jù)泄漏、更改和破壞)2.計算機系統(tǒng)有三類安全性問題,即(技術安全類)、(管理安全類)和(政策法律類)o3.用戶標記和鑒別的有很多種,并且在一個系統(tǒng)中往往是多種方法并舉,以獲得更強的安全性。常用的方法有通過輸入(用戶名)和(口令)來鑒別用戶。4.(用戶權限定義)和(合法權檢查機制)一起組成DBMS的安全子系統(tǒng)。5.當前大型的DBMS一般都支持(自主存取控制(DAC),有些DBMS同時還支持(強制存取控制(MAC))。6,用戶權限是由兩個要素組成(數(shù)據(jù)對象)和(操作類型)07.在數(shù)據(jù)庫系統(tǒng)中,定義存取權限稱為(授權)。SQL語言用(GRANT)語句向用戶授予對數(shù)據(jù)的操作權限,用(REVOKE)語句收回授予的權限。8.對數(shù)據(jù)庫模式的授權由DBA在(創(chuàng)建用戶)時實現(xiàn)。9.一個DBA用戶可以擁有(CREATEUSER)、(CREATESCHEMA)和(CREATETABLE)權限,一個RESOURCE可以擁有(CREATETABLE)權限。10.數(shù)據(jù)庫角色是被命名的一組與(數(shù)據(jù)庫操作)相關的權限,角色是(權限)的集合。11.通過(視圖機制)可以把要保密的數(shù)據(jù)對無權存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定限度的安全保護。12.審計一般可以分為(用戶級)審計和(系統(tǒng)級)審計。三、簡答題1、什么是數(shù)據(jù)庫的安全性?答:數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所導致的數(shù)據(jù)泄露、更改或破壞。2、數(shù)據(jù)庫安全性和計算機系統(tǒng)的安全性有什么關系?答:安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的,所有計算機系統(tǒng)都有這個問題。只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,并且為許多最終用戶直接共享,從而使安全性問題更為突出。系統(tǒng)安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)的重要指標之一。數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全性,涉及操作系統(tǒng)、網(wǎng)絡系統(tǒng)的安全性是緊密聯(lián)系、相互支持的,3、試述實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術。答:實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術有:(I)用戶標記和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標記自己的名字或身份。每次用戶規(guī)定進入系統(tǒng)時,由系統(tǒng)進行核對,通過鑒定后才提供系統(tǒng)的使用權。(2)存取控制:通過用戶權限定義和合法權檢查保證只有合法權限的用戶訪問數(shù)據(jù)庫,所有未被授權的人員無法存取數(shù)據(jù)。例如CZ級中的自主存取控制(DAC),BI級中的強制存取控制(MAC)o(3)視圖機制:為不同的用戶定義視圖,通過視圖機制把要保密的數(shù)據(jù)對無權存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定限度的安全保護。(4)審計:建立審計日記,把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日記中,DBA可以運用審計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。(5)數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進行加密解決,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。4、有兩個關系模式:職工(職工號,姓名,年齡,職務,工資,部門號),部門(部門號,名稱,經(jīng)理我,地址,電話號)請用SQL的GRANT和REVOKE語句(加上視圖機制)完畢以下授權定義或存取控制功能:(1)用戶王明對兩個表有SELECT權力。GRANTSELECTON職工,部門TO王明(2)用戶李勇對兩個表有INSERT和DELETE權力。GRANTINSERT,DELETEON職工,部門TO李勇(3)每個職工只對自己的記錄有SELECT權力。GRANTSELECTON職工WHENUSER()=NAMETOALL;(4)用戶劉星對職工表有SELECT權力,對工資字段具有更新權力。GRANTSELECT,UPDATE(工資)ON職工TO劉星(5)用戶張新具有修改這兩個表的結(jié)構(gòu)的權力。GRANTALTERTABLEON職工部門TO張新;(6)用戶周平具有對兩個表所有權力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權的權力。GRANTALLPRIVILIGESON職工部門TO周平WITHGRANTOPTION;(7)用戶楊蘭具有從每個部門職工中SELECT最高工資、最低工資、平均工資的權力,他不能查看每個人的工資。CREATEVIEW部門工資ASSELECT部門,名稱,MAX(工資),MIN(工資),AVG(工資)FROM職工部門WHERE職工.部門號二部門部門號GROUPBY職工.部門號GRANTSELECTON部門工資TO楊蘭;5、把習題4中(1)-一(7)的每一種情況,撤消各用戶所授予的權力(1)REVOKESELECTON職工,部門FROM王明;⑵REVOKEINSERT,DELETEON職工,部門FROM李勇;(3)REOVKESELECTON職工WHENUSER()=NAMEFROMALI;(4)REVOKESELECT,UPDATEON職工FROM劉星;(5)REVOKEALTERTABLEON職工,部門FROM張新;(6)REVOKEALLPRIVILIGESON職工,部門FROM周平;(7)REVOKESELECTON部門工資FROM楊蘭;DROPVIEW部門工資;6、什么是數(shù)據(jù)庫的審計功能,為什么要提供審計功能?答:審計功能是指DBMS的審計模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時把所有操作自動記錄到系統(tǒng)的審計日記中。由于任何系統(tǒng)的安全保護措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人總也許存在。運用數(shù)據(jù)庫的審計功能,DBA可以根據(jù)審計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。第六章習題1、完整性檢查和控制的防范對象是(A、C),防止它們進入數(shù)據(jù)庫。安全性控制的防范對象是(B、D),防止它們對數(shù)據(jù)的存取。A.不合語義的數(shù)據(jù)B.非法用戶C.不對的的數(shù)據(jù)D,非法操作2、找出下面SQL命令中的數(shù)據(jù)授權命令()A.GRANTB.COMMITC.UPDATED.SELECT3,下述SQL語句中,允許用戶定義新關系時引用其他關系的主碼作為外碼的()。A.INSERTB.DELETEC.REFERENCESD.SELECT4.下述SQL命令的短語中,定義屬性上約束條件的是()。A.NOTNULL短語B.UNIQUE短語C.CHECK短語D.HAVING短語二、填空題1.數(shù)據(jù)庫的完整性是指數(shù)據(jù)的(對的性)和(相容性)o2.SQL標準使用了一系列概念來描述完整性,涉及關系模型的(實體完整性)、(參數(shù)完整性)和用戶定義完整性)3.數(shù)據(jù)庫完整性的定義一般由SQL的(DDL)語句來實現(xiàn),它們作為數(shù)據(jù)訓模式的一部分存入(數(shù)據(jù)字典)o4.關系模型的實體完整性在(DDL)中用(primarykey)定義。5.為了避免對基本表進行全表掃描,RDMS核心一般都對(主鍵)自動建立一個(索引)6.關系模型的參照完整性在(DDL)用(foreignkey)短語定義哪些列為外碼歹I用(references)短語指明這些外碼參照哪些表的主碼。7、補充下表中也許破壞參照完整性的情況及違約解決的策略。被參照列(如student)參照表(如SC)違約解決也許破壞參照完整性插入元組拒絕也許破壞參照完整性修改外碼值拒絕刪除元組也許破壞參照完整性拒絕/級聯(lián)修改/設立為空值修改主碼值也許破壞參照完整性拒絕/級聯(lián)修改/設立為空值三、簡答題1、什么是數(shù)據(jù)庫的完整性?答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的對的性和相容性。2、數(shù)據(jù)庫的完整性概念和數(shù)據(jù)庫的安全性概念有什么區(qū)別和聯(lián)系?答:數(shù)據(jù)的完整性和安全性是兩個不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯誤信息的輸入和輸出,即所謂垃圾進垃圾出(Garba:eInGarba:eout)所導致的無效操作和錯誤結(jié)果。后者是保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范對象是不合語義的數(shù)據(jù)。3、什么是數(shù)據(jù)庫的完整性約束條件?答:完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應當滿足的語義約束條件。一般可以分為六類:靜態(tài)列級約束、靜態(tài)元組約束、靜態(tài)關系約束、動態(tài)列級約束、動態(tài)元組約束、動態(tài)關系約束。靜態(tài)列級約束是對一個列的取值域的說明,涉及以下幾個方面:(I)對數(shù)據(jù)類型的約束,涉及數(shù)據(jù)的類型、長度、單位、精度等;(2)對數(shù)據(jù)格式的約束;(3)對取值范圍或取值集合的約束;(4)對空值的約束;(5)其他約束。靜態(tài)元組約束就是規(guī)定組成一個元組的各個列之間的約束關系,靜態(tài)元組約束只局限在單個元組上。靜態(tài)關系約束是在一個關系的各個元組之間或者若干關系之間經(jīng)常存在各種聯(lián)系或約束。常見的靜態(tài)關系約束有:(I)實體完整性約束;(2)參照完整性約束;(3)函數(shù)依賴約束。動態(tài)列級約束是修改列定義或列值時應滿足的約束條件,涉及下面兩方面:(I)修改列定義時的約束;(2)修改列值時的約束。動態(tài)元組約束是指修改某個元組的值時需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動態(tài)關系約束是加在關系變化前后狀態(tài)上的限制條件,例如事務一致性、原子性等約束條件。4、RDBMS的完整性控制機制應具有哪些功能?答:DBMS的完整性控制機制應具有三個方面的功能:(I)定義功能,即提供定義完整性約束條件的機制;(2)檢查功能,即檢查用戶發(fā)出的操作請求是否違反了完整性約束條件;(3)違約反映:假如發(fā)現(xiàn)用戶的操作請求使數(shù)據(jù)違反了完整性約束條件,則采用一定的動作來保證數(shù)據(jù)的完整性。(應用系統(tǒng))和(數(shù)據(jù)庫管理員)構(gòu)成。4、數(shù)據(jù)管理技術的發(fā)展是與計算機技術及其應用的發(fā)展聯(lián)系在一起的,它經(jīng)歷了3個階段:(人工管理階段)、(文獻系統(tǒng)階段)、(數(shù)據(jù)庫階段)。5、數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、最小的(冗余度)、較高的(共享性)等特點。6、DBMS還必須提供(數(shù)據(jù)的安全)保護、(完整性)檢查、(并發(fā)控制)、(數(shù)據(jù)庫恢復)等數(shù)據(jù)控制功能。7、模式是數(shù)據(jù)庫中全體數(shù)據(jù)的(邏輯結(jié)構(gòu))和(特性)的描述,它僅僅涉及到(型)的描述,不涉及到具體的值。8、三級模式之間的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)可以具有較高的(邏輯獨立性)和(物理獨立性)三、簡答題1、試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的概念。數(shù)據(jù):是數(shù)據(jù)庫中存儲的基本對象,種類可以是數(shù)字、文字、圖形、圖象、聲音、語言等。數(shù)據(jù)庫:長期存儲在計算機內(nèi),有組織可共享的數(shù)據(jù)集合數(shù)據(jù)庫管理系統(tǒng)(DBMS)提供數(shù)據(jù)的定義,操作,描述的語言,尚有數(shù)據(jù)庫的運營管理,建立以及維護,一般指數(shù)據(jù)庫管理軟件如SqIServer.orcakMySql數(shù)據(jù)庫系統(tǒng)(DBS):一般指引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng),應用系統(tǒng),數(shù)據(jù)庫管理員和用戶構(gòu)成2、使用數(shù)據(jù)庫系統(tǒng)有什么好處?答:使用數(shù)據(jù)庫系統(tǒng)的好處:數(shù)據(jù)冗余度小,節(jié)省存儲空間,共享性高,數(shù)據(jù)獨立性和物理獨立性強。3、試述文獻系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系。答:文獻系統(tǒng)把數(shù)據(jù)組織成互相獨立的數(shù)據(jù)文獻,實現(xiàn)了記錄內(nèi)的結(jié)構(gòu)性,但整體無結(jié)構(gòu);而數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的重要特性之一,也是數(shù)據(jù)庫系統(tǒng)與文獻系統(tǒng)的本質(zhì)區(qū)別。在文獻系統(tǒng)中,數(shù)據(jù)冗余度大,浪費存儲空間,容易導致數(shù)據(jù)的不一致;數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)是面向整個系統(tǒng),數(shù)據(jù)可以被多個用戶、多個應用共享使用,減少了數(shù)據(jù)冗余。文獻系統(tǒng)中的文獻是為某一特定應用服務的,當要修改數(shù)據(jù)的邏輯結(jié)構(gòu)時,必須修改應用程序,修改文獻結(jié)構(gòu)的定義,數(shù)據(jù)和程序之間缺少獨立性,?數(shù)據(jù)庫系統(tǒng)中,通過DBMS的兩級映象實現(xiàn)了數(shù)據(jù)的物理獨立性和邏輯獨立性,把數(shù)據(jù)的定義從程序中分離出去,減少了應用程序的維護和修改。文獻系統(tǒng)和數(shù)據(jù)庫系統(tǒng)均可以長期保存數(shù)據(jù),由數(shù)據(jù)管理軟件管理數(shù)據(jù),數(shù)據(jù)庫系統(tǒng)是在文獻系統(tǒng)基礎上發(fā)展而來。4、試述數(shù)據(jù)庫系統(tǒng)的特點。答:面向全組織的數(shù)據(jù)結(jié)構(gòu)化;數(shù)據(jù)的共享性高,冗余度低,易擴充;數(shù)據(jù)獨立性高;數(shù)據(jù)由5、RDBMS在實現(xiàn)參照完整性時需要考慮哪些方面?答:RDBMs在實現(xiàn)參照完整性時需要考慮以下幾個方面:(I)外碼是否可以接受空值。(2)冊I除被參照關系的元組時的考慮,這時系統(tǒng)也許采用的作法有三種:I)級聯(lián)刪除(CASCADES);2)受限刪除(RESTRICTED);3)置空值刪除(NULLIFIES)o(3)在參照關系中插入元組時的問題,這時系統(tǒng)也許采用的作法有:I)受限插入;2)遞歸插入。(4)修改關系中主碼的問題。一般是不能用UPDATE語句修改關系主碼的。假如需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關系中。假如允許修改主碼,一方面要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關系還是被參照關系。6、假設有兩個關系模式:職工(職工號,姓名,年齡,職務,工資,部門號),職工號為主碼,部門(部門號,名稱,經(jīng)理我,地址,電話號),部門號為主碼用SQL語言定義這兩個關系模式,規(guī)定在模式中完畢以下完整性約束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過60歲。答:CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(IO),ManagerVARCHAR(IO),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER⑷,EnameVARCHAR(IO),AgeNUMBER(2),CONSTRAINTClCHECK(Aage<=60),JobVARCHAR⑼,SalNUMBER1,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOR日GNKEY(Deptno)REFFERENCESDEPT(Deptno));7、在關系系統(tǒng)中,當操作違反實體完整性、參照完整性和用戶定義性約束條件時,一般是如何分別進行解決的?答:對于違反實體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進行解決。而對于違反參照完整性的操作,并不都是簡樸地拒絕執(zhí)行,有時要根據(jù)應用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的對的性。第七章習題一、選擇題1、一個事務的執(zhí)行,要么所有完畢,要么所有不做,一個事務中對數(shù)據(jù)庫的所有操作都是一個不可分割的操作序列的屬性是()oA,原子性B-致性C.獨立性D.持久性2、表達兩個或多個事務可以同時運營而不互相影響的是()0A原子性B.一致性C.獨立性D.持久性3、事務的連續(xù)性是指()A.事務中涉及的所有操作要么都做,要么都不做B.事務一旦提交,對數(shù)據(jù)庫的改變是永久的C.一個事務內(nèi)部的操作對并發(fā)的其他事務是隔離的D.事務必須使數(shù)據(jù)庫從一個一致性狀態(tài)變成另一個一致性狀態(tài).4、SQL語言中的COMMIT語句的重要作用是()。A結(jié)束程序B返回系統(tǒng)C提交事務D存儲數(shù)據(jù)5、SQL語言中用()語句實現(xiàn)事務的回滾。ACREATETABLEBROLLBACKCGRANT和REVOKEDCOMMIT6.若系統(tǒng)在運營過程中,由于某種硬件故障,使存儲在外存上的數(shù)據(jù)部分損失或所有損失,這種情況稱為()oA介質(zhì)故障B運營故障C系統(tǒng)故障D事務故障7、在DBMS中實現(xiàn)事務持久性的子系統(tǒng)是()oA安全管理子系統(tǒng)B完整性管理子系統(tǒng)c并發(fā)控制子系統(tǒng)D恢復管理子系統(tǒng)8、后援副本的作用是()。A保障安全性B一致性控制C故障后的恢復D數(shù)據(jù)的轉(zhuǎn)儲9、事務日記用于保存()oA程序運營過程B程序的執(zhí)行結(jié)果C對數(shù)據(jù)的更新操作D對數(shù)據(jù)的查詢操作10、數(shù)據(jù)庫恢復的基礎是運用轉(zhuǎn)儲的冗余數(shù)據(jù)。這些轉(zhuǎn)儲的冗余數(shù)據(jù)涉及()oA數(shù)據(jù)字典,應用程序,數(shù)據(jù)庫后備副本Bo數(shù)據(jù)字典、應用程序、審計檔案C、日記文獻、數(shù)據(jù)庫后備副本D、數(shù)據(jù)字典、應用程序、日記文獻二、填空題1、(事務)是一系列的數(shù)據(jù)庫操作,是數(shù)據(jù)庫應用程序的基本邏輯單元。2、事務解決技術重要涉及(數(shù)據(jù)庫恢復)技術和(并發(fā)控制)技術。3、在SQL語言中,定義事務控制的語句重要有(begintransaction)、(commit)、和(rollback)。4、事務具有4個特性,它們是(原子性)、(一致性)、(隔離性)和(持續(xù)性)。這4個特性也簡稱為(ACID)特性。5、把數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的對的狀態(tài)(亦稱來一致狀態(tài))的功能,這就是(數(shù)據(jù)庫的恢復)6、數(shù)據(jù)庫系統(tǒng)中也許發(fā)生各種各樣的故障,大體可以分為(事務故障)、(系統(tǒng)故障)、(介質(zhì)故障)和(計算機病毒)o7、建立冗余數(shù)據(jù)最常用的技術是(數(shù)據(jù)轉(zhuǎn)儲)和(登錄日記文獻)。通常在一個數(shù)據(jù)庫系統(tǒng)中,這兩種方法是一起使用的。8、轉(zhuǎn)儲可分為(靜態(tài)轉(zhuǎn)儲)和(動態(tài)轉(zhuǎn)儲),轉(zhuǎn)儲方式可以有(海量轉(zhuǎn)儲)和(增量轉(zhuǎn)儲)。9、(日志文獻)是用來記錄事務對數(shù)據(jù)庫的更新操作的文獻。重要有兩種格式:以(記錄)為單位的日記文獻和以(數(shù)據(jù)塊)為單位的日記文獻。三、簡答題1、試述事務的概念及事務的4個特性答:事務是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。事務具有4個特性:原子性(Atomicity)、一致性(consistency)、隔離性(Isolation)和連續(xù)性(Durability)。這4個特性也簡稱為ACID特性。原子性:事務是數(shù)據(jù)庫的邏輯工作單位,事務中涉及的諸操作要么都做,要么都不做。一致性:事務執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。隔離性:一個事務的執(zhí)行不能被其他事務干擾。即一個事務內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。連續(xù)性:連續(xù)性也稱永久性(Perfnanence),指一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應當是永久性的。接下來的其他操作或故障不應當對其執(zhí)行結(jié)果有任何影響。.為什么事務非正常結(jié)束時會影響數(shù)據(jù)庫數(shù)據(jù)的對的性,請列舉一例說明之。答:事務執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。假如數(shù)據(jù)庫系統(tǒng)運營中發(fā)生故障,有些事務尚未完畢就被迫中斷,這些未完畢事務對數(shù)據(jù)庫所做的修改有一部分已寫入物理數(shù)據(jù)庫,這時數(shù)據(jù)庫就處在一種不對的的狀態(tài),或者說是不一致的狀態(tài)。例如某工廠的庫存管理系統(tǒng)中,要把數(shù)量為Q的某種零件從倉庫1移到倉庫2存放。則可以定義一個事務T,T涉及兩個操作;QI=QI—Q,Q2=Q2+Qo假如T非正常終止時只做了第一個操作,則數(shù)據(jù)庫就處在不一致性狀態(tài),庫存量無緣無端少了Qo.數(shù)據(jù)庫中為什么要有恢復子系統(tǒng)?它的功能是什么?答:由于計算機系統(tǒng)中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則導致運營事務非正常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的對的性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中所有或部分數(shù)據(jù)丟失,因此必須要有恢復子系統(tǒng)。恢復子系統(tǒng)的功能是:把數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的對的狀態(tài)(亦稱為一致狀態(tài)或完整狀態(tài))。.數(shù)據(jù)庫運營中也許產(chǎn)生的故障有哪幾類?哪些故障影響事務的正常執(zhí)行?哪些故障破壞數(shù)據(jù)庫數(shù)據(jù)?答:數(shù)據(jù)庫系統(tǒng)中也許發(fā)生各種各樣的故障,大體可以分以下幾類:(1)事務內(nèi)部的故障;(2)系統(tǒng)故障;(3)介質(zhì)故障;(4)計算機病毒。事務故障、系統(tǒng)故障和介質(zhì)故障影響事務的正常執(zhí)行;介質(zhì)故障和計算機病毒破壞數(shù)據(jù)庫數(shù)據(jù)。.數(shù)據(jù)庫恢復的基本技術有哪些?答:數(shù)據(jù)轉(zhuǎn)儲和登錄日記文獻是數(shù)據(jù)庫恢復的基本技術。當系統(tǒng)運營過程中發(fā)生故障,運用轉(zhuǎn)儲的數(shù)據(jù)庫后備副本和日記文獻就可以將數(shù)據(jù)庫恢復到故障前的某個一致性狀態(tài)。.數(shù)據(jù)庫轉(zhuǎn)儲的意義是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲方法。答:數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)庫恢復中采用的基本技術。所謂轉(zhuǎn)儲即DBA定期地將數(shù)據(jù)庫復制到磁帶或另一個磁盤上保存起來的過程。當數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫恢復到轉(zhuǎn)儲時的狀態(tài)。靜態(tài)轉(zhuǎn)儲:在系統(tǒng)中無運營事務時進行的轉(zhuǎn)儲操作,如上圖所示。靜態(tài)轉(zhuǎn)儲簡樸,但必須等待正運營的用戶事務結(jié)束才干進行。同樣,新的事務必須等待轉(zhuǎn)儲結(jié)束才干執(zhí)行。顯然,這會減少數(shù)據(jù)庫的可用性。動態(tài)轉(zhuǎn)儲:指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進行存取或修改。動態(tài)轉(zhuǎn)儲可克服靜態(tài)轉(zhuǎn)儲的缺陷,它不用等待正在運營的用戶事務結(jié)束,也不會影響新事務的運營。但是,轉(zhuǎn)儲結(jié)束時后援副本上的數(shù)據(jù)并不能保證對的有效。由于轉(zhuǎn)儲期間運營的事務也許修改了某些數(shù)據(jù),使得后援副本上的數(shù)據(jù)不是數(shù)據(jù)庫的一致版本。為此,必須把轉(zhuǎn)儲期間各事務對數(shù)據(jù)庫的修改活動登記下來,建立日記文獻(109file)0這樣,后援副本加上日記文獻就能得到數(shù)據(jù)庫某一時刻的對的狀態(tài)。轉(zhuǎn)儲還可以分為海量轉(zhuǎn)儲和增量轉(zhuǎn)儲兩種方式。海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲所有數(shù)據(jù)庫。增量轉(zhuǎn)儲則指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。從恢復角度看,使用海量轉(zhuǎn)儲得到的后備副本進行恢復一般說來更簡樸些。但假如數(shù)據(jù)庫很大,事務解決又十分頻繁,則增量轉(zhuǎn)儲方式更實用更有效。.什么是日記文獻?為什么要設立日記文獻?答:(1)日記文獻是用來記錄事務對數(shù)據(jù)庫的更新操作的文獻。(2)設立日記文獻的目的是:進行事務故障恢復,?進行系統(tǒng)故障恢復;協(xié)助后備副本進行介質(zhì)故障恢復。.登記日記文獻時為什么必須先寫日記文獻,后寫數(shù)據(jù)庫?答:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中和把表達這個修改的日記記錄寫到日記文獻中是兩個不同的操作。有也許在這兩個操作之間發(fā)生故障,即這兩個寫操作只完畢了一個。假如先寫了數(shù)據(jù)庫修改,而在運營記錄中沒有登記這個修改,則以后就無法恢復這個修改了。假如先寫日記,但沒有修改數(shù)據(jù)庫,在恢復時只但是是多執(zhí)行一次UNDO操作,并不會影響數(shù)據(jù)庫的對的性。所以一定要先寫日記文獻,即一方面把日記記錄寫到日記文獻中,然后寫數(shù)據(jù)庫的修改。.針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統(tǒng)故障的恢復?介質(zhì)故障恢復?)答:事務故障的恢復:事務故障的恢復是由DBMS執(zhí)行,恢復環(huán)節(jié)是:自動完畢的,對用戶是透明的。(1)反向掃描文獻日記(即從最后向前掃描日記文獻),查找該事務的更新操作;(2)對該事務的更新操作執(zhí)行逆操作,即將日記記錄中“更新前的值”寫入數(shù)據(jù)庫;(3)繼續(xù)反向掃描日記文獻,做同樣解決;(4)如此解決下去,直至讀到此事務的開始標記,該事務故障的恢復就完畢了。系統(tǒng)故障的恢復:系統(tǒng)故障也許會導致數(shù)據(jù)庫處在不一致狀態(tài):一是未完畢事務對數(shù)據(jù)庫的更新也許已寫入數(shù)據(jù)庫;二是已提交事務對數(shù)據(jù)庫的更新也許還留在緩沖區(qū),沒來得及寫入數(shù)據(jù)庫。因此恢復操作就是要撤消(UNDO)故障發(fā)生時未完畢的事務,重做(REDO)已完畢的事務。系統(tǒng)的恢復環(huán)節(jié)是:(1)正向掃描日記文獻,找出在故障發(fā)生前已經(jīng)提交的事務隊列(REDO隊列)和未完畢的事務隊列(UNDO隊列)。(2)對撤消隊列中的各個事務進行UNDO解決。進行UNDO解決的方法是,反向掃描日記文獻,對每個UNDO事務的更新操作執(zhí)行逆操作,即將日記記錄中“更新前的值“BeforeImage)寫入數(shù)據(jù)庫。(3)對重做隊列中的各個事務進行REDO解決。進行REDO解決的方法是:正向掃描日記文獻,對每個REDO事務重新執(zhí)行日記文獻登記的操作。即將日記記錄中“更新后的值”Afte.Image)寫入數(shù)據(jù)庫。介質(zhì)故障的恢復:介質(zhì)故障是最嚴重的一種故障?;謴头椒ㄊ侵匮b數(shù)據(jù)庫,然后重做已完畢的事務。具體過程是:(1)DBA裝入最新的數(shù)據(jù)庫后備副本(離故障發(fā)生時刻最近的轉(zhuǎn)儲副本),使數(shù)據(jù)庫恢復到轉(zhuǎn)儲時的一致性狀態(tài);(2)DBA裝入轉(zhuǎn)儲結(jié)束時刻的日記文獻副本;(3)DBA啟動系統(tǒng)恢復命令,由DBMS完畢恢復功能,即重做已完畢的事務。第八章并發(fā)控制習題一、選擇題1、解決并發(fā)操作帶來的數(shù)據(jù)不一致問題普遍的采用(A)技術。A封鎖B存取控制C恢復D協(xié)商2、下列不屬于并發(fā)操作帶來的問題是(C)A丟失修改B不可反復讀C死鎖D臟讀3、DBMS普遍采用(C)方法來保證調(diào)度的對的性。A索弓IB授權C封鎖DH記4、事務T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務結(jié)束才釋放,這是(B)。A一級封鎖協(xié)議B、二級封鎖協(xié)議C、三級封鎖協(xié)議D、零級封鎖協(xié)議5、假如事務T獲得了數(shù)據(jù)項Q上的排它鎖,則T對Q(C)A、只能讀不能寫B(tài)、只能寫不能讀C、既可讀又可寫D、不能讀也不能寫6、設事務T1和T2對數(shù)據(jù)庫中的數(shù)據(jù)A進行操作,也許有如下幾種情況,請問哪一種不會發(fā)生沖突操作(D)A、T1正在寫A,T2要讀AB、T1正在寫A,T2也要寫AC、T1正在讀A,T2要寫AD、T1正在讀A,T2要讀A7、假如有兩個事務同時對數(shù)據(jù)庫中的同一數(shù)據(jù)進行操作,不會引起沖突的操作是(D)。A、一個是DELETE,一個是SELECTB、一個是SELECT,一個是DELETEC、兩個都是updateD、兩個都是SELECT二、填空題1、并發(fā)操作帶來的數(shù)據(jù)不一致性涉及:()、()和()。2、多個事務的并發(fā)執(zhí)行是對的的,當且僅當其結(jié)果與按某一順序串行地執(zhí)行它們時的結(jié)果相同,我們稱這種調(diào)度策略為()的調(diào)度3、基本的封鎖類型有二種:()和()。4、在數(shù)據(jù)庫并發(fā)控制中,兩個或多個事務同時處在互相等待狀態(tài),稱為(死鎖)5、()被稱為封鎖的粗度。三、簡答題1、在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫是共享資源,通常有許多個事務同時在運營。當多個事務并發(fā)地存取數(shù)據(jù)庫時就會產(chǎn)生同時讀取和/或修改同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就也許會存取和存儲不對的的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機制。2.并發(fā)操作也許會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性涉及三類:丟失修改、不可反復讀和讀“臟’夕數(shù)據(jù)。(I)丟失修改(lostupdate)兩個事務TI和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了)TI提交的結(jié)果,導致TI的修改被丟失。(2)不可反復讀(Non—RepeatableRead)不可反復讀是指事務TI讀取數(shù)據(jù)后,事務幾執(zhí)行更新操作,使TI無法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)(DirtyRead)讀“臟,夕數(shù)據(jù)是指事務TI修改某一數(shù)據(jù),并將其寫回磁盤,事務幾讀取同一數(shù)據(jù)后,TI由于某種因素被撤消,這時TI已修改過的數(shù)據(jù)恢復原值,幾讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則幾讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不對的的數(shù)據(jù)。避免不一致性的方法和技術就是并發(fā)控制。最常用的技術是封鎖技術。也可以用其他技術,例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。答:封鎖就是事務T在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務T就對該數(shù)據(jù)對象有了一定的控制,在事務T釋放它的鎖之前,其他的事務不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術?;镜姆怄i類型有兩種:排它鎖(ExclusiveLocks,簡稱x鎖)和共享鎖(ShareLocks,簡稱S鎖)。排它鎖又稱為寫鎖。若事務T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。共享鎖又稱為讀鎖。若事務T對數(shù)據(jù)對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。.如何用封鎖機制保證數(shù)據(jù)的一致性?答:DBMS在對數(shù)據(jù)進行讀、寫操作之前一方面對該數(shù)據(jù)執(zhí)行封鎖操作,例如下圖中事務TI在對A進行修改之前先對A執(zhí)行xock(A),即對A力口x鎖。這樣,當幾請求對A力口x鎖時就被拒絕,幾只能等待TI釋放A上的鎖后才干獲得對A的x鎖,這時它讀到的A是TI更新后的值,再按此新的A值進行運算。這樣就不會丟失TI的更新。DBMS按照一定的封鎖協(xié)議,對并發(fā)操作進行控制,使得多個并發(fā)操作有序地執(zhí)行,就可以避免丟失修改、不可反復讀和讀“臟’夕數(shù)據(jù)等數(shù)據(jù)不一致性。.什么是活鎖?什么是死鎖?答:假如事務TI封鎖了數(shù)據(jù)R,事務幾又請求封鎖R,于是幾等待。幾也請求封鎖R,當TI釋放了R上的封鎖之后系統(tǒng)一方面批準了幾的請求,幾仍然等待。然后幾又請求封鎖R,當幾釋放了R上的封鎖之后系統(tǒng)又批準了幾的請求……幾有也許永遠等待,這就是活鎖的情形?;铈i的含義是該等待事務等待時間太長,似乎被鎖住了,事實上也許被激活。假如事務TI封鎖了數(shù)據(jù)RI,幾封鎖了數(shù)據(jù)凡,然后TI又請求封鎖幾,因幾已封鎖了幾,于是TI等待幾釋放幾上的鎖。接著幾又申請封鎖RI,因TI已封鎖了RI,幾也只能等待TI釋放RI上的鎖。這樣就出現(xiàn)了TI在等待幾,而幾又在等待T}的局面,T}和幾兩個事務永遠不能結(jié)束,形成死鎖。.試述活鎖的產(chǎn)生因素和解決方法。答:活鎖產(chǎn)生的因素:當一系列封鎖不能按照其先后順序執(zhí)行時,就也許導致一些事務無限期等待某個封鎖,從而導致活鎖。避免活鎖的簡樸方法是采用先來先服務的策略。當多個事務請求封鎖同一數(shù)據(jù)對象時,封鎖子系統(tǒng)按請求封鎖的先后順序?qū)κ聞张抨牐瑪?shù)據(jù)對象上的鎖一旦釋放就批準申請隊列中第一個事務獲得鎖。.請給出檢測死鎖發(fā)生的一種方法,當發(fā)生死鎖后如何解除死鎖?答:數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的方法。DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法或事務等待圖法。超時法是:假如一個事務的等待時間超過了規(guī)定的時限,就認為發(fā)生了死鎖。超時法實現(xiàn)簡樸,但有也許誤判死鎖,事務因其他因素長時間等待超過時限時,系統(tǒng)會誤認為發(fā)生了死鎖。若時限設立得太長,又不能及時發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設法解除。通常采用的方法是選擇一個解決死鎖代價最小的事務,將其撤消,釋放此事務持有的所有鎖,使其他事務得以繼續(xù)運營下去。當然,對撤消的事務所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復。.什么樣的并發(fā)調(diào)度是對的的調(diào)度?答:可串行化(Serializable)的調(diào)度是對的的調(diào)度??纱谢恼{(diào)度的定義:多個事務的并發(fā)執(zhí)行是對的的,當且僅當其結(jié)果與按某一順序串行執(zhí)行它們時的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。9.設TI,幾,幾是如下的3個事務:Tl:A:=A+2;T2:A:=A*2;T3:A:=A**2;(A<-A*A)設A的初值為0。(I)若這3個事務允許并行執(zhí)行,則有多少也許的對的結(jié)果,請一一列舉出來。答:A的最終結(jié)果也許有2、4、8、16。由于串行執(zhí)行順序有TIT2T3、TIT3T2、T2T1T3、T2T3TI.T3T1T2.T3T2Tlo相應的執(zhí)行結(jié)果是16、8?。(2)請給出一個可串行化的調(diào)度,并給出執(zhí)行結(jié)果答:最后結(jié)果A為16,是可串行化的調(diào)度。(3)請給出一個非串行化的調(diào)度,并給出執(zhí)行結(jié)果。答:最后結(jié)果A為0,為非串行化的調(diào)度。(4)若這3個事務都遵守兩段鎖協(xié)議,請給出一個不產(chǎn)生死鎖的可串行化調(diào)度。答:(5)若這3個事務都遵守兩段鎖協(xié)議,請給出一個產(chǎn)生死鎖的調(diào)度。答:11.試證明,若并發(fā)事務遵守兩段鎖協(xié)議,則對這些事務的并發(fā)調(diào)度是可串行化的。證明:一方面以兩個并發(fā)事務TI和T2為例,存在多個并發(fā)事務的情形可以類推。根據(jù)可串行化定義可知,事務不可串行化只也許發(fā)生在下列兩種情況:(I)事務TI寫某個數(shù)據(jù)對象A,T2讀或?qū)慉;(2)事務TI讀或?qū)懩硞€數(shù)據(jù)對象A,T2寫A。下面稱A為潛在沖突對象。設TI和T2訪問的潛在沖突的公共對象為{Al,A2…,An}。不失一般性,假設這組潛在沖突對象中X=(A1,A2,…,Ai}均符合情況1oY={Ai+1.…,An}符合所情況(2)。VXex,TI需要XlockX①T2需要Slockx或Xlockx②1)假如操作①先執(zhí)行,則TI獲得鎖,T2等待由于遵守兩段鎖協(xié)議,TI在成功獲得x和Y中所有對象及非潛在沖突對象的鎖后,才會釋放鎖。這時假如存在wex或Y,T2已獲得w的鎖,則出現(xiàn)死鎖;否則,TI在對x、Y中對象所有解決完畢后,T2才干執(zhí)行。這相稱于按TI、T2的順序串行執(zhí)行,根據(jù)可串行化定義,TI和幾的調(diào)度是可串行化的。2)操作②先執(zhí)行的情況與(I)對稱因此,若并發(fā)事務遵守兩段鎖協(xié)議,在不發(fā)生死鎖的情況下,對這些事務的并發(fā)調(diào)度一定是可串行化的。證畢。12.舉例說明,對并發(fā)事務的一個調(diào)度是可串行化的,而這些并發(fā)事務不一定遵守兩段鎖協(xié)議U答:第十章概念模型與E-R方法一、選擇題1、概念模型是現(xiàn)實世界的第一層抽象,這一類DBMS統(tǒng)一管理和控制。5、數(shù)據(jù)庫管理系統(tǒng)的重要功能有哪些?答:數(shù)據(jù)定義功能;數(shù)據(jù)操縱功能;數(shù)據(jù)庫的運營控制管理,數(shù)據(jù)控制涉及:安全(Security)、完整(Integrity).并發(fā)(Concurrency)、恢復(Recovery);數(shù)據(jù)庫的建立和維護功能。6、試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點是什么?答:數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式三級構(gòu)成;外模式(Sub-Schema):用戶的數(shù)據(jù)視圖,是數(shù)據(jù)的局部邏輯結(jié)構(gòu),模式的子集;模式(Schema):所有用戶的公共數(shù)據(jù)視圖,是數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的描述,一個數(shù)據(jù)庫只有一個模式;內(nèi)模式(StorageSchema):又稱存儲模式,數(shù)據(jù)的存儲方式,數(shù)據(jù)庫數(shù)據(jù)在物理結(jié)構(gòu)的描述。數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),使數(shù)據(jù)庫的用戶看到的數(shù)據(jù)庫,與數(shù)據(jù)庫的物理方面,即實際存儲的數(shù)據(jù)庫區(qū)分開來,提高了數(shù)據(jù)的物理獨立性和邏輯獨立性。數(shù)據(jù)與程序的獨立,使得數(shù)據(jù)的定義從應用程序中分離出去,用戶的重點放在模式的定義上;由于數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取途徑等細節(jié),簡化了應用程序的編制。7、定義如下述語:模式:所有用戶的公共數(shù)據(jù)視圖,是數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的描述,一個數(shù)據(jù)庫只有一個模式;外模式:用戶的數(shù)據(jù)視圖,是數(shù)據(jù)的局部邏輯結(jié)構(gòu),模式的子集;內(nèi)模式:又稱存儲模式,數(shù)據(jù)的存儲方式,數(shù)據(jù)庫數(shù)據(jù)在物理結(jié)構(gòu)的描述DML:數(shù)據(jù)操作語言,用戶可以使用DML操作數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢,插入、刪除和修改等。DDL:數(shù)據(jù)定義語言,用戶通過它,可以方便地定義數(shù)據(jù)庫、表、索引、視圖等數(shù)據(jù)對象。8、什么叫數(shù)據(jù)與程序的物理獨立性?什么叫數(shù)據(jù)與程序的邏輯獨立性?為什么數(shù)據(jù)為系統(tǒng)具有數(shù)據(jù)與程序的獨立性?答:存儲結(jié)構(gòu)改變時,使模式保持不變,從而應用程序可以保持不變,稱為物理獨立性。當模式改變時,使外模式保持不變,從而應用程序可以保持不變,稱為邏輯獨立性。由于數(shù)據(jù)庫系統(tǒng)的三級模式和兩級映象結(jié)構(gòu),使得當存儲結(jié)構(gòu)改變時,修改內(nèi)模式/模式映象,使模式保持不變,從而應用程序可以保持不變,實現(xiàn)了物理獨立性;當模式改變時,修改外模式/模式映象,使外模式保持不變,從而應用程序可以保持不變,實現(xiàn)了邏輯獨立性。9、試述數(shù)據(jù)庫系統(tǒng)的組成?答:數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)最著名的模型是(D)。A、層次模型B、關系模型C、網(wǎng)狀模型D、實體-關系模型2、對實體和關體之間的聯(lián)系采用同樣的數(shù)據(jù)結(jié)構(gòu)表達的數(shù)據(jù)模型為(D)A、層次模型B、關系模型C、網(wǎng)狀模型D、實體-關系模型3、在概念模型中的客觀存在并可互相區(qū)別的事務稱(A)。A、實體B、元組C、屬性D、節(jié)點4、區(qū)分不同實體的依據(jù)是(A)。A、名稱B、屬性C、對象D、概念5、公司有多個部門和多個職工,每個職工只能屬于一個部門,一個部門可以有多個職工,從職工到部門的聯(lián)系類型是(C)。A、多對多B、一對一C、一對多6、關系數(shù)據(jù)庫中,實現(xiàn)實體之間的聯(lián)系是通過關系與關系之間的(D)。A、公共索引B、公共存儲C、公共元組D、公共屬性二、填空題L根據(jù)模型應用的不同目的,可以將這些模型劃分為兩類,它們分別屬于兩個不同的層次。第一類是(),第二類(0。2、用()方法來設計數(shù)據(jù)庫的概念模型是數(shù)據(jù)庫概念設計階段廣泛采用的方法。3、概念模型有以下特點()、()、()、()。4、客觀存在并可互相區(qū)別的事務稱為(),它可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。5、惟一標記實體的屬性集稱為()。6、實體之間的聯(lián)系有()、()、()3種。7、假如兩個實體之間具有M:N聯(lián)系,則將它們轉(zhuǎn)換為關系模型的結(jié)果是()關系。8、E-R模型是對現(xiàn)實世界的一種抽象,它的重要萬分是()、聯(lián)系和()。三、簡答題1、什么是概念模型?概念模型的作用是什么?答:概念模型是按用戶的觀點來對數(shù)據(jù)和信息建模,用于信息世界的建模,強調(diào)語義表達能力,概念簡樸清楚;概念模型的作用是:概念模型事實上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言。2、定義并解釋概念模型中以下術語:實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(E-R圖)答:實體:客觀存在并可以互相區(qū)分的事物叫實體。實體型:具有相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。實體集:同型實體的集合稱為實體集。屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。碼:惟一標記實體的屬性集稱為碼。實體聯(lián)系圖(E—R圖):提供了表達實體型、屬性和聯(lián)系的方法:?實體型:用矩形表達,矩形框內(nèi)寫明實體名;?屬性:用橢圓形表達,并用無向邊將其與相應的實體連接起來;?聯(lián)系:用菱形表達,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n)o3、現(xiàn)在二個實體:出版社和作者,這兩個實體之間是多對多的聯(lián)系,請讀者自己設計適當?shù)膶傩?,畫出E-R圖。4、學校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的專家和副專家每人各帶若干研究生,?每個班有若干學生,每個學生選修若干課程,每門課可由若干學生選修。請用E—R圖畫出此學校的概念模型。答:5、某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E—R圖畫出此工廠產(chǎn)品、零件、材料、倉庫的概念模型。答:t第十一章關系數(shù)據(jù)庫設計理論習題一、選擇題1、規(guī)范化理論是關系數(shù)據(jù)庫進行邏輯設計的理論依據(jù),根據(jù)這個理論,關系數(shù)據(jù)庫中的關系必須滿足:每一個屬性都是()A.長度不變的B、不可分解的C、互相關聯(lián)的D、互不相關的2、已知關系式R(A,B,C.D,E)及其上的函數(shù)依賴集合F={A—>D,B—>C,E—>A},該關系模式的候選碼是()A、ABB、BEC、CDD、DE3、關系模式中,滿足2NF的模式()A、也許是INFB、必然是INFC、必然是3NFD、必然是BCNF4、關系模式R中的屬性全是主屬性,則R的最高范式必然是()A、INFB、2NFC、3NFD、BCNF5、消除了部分函數(shù)依賴的1NF的關系模式必然是()A、INFB、2NFC、3NFD、BCNF6、關系模式的候選碼可以有1個或多個,但主碼有()A、多個B、0個C、1個D、1個或多個7、候選碼的主屬可以有()A、多個B、0個C、1個D、1個或多個8、關系數(shù)據(jù)庫規(guī)范化是為了解決關系數(shù)據(jù)中的()的問題引入的。A、提高查詢速度B、插入、刪除異常和數(shù)據(jù)冗余C、保證數(shù)據(jù)的安全性和完整性9、關系的規(guī)范化中,各個范式之間的關系是()。A、1NFW2NFW3NFB、3NFW2NFW1NFC、1NF=2NF=3NFD、1NFW2NFWBCNFW3NF10、學生表(id,name,sex,age,departjd,depart_name),存在的函數(shù)依賴是id{name,sex,age,depart_id};departjddepart_name,其滿足()A、INFB、2NFC、3NFD、BCNF11、設有關系模式R(S,D,M),其是函數(shù)依賴集:F={SD,DM},則關系模式R的規(guī)范化限度最高達成()A、INFB、2NFC、3NFD、BCNF12、設有關系模式R(A,B,C,D),其是函數(shù)依賴集:}F={(A,B)C,CD),則關系模式R的規(guī)范化限度最高達成()A、INFB、2NFC、3NFD、BCNF13、XY,當下列哪一條成立時,稱為平凡的函數(shù)依賴()A、XWYB、YWXC、XAY=(pD、XGY聲cp二、填空題三、簡答題1s理解并給出下列術語的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All—key)、INF、ZNF、3NF、BcNF、多值依賴、4NFo定義1:設R(U)是屬性集U上的關系模式。X,Y是屬性集U的子集。若對于R(U)的任意一個也許的關系r,r中不也許存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)擬定Y或Y函數(shù)依賴于X,記作XY。(即只要X上的屬性值相等,Y上的值一定相等。)術語和記號:XY,但Y不是X的子集,則稱XY是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。XY,但丫是X的子集,則稱XY是平凡的函數(shù)依賴。若XY,貝X叫做決定因素(Determinant)。若XY,YX,則記作X丫。若Y不函數(shù)依賴于X,則記作X丫。定義2:在R(U)中,假如XY,并且對于X的任何一個真子集X、都有XY,則稱Y對X完全函數(shù)依賴若XY,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴定義3:若關系模式R的每一個分量是不可再分的數(shù)據(jù)項,則關系模式R屬于第一范式QNF)。定義4:若關系模式ReiNF,且每一個非主屬性完全函數(shù)依賴于碼,則關系模式RG2NFo(即1NF消除了非主屬性對碼的部分函數(shù)依賴則成為2NF)O定義5:關系模式R<U,F>中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XY,YX,YZ成立,則稱R<U,F>E3NFO定義6:關系模式R<U,F>eiNFo若XY且Y不是X的子集時,X必具有碼,則R<U,F>eBCNFO定義7:關系模式R<U,F>6INF,假如對于R的每個非平凡多值依賴XY(Y不是X的子集,Z=U-X-Y不為空),X都具有碼,則稱R<U,F>e4NFo2、建立一個關于系、學生、班級、學會等諸信息的關系數(shù)據(jù)庫。學生:學號、姓名、出生年月、系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成都初中作文考試題目及答案
- 養(yǎng)老院環(huán)境衛(wèi)生與消毒制度
- 無錫初三物理競賽題目及答案
- 辦公室員工加班與休息時間制度
- 今日英語考試題目及答案
- 數(shù)學書九上四五頁題目及答案
- 教輔資料與課件
- 數(shù)據(jù)庫設計基礎要點解析
- 越南房產(chǎn)制度
- 試塊養(yǎng)護制度
- 造價咨詢保密管理制度
- 冷鏈物流配送合作協(xié)議
- 生物-江蘇省蘇州市2024-2025學年第一學期學業(yè)質(zhì)量陽光指標調(diào)研卷暨高二上學期期末考試試題和答案
- 2024年人教版一年級數(shù)學下冊教學計劃范文(33篇)
- 成都隨遷子女勞動合同的要求
- 萬象城項目總承包述標匯報
- 科普績效考核指標
- 小學英語完形填空訓練100篇含答案
- 牛津閱讀樹4級(30本)目錄
- 填料密封和機械密封講義課件
- 審計報告征求意見書模板
評論
0/150
提交評論