《石大070116数据库原理期末复习题.docx》由会员分享,可在线阅读,更多相关《石大070116数据库原理期末复习题.docx(18页珍藏版)》请在课桌文档上搜索。
1、数据库原理课程综合复习资料一、单选题1当数据库的存储结构改变了,由数据库管理员对O映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。A.模式B.外模式/模式C.模式/内模式D用户模式答案:C2.在数据库管理技术经历了人工管理、文件系统和()。A.DBMSB.网状系统C.数据库系统D.关系系统答案:C3.设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数是O,A.400B.10000C.30000D.90000答案:C4.设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是()。A.11(R)811n(三)B.RUSC.11lt
2、(R)11b(三)D.RooS答案:B5.设有如下图所示的关系R,经操作VIA,B(OlH)(R)(II为投影运算符,。为“选择”)的运算结果是OoABCaCbbCdABadbaABabCbABadda答案:c6.在关系模式中,如果属性A和B存在1对1的联系,则说()。A.AfBB.B-AC.ABD.以上都不是答案:C7.从E-R模型向关系模型转换时,一个M:N联系转换为关系模式时,该模式的关键字是()。A.M端实体的关键字B.N端实体的关键字C.M端实体的关键字与N端实体的关键字的组合D.重新选取其他属性答案:C8五种基本关系代数运算是()。A.U,-,X,oB.U,-,oC.U,X,oDU
3、,Q答案:A9.设有两个事务Tl、T2,并发操作如图所示,下面评价正确的是()。TlT2(1)读A=1O(2)读A=1O(3)=5写回(4)A=A-8写回A.没问题B.丢失修改C.不能重复读D.读脏数据答案:B10.下列聚集函数中不忽略空值(null)的是()。A.SUM(列名)B.MAX(列名)C.COUNT(*)D.AVG(列名)答案:C11数据库中建立索引的目的是为了()。A.加快建表速度B.加快存取速度C.提高安全性D.节省存储空间答案:B12.个关系中如果有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,称这个属性为()。A.码B.数据项C.主属性D.主属性值答案:A13.关
4、系模式R中的属性全部是主属性,则R的最高范式必定是()。A.2NFB.3NC.BCNFD.4NF答案:B14.数据库中只存放视图的()。A.操作B.对应的数据C.定义D.限制答案:C15.对数据对象施加封锁,可能会引起活锁和死锁的问题。避免活锁的简单方法是()。A.顺序封锁法B.先来先服务C.优先级低先服务D.优先级高先服务答案:B二、判断题1.数据库系统的各类人员的数据视图都是相同的。答案:错2.在关系数据库中,关系模式是型,关系是值。答案:对3.外键一定是同名属性,且不同关系中的同名属性也一定是外键。答案:错4.主码是一种候选码,主码中的属性个数没有限制。答案:对5.一个关系中不可能出现两
5、个完全相同的元组是由实体完整性规则确定的。答案:错6.视图是观察数据的一种方法,只能基于基本表建立。答案:错7.视图可以看成是虚表,因为它是从基表中提取数据,自己不存储数据。答案:对8.函数依赖具有传递性。答案:对9.在一个关系R中,若存在:学号一系号,系号一系主任,则学号不能够函数决定系主任。答案:错10.个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据冗余,但插入、删除和修改操作能够正常进行。答案:错11.由概念设计进入逻辑设计时,原来的多对多联系通常都需要转换成对应的基本表。答案:对12.对数据库的操作要求以运行日志为依据。答案:错13.转储是一种恢复数据库的有效手段,DBA应频
6、繁地进行数据转储操作。答案:错14.DBMS提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的完整性。答案:错15.用户竞争相同资源时不会发生死锁。答案:错16.在文件系统中不容易做到数据共享,而在数据库系统中容易做到数据共享。答案:对17.在关系数据模型中,实体与实体之间的联系用一张二维表格来表示。答案:对18.在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。答案:对19.由概念设计进入逻辑设计时,原来的实体不需要转换成对应的基本表或视图。答案:错20.如果事务T获得了数据项R上的排他锁,则T对R只能读不能写。答案:错三、问答题1.层次模型、网状模型和关系
7、模型这3种基本数据模型是根据什么来划分的?答案:数据模型是现实世界中各种实体之间存在联系的客观反映,是用记录描述实体信息的基本结构,它要求实体和记录一一对应:同一记录类型描述同一类实体且必须是同质的。目前应用在数据库技术中的模型有关系、网状和层次模型,它们是依据描述实体与实体之间联系的不同方式来划分的:用二维表格来表示实体和实体之间联系的模型叫做关系模型;用图结构来表示实体和实体之间联系的模型叫做网状模型;用树结构来表示实体和实体之间联系的模型叫做层次模型。2.所有的视图是否都可以更新?为什么?答案:更新视图是指通过视图来插入、删除和修改数据。由于视图是不实际存储数据的虚表,因此对视图的更新最
8、终要转换为对基本表的更新。为防止用户通过视图对数据进行增加、删除、修改,有意无意地对不属于视图范围的基本表数据进行操作,所以一些相关措施使得不是所有的视图都可以更新。在SQL中,允许更新的视图在定义时,必须加上也THCHECKoPTION子句,这样在视图上增删改数据时,DBMS会检查视图定义中的条件,若不满足条件,则拒绝执行该操作。3.数据库设计的需求分析阶段是如何实现的?答案:需求分析大致可分为3步来完成,即需求信息的收集、分析整理和评审。需求信息的收集是要了解组织的机构设置、主要业务活动和职能,确定组织的目标、大致工作流程和业务流程的划分。需求信息的分析整理就是把收集到的信息用数据流图或规
9、范表格的形式转化为下一阶段设计工作可用的形式信息。评审即确认某一阶段的任务是否全部完成,以避免重大的疏漏或错误。4.事务的COMMIT操作和ROLLBACK操作各做些什么事情?答案:在应用程序中,事务以BEGINTRANSACTIoN语句开始,以COMMIT语句或ROLLBACK语句结束。COMMIT表示事务成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施。RoLLBACK表示事务不成功地结束(应该“回退”),此时告诉系统,己发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤消,数据库恢复该事务到初始状态。5.UNDO操作和R
10、EDO操作各做些什么事情?答案:在恢复操作中,REDO操作称为重做,UNDO操作称为撤消。如果数据库被破坏,利用日志文件执行REDO操作,将两个数据库状态之间的所有修改重新做一遍。这样,建立了新的数据库,同时也没丢失对数据库的更新操作。REDO处理的方法是正向扫描日志文件,重新执行登记的操作。如果数据库未被破坏,但某些数据可能不可靠,这时,可通过日志文件执行REDo操作,把已经结束的、不可靠的事务进行REDO处理。UNDO处理的方法是反向扫描日志文件,对每个UNDo事务的更新操作执行逆操作,即对己插入的新记录执行删除操作,对己删除的记录重新插入,对己修改的数据库用旧值代替新值。6.死锁的发生是
11、坏事还是好事?试说明理由。如何解除死锁状态?答案:在DBS运行时,死锁状态是我们不希望发生的,因此死锁的发生本身是一件坏事。但是坏事可以转化为好事。如果我们不让死锁发生,让事务任意并发执行下去,那么有可能破坏数据库中的数据,或用户读了错误的数据。从这个意义上讲,死锁的发生是一件好事,能防止错误的发生。在发生死锁后,系统的死锁处理机制和恢复程序就能起作用,抽取某个事务作为牺牲品,把它撤消,做ROLLBACK操作,使系统有可能摆脱死锁状态,继续正确运行下去。7.数据库的并发控制、恢复、完整性和安全性之间有些什么联系和区别?答案:这4个方面是一个有机的整体,不可偏废任一方面。DBMS的这4个子系统一
12、起保证了DBS的正常运行。DB的可恢复性防止DB被破坏或DB中的数据有错误。DB的并发控制可以避免DB中数据有错误或用户读取“脏数据。DB的完整性可以保证DB中的数据是正确的,避免非法的更新。DB的安全性也可以保护DB,防止不合法的使用,避免数据的泄漏、非法更改和破坏。8.简述什么是BCNF,并说明满足BCNF的关系具有哪些特性。答案:如果关系模式R,F)的所有属性都不传递依赖于R的任何候选关键字,则称RBCNFo一个满足BCNF的关系特性有:(1)所有非主属性对每一个码都是完全函数依赖。(2)所有的主属性对每一个不包含它的码,也是完全函数依赖。(3)没有任何属性完全函数依赖于非码的任何一组属
13、性。9.简述数据库设计步骤及各部分的作用。答案:需求分析:了解与分析用户需求,得到数据字典和数据流图。概念结构设计:在需求分析的基础上,设计出一个独立于具体DBMS的概念模型。逻辑结构设计:将概念结构设计阶段的概念模型转换为某个DBMS所支持的数据模型。物理结构设计:为数据模型选择一个最合适的物理结构。数据库实施:定义数据库结构,并组织数据入库、编制调试应用程序,进行试运行。数据库运行和维护;在此阶段进行维护数据库,保证数据库正常工作,并不断修改和完善。10.试述数据库系统的三级模式结构及每级模式的作用。答案:数据库的三级模式是指逻辑模式、外模式(子模式)、内模式(存储模式)。逻辑模式是对数据
14、库中全体数据的逻辑结构和特征的描述。外模式是对各个用户或程序所涉及到的局部数据的逻辑结构和特征的描述。内模式是数据的内部表示或底层描述。逻辑模式是系统为了减小数据冗余、实现数据共享的目标,并对所有用户的数据进行综合抽象而得到的统一的全局数据视图。通过外模式,可以方便用户使用和增强数据的安全性。通过设计内模式,可以将系统的模式(全局逻辑模式)组织成最优的物理模式,以提高数据的存取效率,改善系统的性能指标。11.文件系统中的文件与数据库系统中的文件有何本质上的不同?答案:文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差:数据
15、库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系的,减少了数据冗余,实现了数据共享,数据独立性高。12.为什么关系中不允许有重复元组?答案:每个关系模式都有一个主键,在关系中主键值是不允许重复的,否则起不了唯一标识作用。如果关系中有重复元组,那么其主键值肯定相等,因此关系中不允许有重复元组。13.规范化理论对数据库设计有什么指导意义?答案:在概念设计阶段,己经把关系规范化的某些思想用作构造实体类型和联系类型的标准,在逻辑设计阶段,仍然要使用关系规范化的理论来设计模式和评价模式。规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。
16、14.什么是数据库的完整性?DBMS的完整性子系统的功能是什么?答案:数据库的完整性是指数据的正确性和相容性。DBMS的完整性子系统的主要功能有如下两点:1)监督事务的执行,并测试是否违反完整性。2)如有违反现象,则采取恰当的操作,如拒绝、报告违反情况、改正错误等。15.简述事务及其特性。答案:事务,是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务特性有A:原子性、C:一致性、工:隔离性、D:持续性四个特性.四、综合题1请设计一个图书借阅数据库,此数据库:对每个借阅者有记录:借书证号,姓名,性别,单位,职称,地址;对每本书有记录:书号,书名,作者,出
17、版单位,单价;对每本被借出的书有记录:借书证号,借阅日期,应还日期进行如下设计:(1)设计E-R图答案:(2)将该E-R图转换为关系模式结构,指出转换结果中的每个关系模式的候选码。答案:图书(书号,书名,作者,出版单位,单价)读者(借书证号,姓名,性别,单位,职称,地址)借阅(书号,借书证号,借阅日期,应还口期)图书关系模式候选码:书号读者关系模式候选码:借书证号借阅关系模式候选码:(书号,借书证号,借阅日期)2.设有下图所示的三个关系S、C和SCo将下列关系代数表达式表示的查询先用汉语表示出来,再求其结果。学号姓名年龄性别籍贯98601王晓燕20女北京98602李波23男上海98603陈志坚
18、21男长沙98604张兵20男上海98605张兵22女北京S(学生表)课程号课程名教师姓名办公室C601高等数学周振兴416C602数据结构刘建平415C603操作系统刘建平415C604编译原理王志伟4151)n姓名.学号.课程号(0福贯=,北京(S8sc)2)n姓名.课程号.成绩(s8sc8。课程W:数据结构,(c)3)n姓名.年1(S(11学号.课程号(sc)课程号(C)C(课程表)学号课程号成绩98601C6019098601C6029098601C6038598601C6048798602C6019098603C6017598603C6027098603C6045698604C601
19、9098604C6048598605C6019598605C60380SC(选修表)答案:1)查询籍贯为北京的学生的姓名、学号和选修的课程号,结果如下表Rl。2)查询选修数据结构的学生姓名、课程号和成绩,结果如下表R2。3)查询选修了全部课程的学生姓名和年龄,结果如下表R3。RlR2R3姓名学号课程号王晓燕98601C601王晓燕98601C602王晓燕98601C603土晓燕98601C604张兵98605C601张兵98605C6033.设有如图所示的关系R、W和D,计算:姓名课程号成绩王晓燕C60290陈志坚C60270姓名年龄王晓燕202)R2=。P5T=e(R)3)R3=RW4)R4
20、=111,2.6(3=s(RD)5)R5=RDS(学生)C(课程)SC(选修)S#SXAMEAGESEXDEPT1李勇20男计算机2刘芳19女计算机3张斌21男信息C#CNAMETEACHERklC语二工兵k5数据库陈勇k8操作系统陈勇SftGRADE1kl839kl805kl952k5905k55k872写出实现以下各题功能的标准SQL语句:1)定义学生表,主码为S#,姓名不能为空,性别只能取值为男或女。2)查询所有学生的基本情况,查询结果按系名降序排列,同系学生按年龄从小到大排列。3)查询每个同学所选课程的平均成绩。4)将SC的查询权限授予给用户UL5)将计算机系的学生的年龄增加1岁。答案
21、:1)CREATETABLES(S#CHAR(8)PRIMARYKEY,SNAMECHAR(IO)NOTNULL,ageSmallint,SEXCHAR(2)CHECK(SEXIN(男,女),DEPTCHAR(IO):2)Select*fromSorderbyDEPTDESC,AGE:3)selectS#,avg(GRADE)fromSCgroupbyS#;4)GRANTSELECTONSCTOUl;5)UPDATESSETAGE=AGE+!WHEREDEPT=,计算机5.设如图所示的三个关系S、C和S&用关系代数表达式表示下列查询语句。S (学生表)学号姓名年龄性别1李强232刘丽22女5张
22、友22男C (课程表)课程号课程名教师KlC语言王华K5数据库原理程军K8编译原理程军学号课程号成绩1Kl832Kl855Kl922K5905K5845K880SC (选修表)1)检索程军老师所授课程的课程号和课程名。2)检索选修课程名为C语言”的学生学号和姓名。3)检索“李强同学不学课程的课程号。答案:o崖程号.课程名(。教师=,程军,(C)2)11t(SSC曝用名=C诺言(C)3)n课程号(C)-n崖程号(姓名=李强(三)8SC)6.设有关系模式:SNSXAMECITYSlNl上海S2N2北京S3X3北京54X4上海S5X5南京SPNPXAMECOLORWEIGHTPlPNl二12P2PX
23、2绿18P3PK3蓝20P4PN4红13P5PN5蓝11P6PN6绿15JJNJNAMECITYJlJNl上海J2JN2广州J3JN3南京J4JN4南京J5JN5上海J6JN6武汉J7JN7上海S (SN, SNAME, CITY)其中,S表示供应商,SNPNJNQTYSlPlJl200SlPlJ4700S2P3Jl400S2P3J2200S2P3J3200S2P3J4500S2P3J5600S2P3J6400S2P3J7800S2P3J2100S3P3Jl200S3P4J2500S4P6J3300S4P6J7300S5P2J2200S5P2J4100S5P5500S5P5100S5P6J22
24、00S5PlJ41000S5P3J41200S5P4J4800S5P5J4400S5P6J4500SPJSN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主码为SN。P(PN,PNAME,COLOR,WEIGHT)其中,P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WElGHT为零件重量,主码为PN。J(JN,JNAME,CITY)其中,J表示工程,JN为工程编号,JNAME为工程名字,CrrY为工程所在城市,主码为JN。SPJ(SN,PN,JN,QTY)其中,SPJ表示供应关系,SN为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程
25、编号,QTY表示提供的零件数量,主码为SN,PN,JN。写出实现以下各题功能的SQL语句:1)取出重量最重的零件代号;2)取出由供应商SI提供零件的工程名称;3)取出为工程JI或J2提供零件的供应商代号;4)插入零件代号为P7,名字为PN7,颜色为蓝色,重量未知的零件。5)在上面各表的基础上创建视图VI,它记录了供应商是上海的供应情况,包括供应商号、零件代号、工程编号和零件数量。答案:1)SELECTPNFROMPWHEREWEIGHT=(SELECTMAX(WEIGHT)FROMP):2)SELECTJ.JNAMEFROMJ,SPJWHEREJ.JN=SPJ.JNANDSPJ.SN=,S:3
26、)SELECTDISTINCTSNFROMSPJWHEREJN=Jl,ORJN=,J2,;4)INSERTINTOP(PN,PNAME,COLOR)VALUES(P7,PN7,蓝):5)CREATEVIEWVlASSELECTSN,PN,JN,QTYFROMSPJWHERESNIN(SELECTSNFROMSWHERECITY=,上海);7.指出下列关系模式是第几范式,并说明理由。Q)R(X,Z)F=X-Y,X-ZR(此X,Y,Z)F=X-Z,WX-Y答案:(1)R的侯选关键字为X,而F的每一个函数依赖的左部都包含有侯选关键字,所以R为BCNFo(2)R的侯选关键字为WX,则Y,Z为非主属性,又由于X-Z,因此F中存在非主属性对侯选关键字的部分函数依赖。所以R仅为1NF。