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