数据库管理系统试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 1 页共 2 页
一、简答题(共5小题,每题6分,共30分)
1.简述数据库、数据库管理系统与数据库系统的概念。
答:数据库:DataBase,简称DB。
是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统:DataBase Management System,简称DBMS,是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
它的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护。
数据库系统:DataBase System,简称DBS,它是包含数据库的具体应用系统,由支持该应用系统的某一具体的数据库、数据库管理系统和应用程序三部分组成。
2.简述两段锁协议并说明两段锁协议和事务可串行化调度的关系。
答:所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
1、在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;
2、在释放一个封锁之后,事务不再申请和获得任何其他封锁。
如果事务中所有的加锁操作都在事务的第一个解锁操作之前进行,那么这个事务是遵循两段锁协议的。
如果一个调度中的每个事务都遵循两段锁协议,那么该调度必然是冲突可串行化的。
事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。
3.简述可串行化调度和正确调度。
答:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们的结果相同,我们称这种调度策略为可串行化的调度。
可串行性是并发事务正确性的准则,按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
4.简述数据库中的死锁现象,并简述如何使用有向图方法检测死锁。
答:死锁是指当两个或多个事务相互等待对方所拥有的锁被释放时,所产生的僵持局面。
有向图G=(T,U)。
T为结点的集合,每个结点表示正运行的事务;U为边的集合,每条边表示事务等待的情况。
若T1等待T2,则T1,T2之间划一条有向边,从T1指向T2。
事务等待图动态地反映所有事务的等待情况,并发控制子系统周期性地检测事务等待图,如果发现图中存在回路,则表示系统中出现了死锁。
5.简述事务的ACID特性以及数据库管理系统是如何保证这些特性的。
答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
它具有四个特性:原子性(Atomicity)、一致性(Consistency)、
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 2 页共 2 页隔离性(Isolation)和持续性(Durability)。
数据库管理系统采用日志和锁机制来保证事务的ACID特性。
用日志记录事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行事务前的初始状态,而当多个事务同时更新数据库中相同的数据时,只允许持有锁的事务能更新该数据,其他事务必须等待,直到前一个事务释放了锁,其他事务才有机会更新该数据。
二、填空(共10空,每空2分,共20分)
1.一个学生可以同时借阅零本或多本图书,一本图书只能由一个学生借阅,但
2.在关系模式中,如果属性X、Y之间有1∶1联系,则存在函数依赖X Y;
如果属性X、Y之间有1∶m
3.E-R
4.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,
5,它已实现了彻底的分离。
6.关系数据库中有三种基本操作分别对应关系代数三种操作,从表中取出满足
三、结构化查询语言SQL(共5小题,每题4分,共20分)
对于如下关系模式:
Student (sNo, sName, sSex, sAge, sDept)
Course (cNo, cName, cPNo, cCredit,teacher)(其中,cPNo为课程先修课号,teacher为授课教师)
SC (sNo, cNo, score)
使用SQL语句完成以下操作:
(1)查询选修了课程号为“001”或者课程号为“002”的学生姓名;
select sName from Student where sNo in (select sNo from SC where cNo='001' or cNo='002')
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 3 页共 2 页(2)查询至少选修了课程号为“001”和课程号为“002”两门课程的学生姓名;
select sName from Student where sNo in (select sNo from SC where cNo='001') and sno in (select sNo from SC where cNo='002')
(3)查询平均成绩小于等于60分的课程名称;
select cName from Course where cNo in (select cNo from SC group by cNo Having AVG(score)<=60)
(4)查询先修课程名为“信息系统导论”的课程名称;
select cName from Course where cPNo = (select cNo from Course where cName = '信息系统导论')
(5)将所有学生“数据库系统”课程成绩增加10分。
update SC set score=score + 10 where cNo = (select cNo from Course where cName = '数据库系统')
四、设计题(20分)
在一个教师信息管理系统中提供以下信息:
系:系代号、系名、联系电话、联系地址。
教师:教师号、姓名、性别、职称。
课程:课程代号、课程名、课程简介。
学科方向:学科代码、学科名称、研究内容。
上述实体集中存在如下联系:
(1)每个系有唯一代号,但可能有多个联系电话;
(2)每个系可能拥有一个或者多个学科方向,某一学科方向只能属于某一固定系;
(3)每个系可能拥有多名教师,但至少拥有一名教师,一名教师只能属于某一固定系;
(4)教师只能属于某一学科方向,但允许某些教师暂时不属于任何学科方向,也允许某一学科方向暂时没有教师;
(5)一个教师可以讲授多门课程,一门课程可为多个教师讲授,教师只在某一固定学期讲授课程,学期用学期号表示,允许教师暂时不讲授课程;
(6)每个学科方向只能有一名教师作为学科带头人,也可能暂时空缺;
(7)某些课程有可能有先修课程,但最多只能有一门先修课程,一门课程可能为多门课程的先修课程。
试完成如下设计:
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 4 页共 2 页(1)构造满足需求的E/R图模型,并对模型图进行必要文档描述,必要时可以对需求做合理补充说明,但在文档中应该描述清楚。
(2)将第一步得到的E/R模型一步一步转换为等价的关系模式,要写出转换步骤和说明。
答:(1)根据题意,得E-R图如下:
E-R图描述:
1、根据题意,在上述E-R图中有系、学科方向、教师、课程四个实体型。
2、某个学科方向只能属于某一固定系,可以将系作为学科方向的属性,在系实体型中,系代号可以作为唯一区分系的属性,因此补充系代号为学科方向的属性。
同理,可将学科代码和系代号作为教师的属性,先修课程代号作为课程的属性。
故上述E-R图的四个实体型的属性可以作以下描述:
1)系的属性有:系代号、系名、联系电话、联系地址;
2)学科方向的属性有:学科代码、学科内容、研究内容、系代号;
3)教师的属性有:教师号、姓名、性别、职称、学科代码、系代号;
4)课程的属性有:课程代号、课程名、课程简介、先修课程代号。
3、四个实体型之间的联系为:
1)系拥有一个或多个学科方向,某一学科方向只能属于某一固定系,系与学科方向为一对多的联系;
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 5 页共 2 页2)系拥有一名或多名教师,某一教师只能属于某一固定系,系与教师之间为一对多的联系;
3)教师只能属于某一学科方向,教师与学科方向为一对多的联系。
4)一个教师可以讲授多门课程,一门课程可为多名教师讲授,教师与课程之间为多对多的联系。
4、因为教师只在某一固定学期讲授课程,学期用学期号表示,故学期号可以作为讲授的属性,同理可得学科负责人为从属的属性。
(2)根据(1)的描述,E-R图中实体型转换为等价的关系模式有:
系(系代号,系名,联系电话,联系地址)主键:系代号
学科方向(学科代码,学科内容,研究内容,系代号)主键:学科代码
教师(教师号,姓名,性别,职称,学科代码,系代号)主键:教师号
课程(课程代号,课程名,课程简介,先修课程代号)主键:课程代号同理,根据(1)的描述,E-R图中联系转换为等价的关系模式有:
从属(教师号,学科代码,学科负责人)主键:教师号
讲授(教师号,课程代码,学期号)主键:教师号+课程代码联系转换为等价的关系模式与M端合并,得E-R图中转换为等价的关系模式有:系(系代号,系名,联系电话,联系地址)主键:系代号
学科方向(学科代码,学科内容,研究内容,系代号)主键:学科代码
教师(教师号,姓名,性别,职称,学科代码,系代号,学科负责人否)主键:教师号课程(课程代号,课程名,课程简介,先修课程代号)主键:课程代号
讲授(教师号,课程代码,学期号)主键:教师号+课程代码
五、规范化(10分)
设有关系模式R(A,B,C,D,E,F,G),R上的函数依赖集F={A→B,C→D,AE→F,F→G}。
(1)求F的最小函数依赖集Fm;
(2)求R的候选码;
(3)将R逐步分解为满足BCNF范式要求的关系模式。
(要求写出规范化过程)答:(1)F的最小函数依赖集Fm为Fm={A→B,C→D,AE→F,F→G}
(2)R的候选码(A,C,E)
(3)由于候选码为ACE,F中存在不符合BCNF要求的函数依赖,所以R不是BCNF
选F→G,关系模式R分解为:R1=FG,R2=ABCDEF;
关系模式R1的函数依赖集为F→G,已是BCNF;
关系模式R2上的函数依赖集为C→D,AE→F,F→G,存在函数依赖,不是BCNF;
选AE→F,关系模式R2进一步分解为:R21=AEF,R22=ABCDE;
试题名称:数据库系统
说明:所有答题一律写在答题纸上第 6 页共 2 页关系模式R21上保持的函数依赖集为AE→F,已是BCNF;
关系模式R22上保持的函数依赖集为A→B,C→D,已正则覆盖,且候选码为(A,C,E),故是BCNF;
综上,R逐步分解为满足BCNF范式要求的关系模式为{ABCDE,AEF,FG }。