数据库期末考试习题及答案.docx
《数据库期末考试习题及答案.docx》由会员分享,可在线阅读,更多相关《数据库期末考试习题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
数据库期末考试习题及答案
2003-2004学年第二学期期末考试
2001级《数据库系统概论》试题C
一、选择题(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.多用户SQL
C.嵌入式SQLD.解释式SQL
5.关系规范化中的删除操作异常是指________。
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=100
A=A*2写回
②读A=200
③ROLLBACK
恢复A=100
图1事务并发操作图
二、填空题(20分,每小空2分):
1.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是①机制。
2.系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据不受影响,这种情况称为②。
3.关系数据库中基于数学上两类运算是③和④。
4.数据库设计的几个步骤是
。
5.1NF,2NF,和3NF之间,相互是一种
关系。
6.视图是一个虚表,它是从
中导出的表。
在数据库中,只存放视图的
,不存放视图的
。
7.关系操作的特点是
操作。
三、简答题(15分,每小题5分):
1.什么是数据库?
2.什么是数据库的数据独立性?
3.叙述等值连接与自然连接的区别和联系。
四、综合题(45分):
1.设有如下实体:
(10分)
学生:
学号、单位、姓名、性别、年龄、选修课程名
课程:
编号、课程名、开课单位、任课教师号
教师:
教师号、姓名、性别、职称、讲授课程编号
单位:
单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1)一个学生可选修多门课程,一门课程可为多个学生选修;
(2)一个教师可讲授多门课程,一门课程可为多个教师讲授;
(3)一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:
(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。
(4分)
(2)将上述设计完成的E-R图合并成一个全局E-R图。
(3分)
(3)将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。
(3分)
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。
(15分,每小题5分)
S(S#,SNAME,AGE,SEX)例:
(001,'李强',23,’男')
SC(S#,C#,SCORE)例:
(003,'C1',83)
C(C#,CNAME,TEACHER)例:
('C1','数据库原理','王华')
(1)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名。
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。
(3)试用SQL找出“程序设计”课程成绩在90分以上的学生姓名。
3.设有关系模式R(U,F),其中:
(10分)
U={A,B,C,D,E},F={A→BC,CD→E,B→D,E→A}。
计算B+。
(2分)
求R的所有候选码。
(8分)
4.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖:
(10分)
S#,CNAME→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
S#,CNAME→GRADE
SDEPT→MNAME
试求下列问题:
(1)关系STUDENT属于第几范式?
(5分)
(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。
(5分)
要求:
写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
试题答案
一、选择题(20分,每小题2分):
1.B2.A3.D4.C5.A6.D7.C8.B9.A10.D
二、填空题(20分,每小空2分):
1.①封锁
2.②系统故障
3.③关系代数④关系演算
4.
需求分析,概念设计,逻辑设计,物理设计,编码和调试
5.
3NF
2NF
LNF成立
6.
一个或几个基本表
定义
视图对应的数据
7.
集合
三、简答题(15分,每小题5分):
1.什么是数据库?
答:
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2.什么是数据库的数据独立性?
答:
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
数据独立性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。
数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变。
这将使程序维护容易,另外,对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。
3.叙述等值连接与自然连接的区别和联系。
答:
等值连接表示为R
A=BS,自然连接表示为R
S;自然连接是除去重复属性的等值连接。
两者之间的区别和联系如下:
●自然连接一定是等值连接,但等值连接不一定是自然连接。
等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
●等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
●等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
四、综合题(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图如图4所示。
为避免图形复杂,下面给出各实体属性:
单位:
单位名、电话
学生:
学号、姓名、性别、年龄
教师:
教师号、姓名、性别、职称
课程:
编号、课程名
(3)该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:
单位(单位名,电话)
教师(教师号,姓名,性别,职称,单位名)
课程(课程编号,课程名,单位名)
学生(学号,姓名,性别,年龄,单位名)
讲授(教师号,课程编号)
选修(学号,课程编号)
图2学生选课局部E-R图
图3教师任课局部E-R图
图4合并的全局E-R图
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。
(15分,每小题5分)
S(S#,SNAME,AGE,SEX)例:
(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:
(003,'C1',83)
C(C#,CNAME,TEACHER)例:
('C1','数据库原理','王华')
(1)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名。
∏SNAME(S
SC
TEACHER='程军'(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分以上的学生姓名。
SELECTSNAME
FROMS,SC,C
WHERES.S#=SC.S#ANDSC.C#=C.C#ANDSCORE>=90ANDCNAME='程序设计'
或者
SELECTSNAME
FROMS
WHERERS.S#IN(
SELECTS#
FROMSC
WHERESCORE>=90ANDC.C#IN(
SELECTC#
FROMC
WHERECNAME='程序设计')
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为候选码,设关系中有如下函数依赖:
(10分)
S#,CNAME→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
S#,CNAME→GRADE
SDEPT→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→GRADE S#,SNAME→SNAME,SDEPT SDEPT→MNAME
上述函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF。