1《数据库原理》期末考试模拟试卷【难度:中】(考试时间120分钟,满分100分)一、选择题(20分,每小题2分):1.数据库系统与文件系统的主要区别是____。A.数据库系统复杂,而文件系统简单B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C.二文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量2.同一个关系模型的任意两个元组值____。A.不能全同B.可全同C.必须全同D.以上都不是3.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的____。A.元组B.行C.记录D.属性4.SQL语言具有两种使用方式,分别称为交互式SQL和____。A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL5.关系规范化中的删除操作异常是指________。A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入6.属于BCNF的关系模式________。A.已消除了插入、删除异常B.已消除了插入、删除异常和数据冗余C.仍然存在插入、删除异常D.在函数依赖范畴内,已消除了插入和删除的异常7.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是____。A.M端实体的关键字B.N端实体的关键字C.M端实体关键字与N端实体关键字组合D.重新选取其他属性8.数据库的____是指数据的正确性和相容性。A.安全性B.完整性C.并发控制D.恢复9.授权编译系统和合法性检查机制一起组成了____子系统。A.安全性B.完整性C.并发控制D.恢复10.设有两个事务T1、T2,其并发操作如图1所示,下列评价正确的是____。A该操作不存在问题B.该操作丢失修改C.该操作不能重复读D.该操作读“脏”数据T1T2①读A=100A=A*2写回②读A=200③ROLLBACK恢复A=1002图1事务并发操作图二、填空题(20分,每小空2分):1.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是①封锁机制。2.系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据不受影响,这种情况称为②系统故障。3.关系数据库中基于数学上两类运算是③关系代数和④关系演算。4.数据库设计的几个步骤是⑤需求分析,概念设计,逻辑设计,物理设计,编码和调试、实施运行和维护。5.1NF,2NF,和3NF之间,相互是一种⑥3NF2NFLNF成立关系。6.视图是一个虚表,它是从⑦一个或几个基本表中导出的表。在数据库中,只存放视图的⑧定义,不存放视图的⑨视图对应的数据。7.关系操作的特点是⑩集合操作。三、简答题(15分,每小题5分):1.什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。2.什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。数据独立性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。3.叙述等值连接与自然连接的区别和联系。答:等值连接表示为RA=BS,自然连接表示为RS;自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:自然连接一定是等值连接,但等值连接不一定是自然连接。3等值连接不把重复的属性除去;而自然连接要把重复的属性除去。等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。等值连接不把重复的属性除去;而自然连接要把重复的属性除去。四、综合题(45分):1.设有如下实体:(10分)学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:一个学生可选修多门课程,一门课程可为多个学生选修;一个教师可讲授多门课程,一门课程可为多个教师讲授;一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。(4分)(2)将上述设计完成的E-R图合并成一个全局E-R图。(3分)(3)将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。(3分)解:(1)学生选课局部E-R图如图2所示,教师任课局部E-R图如图3所示。电话图2学生选课局部E-R图学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:一个学生可选修多门课程,一门课程可为多个学生选修;一个教师可讲授多门课程,一门课程可为多个教师讲授;一个单位可有多个教师,一个教师只能属于一个单位。n课程开课1课程名编号n学生拥有单位1年龄单位名姓名性别学号选修mn4课程名图3教师任课局部E-R图图4合并的全局E-R图(2)合并的全局E-R图如图4所示。为避免图形复杂,下面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程名(3)该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)课程编号1单位属于教师n电话单位名讲授mn职称姓名性别教师号教师n学生拥有单位1属于1nn课程讲授mmn选修开设1n5S(S#,SNAME,AGE,SEX)例:(001,'李强',23,’男')SC(S#,C#,SCORE)例:(003,'C1',83)C(C#,CNAME,TEACHER)例:('C1','数据库原理','王华')(1)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名。∏SNAME(SSCTEACHER='程军'(C))(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。{T(1)|(U)(V)(W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。{T(1)|(V)(W)(SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}(3)找出“程序设计”课程成绩在90分以上的学生姓名。SELECTSNAMEFROMS,SC,CWHERES.S#=SC.S#ANDSC.C#=C.C#ANDSCORE=90ANDCNAME='程序设计'或者SELECTSNAMEFROMSWHERERS.S#IN(SELECTS#FROMSCWHERESCORE=90ANDC.C#IN(SELECTC#FROMCWHERECNAME='程序设计')3.设有关系模式R(U,F),其中:(10分)U={A,B,C,D,E},F={A→BC,CD→E,B→D,E→A}。⑴计算B+。(2分)⑵求R的所有候选码。(8分)解:⑴令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。⑵根据候选码的定义,R的候选码只可能由F中各个函数依赖的左边属性组成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故:可除去A,B,C,D,组成候选码的属性可能是E。计算可知:E+=ABCDE,即E→U,E是一个候选码。可除去A,B,E,组成候选码的属性可能是CD。计算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,CD是一个候选码。可除去B,C,D,E,组成候选码的属性可能是A。计算可知:A+=ABCDE,即A→U,A是一个候选码。可除去A,D,E,组成候选码的属性可能是BC。计算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,BC是一个候选码。R的所有候选码是A,BC,CD,E。4.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,6设关系中有如下函数依赖:(10分)S#,CNAME→SNAME,SDEPT,MNAMES#→SNAME,SDEPT,MNAMES#,CNAME→GRADESDEPT→MNAME试求下列问题:(1)关系STUDENT属于第几范式?(5分)(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。解:(1)关系STUDENT是1NF。(2)首先消除部分函数依赖{S#,CNAME}→{SNAME,SDEPT,MNAME}将关系分解为:R1(S#,SNAME,SDEPT,MNAME)R2(S#,CNAME,GRADE)在关系R1中存在非主属性对候选码的传递函数依赖S#→SDEPT,SDEPT→MNAME,所以以上关系模式还不是BCNF,进一步分解R1:R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R11,R12都是3NF。关系模式:R2(S#,CNAME,GRADE)R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R2,R11,R12关系模式存在的函数依赖S#,CNAME→GRADES#→SNAME,SDEPTSDEPT→MNAME上述函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF.