一.题型:
1.单项选择题(10个,10分)
2.填空题(10个空,20分)
3.简答题(4题,20分)
4.E-R图操作题(3题,15分)
5.综合题(13题,35分)
二.示例
3. 简答题
(1)什么是数据模型,数据模型的三要素是什么?
数据模型是严格定义的一组概念的集合,是数据库用于提供信息表示和操作手段的形式架构
数据结构,数据操作,数据约束条件
(2)数据库管理系统的功能
数据库的定义功能,数据库的操作功能,数据库的建立和维护功能,数据库的运行和管理功能
(3)数据、数据库、数据库管理系统的概念
数据:描述事务的符号记录
数据库:长期储存在计算机内的,有组织有结构,可共享的数据集合
数据库管理系统:位于用户和操作系统之间的一层数据管理软件
(4)数据库系统的特点是什么?
数据结构化
共享度高,冗余度低
独立性高
统一管理和控制的共享是并发的共享
(5)三级模式的概念、两级映像的概念
内模式亦称存储模式,是数据在数据库系统内部的表示,是数据物理结构和存储方式的描述
模式亦称逻辑模式,是全体数据的逻辑结构和特征的描述,是所有用户的公告数据视图
外模式亦称子模式或用户模式,是局部数据逻辑结构和特征的描述,是数据库用户的数据视图
内模式/模式映像:(物理独立性) 模式外模式映像(逻辑独立模式)
(6)什么是数据的独立性,物理独立性和逻辑独立性的概念,三级模式两级映像如何保证数据的物理独立性和逻辑独立性
数据独立性是指应用程序和数据相互独立
物理独立性是指应用程序和数据库中数据的物理存储是相互独立的
逻辑独立性是指应用程序和数据库中的数据的逻辑结构是相互独立的
物理独立性:当数据的存储结构改变的时候,DBA对内模式/模式映像做出相应的改变,可以使模式保持不变,同时应用程序也不需要改变
逻辑独立性:当数据库中的内模式发生改变时,DBA对模式/外模式映像做出相应的改变,从而 ,可以使模式外模式保持不变,应用程序根据外模式写的,所以应用程序不需要改变
(7)完整性约束控制条件的分类,能够解释实体完整性、参照完整性的定义
静态列级约束,静态元组约束,静态关系约束,动态列级约束,动态元组约束,动态关系约束
(8)什么是等值连接,什么是自然连接,等值连接和自然连接的区别
从两个关系的笛卡尔积中选取属性间满足相等条件的的元组。
自然连接是一种特殊的等值连接,在等值连接的基础上去掉了相同的列。
(9)设有两个关系模式:职工(职工号,姓名,性别,部门号),部门(部门号,部门名),如果规定当删除某个部门信息时,必须同时删除职工关系中该部门的员工信息。试写出符合上述规则的外键子句。
Foreign key 部门号 references 部门(部门号)On delete cascade
(10)简述数据库系统从哪些方面来保证数据的完整性
列级约束(数据库类型,宽度,是否空值)
主键约束
外键约束
用户自定义约束(触发器)
(11)什么是数据依赖,函数依赖的定义
数据依赖是指一个关系中属性之间相等与否体现出来的相互关系
函数依赖是指某一个属性值可以决定另一个属性值
(12)2NF、3NF、BCNF的定义,如何判断关系模式属于第几范式
1NF:不能再分解的最小数据项
2NF:在满足1NF的基础上,不存在非主属性对码的不分函数依赖
3NF:在满足1NF的基础上,不存在非主属性对码的部分函数依赖和传递函数依赖
BCNF:在满足1nf的基础上,不存在非主属性对码的部分函数依赖和传递函数依赖,并且没有主属性对码的部分函数依赖和传递函数依赖(每个决定因素都包含码)
(13)数据库设计的基本步骤
1.需求分析2.概念结构设计3.逻辑结构设计4.数据库的物理设计,5.数据库的实施6.数据库的运行和维护
(14)查询处理的过程
查询分析,查询检查,查询优化,查询执行
(15)能够论述嵌套循环法的处理过程(查询优化中)
Select *from student ,sc where student.sno=sc.cno
- 取外层循环student表的每一个s元组,检索内层循环sc的的每一个元组,检查这两个元组在连接属性sno上是否取值相等
- 如果取值相等,则连接成功,串联将其作为结果输出,直到外层循环的元组都遍历结束
(16)能够论述排序-合并发的处理过程(查询优化中)
针对上述案例
- 如果两张表是无序的,则先针对每张表的sno属性进行排序
- 取student表的第一个sno,依次扫描sc表中的具有相同sno的元组
- 当扫到第一个不相同sno时,返回student表,继续扫描下一个元组,再扫描sc表中具有相同sno的元组,将他们连接起来
- 直到student表扫描完结束
(17)事务的定义、事务的特性
是用户定义的一个数据库操作序列,这些序列要么全做,要么全部不做
特性:原子性,隔离性,持久性,一致性
(18)数据库恢复技术、数据转储、登记日志文件
数据库恢复技术是把数据库从一个错误状态恢复到某一个已知的正确状态
数据转储:DBA定期把整个数据库复制到某一个硬盘上的过程
登记日志文件:用于记录事务对数据库更新的操作文件
(19)为什么先写日志文件再写数据库
把对数据库的修改操作写到数据库中和把修改数据库的记录写到日志文件中,是两个操作,所以可能这两个写操作发生故障,只执行完一个
如果先写数据库,则没有修改数据库的日志文件,则后期恢复这个修改
如果先写日志文件,则数据库中没有这个数据,后期只要多执行依次undo操作即可,不会影响数据库的正确性
(20)数据库系统可能发生的故障及其恢复方法。
事务内部的故障
恢复:反向扫描日志文件,查找该事务的更新操作,对更新操作做逆操作,将“更新前的数据写到数据库中“继续反向扫描日志文件。直到扫描到事物的开始
系统故障
恢复:正向扫描日志文件,找到已提交事务的队列和未完成事务的队列
对已提交事务的队列进行redo操作
对未提交事物的队列进行undo操作
介质故障
恢复:DBA装入最新的数据库后备副本,将数据库恢复到转储时的一致性状态
DBA装入转储时的日志文件
DBA启动系统恢复命令,DBMS完成恢复功能,重做已经提交的事务
计算机病毒
(21)设有三个事务T1,T2,T3,所包含的动作为:T1:B=B+2; T2:B=B*2; T3;B=B2;设B的初始值为2 ,假定这三个事务允许并发执行,则有多少种可能的正确结果,请一一列出。
(22)简述并发控制不当带来的数据不一致性问题
1.丢失修改:两个事务同时读入同一组事务,t2提交的结果覆盖了t1提交的结果,导致t1提交的结果丢失
2.不可重复读:两个事务,t1读入数据后,t2执行更新操作,t1无法像前一次一样再读入相同的数据
3.读“脏“数据:两个事务。,t1读入数据后修改,t2读入数据,由于某种原因t1撤回操作,导致t2读入与数据库不符的数据
(23)三级封锁协议如何解决并发控制不当产生的问题
一级:在修改之前先加X锁,知道事务结束才释放。 丢失修改
二级:在一级基础上,在读取数据之前先加S锁,直到读完数据才释放。 读脏数据
三级:在一级的基础上,在读取数据之前先加S锁,知道事务结束才释放。 不可重复读
(24)可串行化调度的定义
多个事务的并发执行是正确的,当且仅当结果与按某一次序串行的 执行完这些事务的结果相同时,成这种调度策略为可串行化调度。
(25)两段锁协议的定义
第一阶段获得封锁,在这个阶段事务可以申请获得任何数据上的任何类型的锁。第二阶段是释放封锁,事务可以释放任何数据项上的任何类型的锁,当时不能申请任何锁。
4. E-R图
现有一局部应用,包括两个实体:“学生”和“课程”。“学生”与“课程”之间的联系“选修”是多对多的联系。
学生的属性:学号,姓名,性别,专业号。
课程的属性:课程号,课程名,学分,先修课号。
联系“选修”的属性是:成绩。
(1)画出E-R图
(2)将E-R图转换为关系模型(包括关系名,属性名、码)。
(3)找出每个关系模型的主码、外码。
为学校社团建立数据库,其中有如下语义需求:每个学院有多个社团,每个社团只属于一个学院;每个学院有多名学生,每名学生只属于一个学院;一个社团有若干名团员(都是学生),每个学生可以加入多个社团,每名学生加入社团都会有加入时间和担任职务;每个社团会定期或不定期举办一些社团活动;学生可以选择参加所属社团组织的活动。完成如下设计:
1、根据以上说明,设计符合上述需求的E-R图,E-R图中要指明试题、每个实体必要的属性和实体之间的联系。
2、将E-R图转换为等价的关系模式。
3、指出转换结果中每个关系模式的主码和外码。(有些关系模式没有外码,可以不用提供)
学院信息表(学院编号,学院名称)主键:学院编号
学生信息表(学号,姓名,专业班级,学院编号)主键:学号,外键:学院编号
社团信息表(社团编号,社团名称,学院编号)主键:社团编号,外键:学院编号
学生社团信息表(学号,社团编号,加入时间,职务)主键:(学号,社团编号)
社团活动信息表(活动编号,活动名称,举办时间,学号,社团编号)主键:活动编号 ,外键:学号,社团编号
5.综合题
(1)数据定义语句Create Table, Alter table的应用
(2)数据插入语句Insert Into
(3)数据更新语句Update 表 set
(4)数据删除语句Delete From 表
(5)数据查询语句Select From,注意group by和having短语的用法
(6)视图的定义
(7)数据查询语句Select From,注意连接查询(等值连接,外连接,内连接,自然连接)、子查询(相关子查询,不相关子查询)、子查询在Select后面、在From后面、在Where子句后面的区别
(8)授权和收回授权(grant revoke,注意权限传递出去的语法结构)
(9)关系代数表达式的书写(投影、选择、连接、除、广义笛卡尔积)
(10)语法树的画法
(11)优化后的语法树的画法
(12)分析给定关系模式属于第几范式,原因是什么?
已知学生关系模式
S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。
(1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
(3)将关系模式分解成3NF,并说明为什么?
(1)关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade
关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:
S1(Sno,Sname,SD,Sdname)
S2(Sno,Course,Grade)
(3)将关系模式分解成3NF,并说明为什么?
答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下:
S11(Sno,Sname,SD) S12(SD,Sdname)
分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。
S11(Sno,Sname,SD)
S12(SD,Sdname)
S2(Sno,Course,Grade)
(13)把低一级范式的关系模式分解为高一级范式关系模式的集合