2023年北京科技大学数据库考试题库_第1页
2023年北京科技大学数据库考试题库_第2页
2023年北京科技大学数据库考试题库_第3页
2023年北京科技大学数据库考试题库_第4页
2023年北京科技大学数据库考试题库_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题一、选择题1数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()组成。A、系统分析员B、程序员C、数据库管理员D、操作员2.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是:()A、DBS涉及DB和DBMSB、DBMS涉及DB和DBSC、DB涉及和DBMS、DBSD、DBS就是DB,就是DBMS3.下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的是()oI.人工管理阶段II文献系统阶段III数据为阶段A、I和IIB、只有IIC、II和IIID只有I4.下列4项中,不属于数据库系统特点的是()A、数据共享B、数据完整性C、数据冗余度高D、数据独立性高5.数据库系统的数据独立性体现在()A、不会由于数据的变化而影响到应用程序B、不会由于数据存储结构与数据逻辑结构的变化而影响应用程序C、不会由于存储策略的变化而影响存储结构D、不会由于某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是()A、模式B、内模式C、外模式7.要保证数据库的数据独立性,需要修改的是()A、模式与外模式B、模式与内模式C、三级模式之间的两层映像D、三级模式8.要保证数据库的逻辑数据独立性,需要修改的是()A、模式与外模式之间的映像B、模式与内模式之间的映像C、模式D、三级模式9.用户和应用程序看到的那部分局部逻辑结构和特性的描述是()A、模式B、物理模式C、子模式10.下述()不是DBA的数据库管理员的职责。A、完整性约束说明B、定义数据库模式C、数据库安全D、数据为管理系统设计二、填空题1、数据库系统具有(永久存贮)、(有组织)和(可共享)3个基本特点。2、数据库管理系统是数据库系统的一个重要组成部分,它的功能涉及(数据定义)、(数据操纵)、(数据库运营和管理)、(数据库的建立和维护)。3、数据库系统是指在计算机系统中引入数据库后的系统,一般由(数据库)、(数据库管理系统开发工具)、的供应商号码SNO:nSno((jPno=*P1*((jCOLOR=,红'(P)ooSPJ))4)求没有使用天津供应商生产的红色零件的工程号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语言数据查询,数据操纵,数据定义和数据控制功能于一体,其中CREATE.DROP、ALTER语句是实现哪种功能()。A、数据查义B、数据操纵C、数据定义D、数据控制4、SQL语言中,删除一个视图的命令是()。A、DELETEB、DROPC、CLEARD、REMOVE5、在SQL语言中的视图VIEW是数据库的()A、外模式B、模式C、内模式D、存储模式6、下列的SQL语句中,()不是数据定义语句。AsCREATETABLEB.DROPVIEWCsCREATEVIEWD、GRANT7、若要撤消数据库中已经存在的表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子句的内容是()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、设关系数据库中一个表S的结构为S(SN,CN,grade),其中,SN为学生名,CN为课程名,两者均为字符型;grade为成绩,数值型,取值范围0~100o若要把“张二的化学成绩80分”插入S中,则可用()。A、ADDINTOSVALUES(,张二,‘化学’,'8CT)B、INSERTINTOSVALUES('张二’,‘化学’,'80')C、ADDINTOSVALUES('张二’,化学,,80)D、INSERTINTOSVALUES(弓长二,,‘化学',80)12、设关系数据库中一个表S的结构为S(SN,CN,grade),其中,SN为学生名,CN为课程名,两者均为字符型;grade为成绩,数值型,取值范围0700。若要更正王二的化学成绩为85分,则可用()。A、UPDATESSETGRADE=85WHERESN='王二'ANDCN='化学'B、UPDATESSETGRADE='85'WHERESN='王二'ANDCN=,化学,C、UPDATESGRADE=85WHERESN='王二'ANDCN=,化学'D、UPDATESGRADE=,85,WHERESN='王二'ANDCN二,化学’13、在SQL语言中,子查询是()A、返回单表中数据子集的查询语言;B、选取多表中字段子集的查询语句C、选取单表中字段子集的查询语句;D、嵌入到另一个查询语句之中的查询语句14、有关系S(S#,SNAME,SEX),c(c#,CNAME),SC(S#,C#,GRADE)o其中S#是学号,SNAME是姓名,SEX:性别,C#是课程号,CNAME是课程名称。要查询选修了“数据库”课的全体男学生姓名的SQL语句是:ELECTSNAMEFROMS,C,SCWHERE子句。这里Where子句的内容是()A、s.s#=sc.s#andc.c#=sc.c#andSEX二’男‘andcname二,数据库,B、s.s#=sc.s#andc.c#=sc.c#andSEXIN,男,andcname=,数据库,C、SEX,男,andcname,数据库,D、s.SEX=男,andcname=*数据库,15、若用如下的SQL语句创建了一个表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的中文全称是(结构化查询语言)。2、SQL语言除了具有数据查询和数据操纵功能之外,还具有(数据定义)和(数据控制)的功能,它是一个综合性的功能强大的语言。3、在关系数据库标准SQL中,实现数据检索的语句命令是(select)4、在SQL语言的结构中,(表)有相应的物理存储,而(视图)没有相应的物理存储。5、关系R(A,B,C)和S(A,D,E,F),R和S有相同的属性A,若将关系代数表达式:7iRAr.b,s.d,s.f(R8S)用SQL语言的查询语句表达,则为:SELECTRAR.B.S.D.S.FFROMR.SWHERER.A=S.A6S视图是从(基本表或视图)中导出的表,数据库中实际存放的是视图的(定义)7、关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的(非过程性强)、语言一体化并且是建立在数学理论基础之上。8、设有如下关系表R、S、T:R(BH,XM,XB,DWH),S(DWH,DWM),T(BH,XM,XB,DWH)(1)实现RUS的SQL语句:select*fromRUNIONSELECT*FROMT(2)实现irdwh='100(R)的SQL语句:select*fromrwheredwh=*100(3)实现7Txm,xb(R)的SQL语句:select*xm,xbfromr⑷实现Tixm,dwh(oxb=,女,(R))的SQL语句:selectxm.dwhfromrwherexb=’女,⑸实现R0°S的SQL语句:selectbh,xm,xb,r.dwh,s.dwh,dwmfromr,swherer.dwh=s.dwh(6)实现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语言的特点。⑴综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取途径,存取途径的选择以及SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,并且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它可以独立地用于联机交互的使用方式;作为嵌入式语言,它可以嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。2、试述SQL的定义功能。答:SQL的数据定义功能涉及定义表、定义视图和定义索引。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)求没有使用天津供应商生产的红色零件的工程号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使用的各种零件的名称及其数量。SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJJNO='J2'⑸找出上海厂商供应的所有零件号码。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海,⑹出使用上海产的零件的工程名称。SELECTJNAMEFROMSPJSJWHERES.SNO=SPJ.SNOANDSCITY=‘上海'ANDJJNO=SPJJNO⑺找出没有使用天津产的零件的工程号码。注意: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、什么是基本表?什么是视图?两者的区别和联系是什么?基本表是自身独立存在的表,在SQL中一个关系就相应一个表。视图是从一个或几个基本表导出的表。视图自身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图相应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。7、试述视图的优点。答:(I)视图可以简化用户的操作;(2)视图使用户能以多种角度看待同一数据;(3)视图对重构数据库提供了一定限度的逻辑独立性;(4)视图可以对机密数据提供安全保护。8、所有的视图是否都可以更新?为什么?答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。由于有些视图的更新不能惟一故意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.9.哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明。答:基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如有一学生视图,由学号、姓名组成,则可以对其进行修改。假如有一视图是学号、平均成绩组成,则不能对平均成绩进行修改。10、请为三建工程项目建立一个供应情况的视图,涉及供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。CREATEVIEWVSPASSELECTSNO5PNO,QTYFROMSPJ,JWHERESPJ.JNO=J.JNOANDJJNAME='H^'针对该视图,完毕下列查询:⑴找出三建工程项目使用的各种零件代码及其数量。SELECTDISTPNO.QTYFROMVSP⑵找出供应商S1的供应情况。SELECTDIST*FROMVSPWHERESNO='S1'第五章数据库安全性习题一、选择题L以下()不属于实现数据库系统安全性的重要技术和方法。A,存取控制技术B.视图技术C.审计技术D.出入机房登记和加防盗门2.SQL中的视图机制提高了数据库系统的()A.完整性B.并发控制C.隔离性D.安全性3.SQL语言的GRANT和REVOKE语句重要是用来维护数据库的()A.完整性B.可靠性C.安全性D.一致性4.在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活.A.范围越小B.约束越细致C.范围越大D.约束范围大二.填空题1.数据库的安全性是指保护数据库以防止不合法的使用所导致的(数据泄漏、更改和破坏)2.计算机系统有三类安全性问题,即(技术安全类)、(管理安全类)和(政策法律类)o3.用户标记和鉴别的有很多种,并且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入(用户名)和(口令)来鉴别用户。4.(用户权限定义)和(合法权检查机制)一起组成DBMS的安全子系统。5.当前大型的DBMS一般都支持(自主存取控制(DAC),有些DBMS同时还支持(强制存取控制(MAC))。6,用户权限是由两个要素组成(数据对象)和(操作类型)07.在数据库系统中,定义存取权限称为(授权)。SQL语言用(GRANT)语句向用户授予对数据的操作权限,用(REVOKE)语句收回授予的权限。8.对数据库模式的授权由DBA在(创建用户)时实现。9.一个DBA用户可以拥有(CREATEUSER)、(CREATESCHEMA)和(CREATETABLE)权限,一个RESOURCE可以拥有(CREATETABLE)权限。10.数据库角色是被命名的一组与(数据库操作)相关的权限,角色是(权限)的集合。11.通过(视图机制)可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定限度的安全保护。12.审计一般可以分为(用户级)审计和(系统级)审计。三、简答题1、什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所导致的数据泄露、更改或破坏。2、数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,并且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的重要指标之一。数据库的安全性和计算机系统的安全性,涉及操作系统、网络系统的安全性是紧密联系、相互支持的,3、试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(I)用户标记和鉴别:该方法由系统提供一定的方式让用户标记自己的名字或身份。每次用户规定进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。(2)存取控制:通过用户权限定义和合法权检查保证只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ级中的自主存取控制(DAC),BI级中的强制存取控制(MAC)o(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定限度的安全保护。(4)审计:建立审计日记,把用户对数据库的所有操作自动记录下来放入审计日记中,DBA可以运用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。(5)数据加密:对存储和传输的数据进行加密解决,从而使得不知道解密算法的人无法获知数据的内容。4、有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理我,地址,电话号)请用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)用户张新具有修改这两个表的结构的权力。GRANTALTERTABLEON职工部门TO张新;(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。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、什么是数据库的审计功能,为什么要提供审计功能?答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日记中。由于任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总也许存在。运用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。第六章习题1、完整性检查和控制的防范对象是(A、C),防止它们进入数据库。安全性控制的防范对象是(B、D),防止它们对数据的存取。A.不合语义的数据B.非法用户C.不对的的数据D,非法操作2、找出下面SQL命令中的数据授权命令()A.GRANTB.COMMITC.UPDATED.SELECT3,下述SQL语句中,允许用户定义新关系时引用其他关系的主码作为外码的()。A.INSERTB.DELETEC.REFERENCESD.SELECT4.下述SQL命令的短语中,定义属性上约束条件的是()。A.NOTNULL短语B.UNIQUE短语C.CHECK短语D.HAVING短语二、填空题1.数据库的完整性是指数据的(对的性)和(相容性)o2.SQL标准使用了一系列概念来描述完整性,涉及关系模型的(实体完整性)、(参数完整性)和用户定义完整性)3.数据库完整性的定义一般由SQL的(DDL)语句来实现,它们作为数据训模式的一部分存入(数据字典)o4.关系模型的实体完整性在(DDL)中用(primarykey)定义。5.为了避免对基本表进行全表扫描,RDMS核心一般都对(主键)自动建立一个(索引)6.关系模型的参照完整性在(DDL)用(foreignkey)短语定义哪些列为外码歹I用(references)短语指明这些外码参照哪些表的主码。7、补充下表中也许破坏参照完整性的情况及违约解决的策略。被参照列(如student)参照表(如SC)违约解决也许破坏参照完整性插入元组拒绝也许破坏参照完整性修改外码值拒绝删除元组也许破坏参照完整性拒绝/级联修改/设立为空值修改主码值也许破坏参照完整性拒绝/级联修改/设立为空值三、简答题1、什么是数据库的完整性?答:数据库的完整性是指数据的对的性和相容性。2、数据库的完整性概念和数据库的安全性概念有什么区别和联系?答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:eInGarba:eout)所导致的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。3、什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应当满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明,涉及以下几个方面:(I)对数据类型的约束,涉及数据的类型、长度、单位、精度等;(2)对数据格式的约束;(3)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束。静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。静态关系约束是在一个关系的各个元组之间或者若干关系之间经常存在各种联系或约束。常见的静态关系约束有:(I)实体完整性约束;(2)参照完整性约束;(3)函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件,涉及下面两方面:(I)修改列定义时的约束;(2)修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。4、RDBMS的完整性控制机制应具有哪些功能?答:DBMS的完整性控制机制应具有三个方面的功能:(I)定义功能,即提供定义完整性约束条件的机制;(2)检查功能,即检查用户发出的操作请求是否违反了完整性约束条件;(3)违约反映:假如发现用户的操作请求使数据违反了完整性约束条件,则采用一定的动作来保证数据的完整性。(应用系统)和(数据库管理员)构成。4、数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了3个阶段:(人工管理阶段)、(文献系统阶段)、(数据库阶段)。5、数据库具有数据结构化、最小的(冗余度)、较高的(共享性)等特点。6、DBMS还必须提供(数据的安全)保护、(完整性)检查、(并发控制)、(数据库恢复)等数据控制功能。7、模式是数据库中全体数据的(逻辑结构)和(特性)的描述,它仅仅涉及到(型)的描述,不涉及到具体的值。8、三级模式之间的两层映像保证了数据库系统中的数据可以具有较高的(逻辑独立性)和(物理独立性)三、简答题1、试述数据、数据库、数据库管理系统、数据库系统的概念。数据:是数据库中存储的基本对象,种类可以是数字、文字、图形、图象、声音、语言等。数据库:长期存储在计算机内,有组织可共享的数据集合数据库管理系统(DBMS)提供数据的定义,操作,描述的语言,尚有数据库的运营管理,建立以及维护,一般指数据库管理软件如SqIServer.orcakMySql数据库系统(DBS):一般指引入数据库后的系统构成,一般由数据库。数据库管理系统,应用系统,数据库管理员和用户构成2、使用数据库系统有什么好处?答:使用数据库系统的好处:数据冗余度小,节省存储空间,共享性高,数据独立性和物理独立性强。3、试述文献系统与数据库系统的区别和联系。答:文献系统把数据组织成互相独立的数据文献,实现了记录内的结构性,但整体无结构;而数据库系统实现整体数据的结构化,这是数据库的重要特性之一,也是数据库系统与文献系统的本质区别。在文献系统中,数据冗余度大,浪费存储空间,容易导致数据的不一致;数据库系统中,数据是面向整个系统,数据可以被多个用户、多个应用共享使用,减少了数据冗余。文献系统中的文献是为某一特定应用服务的,当要修改数据的逻辑结构时,必须修改应用程序,修改文献结构的定义,数据和程序之间缺少独立性,•数据库系统中,通过DBMS的两级映象实现了数据的物理独立性和逻辑独立性,把数据的定义从程序中分离出去,减少了应用程序的维护和修改。文献系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文献系统基础上发展而来。4、试述数据库系统的特点。答:面向全组织的数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由5、RDBMS在实现参照完整性时需要考虑哪些方面?答:RDBMs在实现参照完整性时需要考虑以下几个方面:(I)外码是否可以接受空值。(2)册I除被参照关系的元组时的考虑,这时系统也许采用的作法有三种:I)级联删除(CASCADES);2)受限删除(RESTRICTED);3)置空值删除(NULLIFIES)o(3)在参照关系中插入元组时的问题,这时系统也许采用的作法有:I)受限插入;2)递归插入。(4)修改关系中主码的问题。一般是不能用UPDATE语句修改关系主码的。假如需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。假如允许修改主码,一方面要保证主码的惟一性和非空,否则拒绝修改。然后要区分是参照关系还是被参照关系。6、假设有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),职工号为主码,部门(部门号,名称,经理我,地址,电话号),部门号为主码用SQL语言定义这两个关系模式,规定在模式中完毕以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过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、在关系系统中,当操作违反实体完整性、参照完整性和用户定义性约束条件时,一般是如何分别进行解决的?答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行解决。而对于违反参照完整性的操作,并不都是简朴地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的对的性。第七章习题一、选择题1、一个事务的执行,要么所有完毕,要么所有不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()oA,原子性B-致性C.独立性D.持久性2、表达两个或多个事务可以同时运营而不互相影响的是()0A原子性B.一致性C.独立性D.持久性3、事务的连续性是指()A.事务中涉及的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作对并发的其他事务是隔离的D.事务必须使数据库从一个一致性状态变成另一个一致性状态.4、SQL语言中的COMMIT语句的重要作用是()。A结束程序B返回系统C提交事务D存储数据5、SQL语言中用()语句实现事务的回滚。ACREATETABLEBROLLBACKCGRANT和REVOKEDCOMMIT6.若系统在运营过程中,由于某种硬件故障,使存储在外存上的数据部分损失或所有损失,这种情况称为()oA介质故障B运营故障C系统故障D事务故障7、在DBMS中实现事务持久性的子系统是()oA安全管理子系统B完整性管理子系统c并发控制子系统D恢复管理子系统8、后援副本的作用是()。A保障安全性B一致性控制C故障后的恢复D数据的转储9、事务日记用于保存()oA程序运营过程B程序的执行结果C对数据的更新操作D对数据的查询操作10、数据库恢复的基础是运用转储的冗余数据。这些转储的冗余数据涉及()oA数据字典,应用程序,数据库后备副本Bo数据字典、应用程序、审计档案C、日记文献、数据库后备副本D、数据字典、应用程序、日记文献二、填空题1、(事务)是一系列的数据库操作,是数据库应用程序的基本逻辑单元。2、事务解决技术重要涉及(数据库恢复)技术和(并发控制)技术。3、在SQL语言中,定义事务控制的语句重要有(begintransaction)、(commit)、和(rollback)。4、事务具有4个特性,它们是(原子性)、(一致性)、(隔离性)和(持续性)。这4个特性也简称为(ACID)特性。5、把数据库从错误状态恢复到某一已知的对的状态(亦称来一致状态)的功能,这就是(数据库的恢复)6、数据库系统中也许发生各种各样的故障,大体可以分为(事务故障)、(系统故障)、(介质故障)和(计算机病毒)o7、建立冗余数据最常用的技术是(数据转储)和(登录日记文献)。通常在一个数据库系统中,这两种方法是一起使用的。8、转储可分为(静态转储)和(动态转储),转储方式可以有(海量转储)和(增量转储)。9、(日志文献)是用来记录事务对数据库的更新操作的文献。重要有两种格式:以(记录)为单位的日记文献和以(数据块)为单位的日记文献。三、简答题1、试述事务的概念及事务的4个特性答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有4个特性:原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和连续性(Durability)。这4个特性也简称为ACID特性。原子性:事务是数据库的逻辑工作单位,事务中涉及的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。连续性:连续性也称永久性(Perfnanence),指一个事务一旦提交,它对数据库中数据的改变就应当是永久性的。接下来的其他操作或故障不应当对其执行结果有任何影响。.为什么事务非正常结束时会影响数据库数据的对的性,请列举一例说明之。答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。假如数据库系统运营中发生故障,有些事务尚未完毕就被迫中断,这些未完毕事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处在一种不对的的状态,或者说是不一致的状态。例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。则可以定义一个事务T,T涉及两个操作;QI=QI—Q,Q2=Q2+Qo假如T非正常终止时只做了第一个操作,则数据库就处在不一致性状态,库存量无缘无端少了Qo.数据库中为什么要有恢复子系统?它的功能是什么?答:由于计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则导致运营事务非正常中断,影响数据库中数据的对的性,重则破坏数据库,使数据库中所有或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的对的状态(亦称为一致状态或完整状态)。.数据库运营中也许产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中也许发生各种各样的故障,大体可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。.数据库恢复的基本技术有哪些?答:数据转储和登录日记文献是数据库恢复的基本技术。当系统运营过程中发生故障,运用转储的数据库后备副本和日记文献就可以将数据库恢复到故障前的某个一致性状态。.数据库转储的意义是什么?试比较各种数据转储方法。答:数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运营事务时进行的转储操作,如上图所示。静态转储简朴,但必须等待正运营的用户事务结束才干进行。同样,新的事务必须等待转储结束才干执行。显然,这会减少数据库的可用性。动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺陷,它不用等待正在运营的用户事务结束,也不会影响新事务的运营。但是,转储结束时后援副本上的数据并不能保证对的有效。由于转储期间运营的事务也许修改了某些数据,使得后援副本上的数据不是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日记文献(109file)0这样,后援副本加上日记文献就能得到数据库某一时刻的对的状态。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储所有数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简朴些。但假如数据库很大,事务解决又十分频繁,则增量转储方式更实用更有效。.什么是日记文献?为什么要设立日记文献?答:(1)日记文献是用来记录事务对数据库的更新操作的文献。(2)设立日记文献的目的是:进行事务故障恢复,•进行系统故障恢复;协助后备副本进行介质故障恢复。.登记日记文献时为什么必须先写日记文献,后写数据库?答:把对数据的修改写到数据库中和把表达这个修改的日记记录写到日记文献中是两个不同的操作。有也许在这两个操作之间发生故障,即这两个写操作只完毕了一个。假如先写了数据库修改,而在运营记录中没有登记这个修改,则以后就无法恢复这个修改了。假如先写日记,但没有修改数据库,在恢复时只但是是多执行一次UNDO操作,并不会影响数据库的对的性。所以一定要先写日记文献,即一方面把日记记录写到日记文献中,然后写数据库的修改。.针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务故障的恢复是由DBMS执行,恢复环节是:自动完毕的,对用户是透明的。(1)反向扫描文献日记(即从最后向前扫描日记文献),查找该事务的更新操作;(2)对该事务的更新操作执行逆操作,即将日记记录中“更新前的值”写入数据库;(3)继续反向扫描日记文献,做同样解决;(4)如此解决下去,直至读到此事务的开始标记,该事务故障的恢复就完毕了。系统故障的恢复:系统故障也许会导致数据库处在不一致状态:一是未完毕事务对数据库的更新也许已写入数据库;二是已提交事务对数据库的更新也许还留在缓冲区,没来得及写入数据库。因此恢复操作就是要撤消(UNDO)故障发生时未完毕的事务,重做(REDO)已完毕的事务。系统的恢复环节是:(1)正向扫描日记文献,找出在故障发生前已经提交的事务队列(REDO队列)和未完毕的事务队列(UNDO队列)。(2)对撤消队列中的各个事务进行UNDO解决。进行UNDO解决的方法是,反向扫描日记文献,对每个UNDO事务的更新操作执行逆操作,即将日记记录中“更新前的值“BeforeImage)写入数据库。(3)对重做队列中的各个事务进行REDO解决。进行REDO解决的方法是:正向扫描日记文献,对每个REDO事务重新执行日记文献登记的操作。即将日记记录中“更新后的值”Afte.Image)写入数据库。介质故障的恢复:介质故障是最严重的一种故障。恢复方法是重装数据库,然后重做已完毕的事务。具体过程是:(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态;(2)DBA装入转储结束时刻的日记文献副本;(3)DBA启动系统恢复命令,由DBMS完毕恢复功能,即重做已完毕的事务。第八章并发控制习题一、选择题1、解决并发操作带来的数据不一致问题普遍的采用(A)技术。A封锁B存取控制C恢复D协商2、下列不属于并发操作带来的问题是(C)A丢失修改B不可反复读C死锁D脏读3、DBMS普遍采用(C)方法来保证调度的对的性。A索弓IB授权C封锁DH记4、事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是(B)。A一级封锁协议B、二级封锁协议C、三级封锁协议D、零级封锁协议5、假如事务T获得了数据项Q上的排它锁,则T对Q(C)A、只能读不能写B、只能写不能读C、既可读又可写D、不能读也不能写6、设事务T1和T2对数据库中的数据A进行操作,也许有如下几种情况,请问哪一种不会发生冲突操作(D)A、T1正在写A,T2要读AB、T1正在写A,T2也要写AC、T1正在读A,T2要写AD、T1正在读A,T2要读A7、假如有两个事务同时对数据库中的同一数据进行操作,不会引起冲突的操作是(D)。A、一个是DELETE,一个是SELECTB、一个是SELECT,一个是DELETEC、两个都是updateD、两个都是SELECT二、填空题1、并发操作带来的数据不一致性涉及:()、()和()。2、多个事务的并发执行是对的的,当且仅当其结果与按某一顺序串行地执行它们时的结果相同,我们称这种调度策略为()的调度3、基本的封锁类型有二种:()和()。4、在数据库并发控制中,两个或多个事务同时处在互相等待状态,称为(死锁)5、()被称为封锁的粗度。三、简答题1、在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运营。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就也许会存取和存储不对的的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。2.并发操作也许会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性涉及三类:丢失修改、不可反复读和读“脏’夕数据。(I)丢失修改(lostupdate)两个事务TI和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)TI提交的结果,导致TI的修改被丢失。(2)不可反复读(Non—RepeatableRead)不可反复读是指事务TI读取数据后,事务几执行更新操作,使TI无法再现前一次读取结果。(3)读“脏”数据(DirtyRead)读“脏,夕数据是指事务TI修改某一数据,并将其写回磁盘,事务几读取同一数据后,TI由于某种因素被撤消,这时TI已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不对的的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。.什么是封锁?基本的封锁类型有几种?试述它们的含义。答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。基本的封锁类型有两种:排它锁(ExclusiveLocks,简称x锁)和共享锁(ShareLocks,简称S锁)。排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。.如何用封锁机制保证数据的一致性?答:DBMS在对数据进行读、写操作之前一方面对该数据执行封锁操作,例如下图中事务TI在对A进行修改之前先对A执行xock(A),即对A力口x锁。这样,当几请求对A力口x锁时就被拒绝,几只能等待TI释放A上的锁后才干获得对A的x锁,这时它读到的A是TI更新后的值,再按此新的A值进行运算。这样就不会丢失TI的更新。DBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可反复读和读“脏’夕数据等数据不一致性。.什么是活锁?什么是死锁?答:假如事务TI封锁了数据R,事务几又请求封锁R,于是几等待。几也请求封锁R,当TI释放了R上的封锁之后系统一方面批准了几的请求,几仍然等待。然后几又请求封锁R,当几释放了R上的封锁之后系统又批准了几的请求……几有也许永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,事实上也许被激活。假如事务TI封锁了数据RI,几封锁了数据凡,然后TI又请求封锁几,因几已封锁了几,于是TI等待几释放几上的锁。接着几又申请封锁RI,因TI已封锁了RI,几也只能等待TI释放RI上的锁。这样就出现了TI在等待几,而几又在等待T}的局面,T}和几两个事务永远不能结束,形成死锁。.试述活锁的产生因素和解决方法。答:活锁产生的因素:当一系列封锁不能按照其先后顺序执行时,就也许导致一些事务无限期等待某个封锁,从而导致活锁。避免活锁的简朴方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后顺序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是:假如一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简朴,但有也许误判死锁,事务因其他因素长时间等待超过时限时,系统会误认为发生了死锁。若时限设立得太长,又不能及时发现死锁发生。DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个解决死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运营下去。当然,对撤消的事务所执行的数据修改操作必须加以恢复。.什么样的并发调度是对的的调度?答:可串行化(Serializable)的调度是对的的调度。可串行化的调度的定义:多个事务的并发执行是对的的,当且仅当其结果与按某一顺序串行执行它们时的结果相同,称这种调度策略为可串行化的调度。9.设TI,几,几是如下的3个事务:Tl:A:=A+2;T2:A:=A*2;T3:A:=A**2;(A<-A*A)设A的初值为0。(I)若这3个事务允许并行执行,则有多少也许的对的结果,请一一列举出来。答:A的最终结果也许有2、4、8、16。由于串行执行顺序有TIT2T3、TIT3T2、T2T1T3、T2T3TI.T3T1T2.T3T2Tlo相应的执行结果是16、8・。(2)请给出一个可串行化的调度,并给出执行结果答:最后结果A为16,是可串行化的调度。(3)请给出一个非串行化的调度,并给出执行结果。答:最后结果A为0,为非串行化的调度。(4)若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。答:(5)若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。答:11.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。证明:一方面以两个并发事务TI和T2为例,存在多个并发事务的情形可以类推。根据可串行化定义可知,事务不可串行化只也许发生在下列两种情况:(I)事务TI写某个数据对象A,T2读或写A;(2)事务TI读或写某个数据对象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)假如操作①先执行,则TI获得锁,T2等待由于遵守两段锁协议,TI在成功获得x和Y中所有对象及非潜在冲突对象的锁后,才会释放锁。这时假如存在wex或Y,T2已获得w的锁,则出现死锁;否则,TI在对x、Y中对象所有解决完毕后,T2才干执行。这相称于按TI、T2的顺序串行执行,根据可串行化定义,TI和几的调度是可串行化的。2)操作②先执行的情况与(I)对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。证毕。12.举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议U答:第十章概念模型与E-R方法一、选择题1、概念模型是现实世界的第一层抽象,这一类DBMS统一管理和控制。5、数据库管理系统的重要功能有哪些?答:数据定义功能;数据操纵功能;数据库的运营控制管理,数据控制涉及:安全(Security)、完整(Integrity).并发(Concurrency)、恢复(Recovery);数据库的建立和维护功能。6、试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成;外模式(Sub-Schema):用户的数据视图,是数据的局部逻辑结构,模式的子集;模式(Schema):所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模式;内模式(StorageSchema):又称存储模式,数据的存储方式,数据库数据在物理结构的描述。数据库系统三级模式结构,使数据库的用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,提高了数据的物理独立性和逻辑独立性。数据与程序的独立,使得数据的定义从应用程序中分离出去,用户的重点放在模式的定义上;由于数据的存取由DBMS管理,用户不必考虑存取途径等细节,简化了应用程序的编制。7、定义如下述语:模式:所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模式;外模式:用户的数据视图,是数据的局部逻辑结构,模式的子集;内模式:又称存储模式,数据的存储方式,数据库数据在物理结构的描述DML:数据操作语言,用户可以使用DML操作数据实现对数据库的基本操作,如查询,插入、删除和修改等。DDL:数据定义语言,用户通过它,可以方便地定义数据库、表、索引、视图等数据对象。8、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据为系统具有数据与程序的独立性?答:存储结构改变时,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。当模式改变时,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。由于数据库系统的三级模式和两级映象结构,使得当存储结构改变时,修改内模式/模式映象,使模式保持不变,从而应用程序可以保持不变,实现了物理独立性;当模式改变时,修改外模式/模式映象,使外模式保持不变,从而应用程序可以保持不变,实现了逻辑独立性。9、试述数据库系统的组成?答:数据库系统一般由数据库、数据库管理系统(及其开发最著名的模型是(D)。A、层次模型B、关系模型C、网状模型D、实体-关系模型2、对实体和关体之间的联系采用同样的数据结构表达的数据模型为(D)A、层次模型B、关系模型C、网状模型D、实体-关系模型3、在概念模型中的客观存在并可互相区别的事务称(A)。A、实体B、元组C、属性D、节点4、区分不同实体的依据是(A)。A、名称B、属性C、对象D、概念5、公司有多个部门和多个职工,每个职工只能属于一个部门,一个部门可以有多个职工,从职工到部门的联系类型是(C)。A、多对多B、一对一C、一对多6、关系数据库中,实现实体之间的联系是通过关系与关系之间的(D)。A、公共索引B、公共存储C、公共元组D、公共属性二、填空题L根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是(),第二类(0。2、用()方法来设计数据库的概念模型是数据库概念设计阶段广泛采用的方法。3、概念模型有以下特点()、()、()、()。4、客观存在并可互相区别的事务称为(),它可以是具体的人、事、物,也可以是抽象的概念或联系。5、惟一标记实体的属性集称为()。6、实体之间的联系有()、()、()3种。7、假如两个实体之间具有M:N联系,则将它们转换为关系模型的结果是()关系。8、E-R模型是对现实世界的一种抽象,它的重要万分是()、联系和()。三、简答题1、什么是概念模型?概念模型的作用是什么?答:概念模型是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简朴清楚;概念模型的作用是:概念模型事实上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。2、定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R图)答:实体:客观存在并可以互相区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标记实体的属性集称为码。实体联系图(E—R图):提供了表达实体型、属性和联系的方法:•实体型:用矩形表达,矩形框内写明实体名;•属性:用椭圆形表达,并用无向边将其与相应的实体连接起来;・联系:用菱形表达,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)o3、现在二个实体:出版社和作者,这两个实体之间是多对多的联系,请读者自己设计适当的属性,画出E-R图。4、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的专家和副专家每人各带若干研究生,•每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E—R图画出此学校的概念模型。答:5、某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E—R图画出此工厂产品、零件、材料、仓库的概念模型。答:t第十一章关系数据库设计理论习题一、选择题1、规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()A.长度不变的B、不可分解的C、互相关联的D、互不相关的2、已知关系式R(A,B,C.D,E)及其上的函数依赖集合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、消除了部分函数依赖的1NF的关系模式必然是()A、INFB、2NFC、3NFD、BCNF6、关系模式的候选码可以有1个或多个,但主码有()A、多个B、0个C、1个D、1个或多个7、候选码的主属可以有()A、多个B、0个C、1个D、1个或多个8、关系数据库规范化是为了解决关系数据中的()的问题引入的。A、提高查询速度B、插入、删除异常和数据冗余C、保证数据的安全性和完整性9、关系的规范化中,各个范式之间的关系是()。A、1NFW2NFW3NFB、3NFW2NFW1NFC、1NF=2NF=3NFD、1NFW2NFWBCNFW3NF10、学生表(id,name,sex,age,departjd,depart_name),存在的函数依赖是id{name,sex,age,depart_id};departjddepart_name,其满足()A、INFB、2NFC、3NFD、BCNF11、设有关系模式R(S,D,M),其是函数依赖集:F={SD,DM},则关系模式R的规范化限度最高达成()A、INFB、2NFC、3NFD、BCNF12、设有关系模式R(A,B,C,D),其是函数依赖集:}F={(A,B)C,CD),则关系模式R的规范化限度最高达成()A、INFB、2NFC、3NFD、BCNF13、XY,当下列哪一条成立时,称为平凡的函数依赖()A、XWYB、YWXC、XAY=(pD、XGY声cp二、填空题三、简答题1s理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All—key)、INF、ZNF、3NF、BcNF、多值依赖、4NFo定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个也许的关系r,r中不也许存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数拟定Y或Y函数依赖于X,记作XY。(即只要X上的属性值相等,Y上的值一定相等。)术语和记号:XY,但Y不是X的子集,则称XY是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。XY,但丫是X的子集,则称XY是平凡的函数依赖。若XY,贝X叫做决定因素(Determinant)。若XY,YX,则记作X丫。若Y不函数依赖于X,则记作X丫。定义2:在R(U)中,假如XY,并且对于X的任何一个真子集X、都有XY,则称Y对X完全函数依赖若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式QNF)。定义4:若关系模式ReiNF,且每一个非主属性完全函数依赖于码,则关系模式RG2NFo(即1NF消除了非主属性对码的部分函数依赖则成为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、建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论