数据库原理复习提纲08 版Word下载.docx
《数据库原理复习提纲08 版Word下载.docx》由会员分享,可在线阅读,更多相关《数据库原理复习提纲08 版Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
2)1NF、2NF、3NF、BCNF的定义以及判断方法
3)规范化方法的掌握(重点考查将已有范式转化为3NF
的能力)
4)多值依赖的理解
第七章数据库设计
1)数据库设计的基本步骤以及每步骤所做工作
2)数据字典的定义
3)ER
的绘制方法
4)聚簇索引的作用
5)数据库的维护工作内容
第八章数据库编程
1)ESQL的定义
2)存储过程的优点
3)常用的数据库访问接口
第九章关系查询和查询优化
1)查询处理步骤
2)实现查询操作的基本算法
3)查询优化方案的设计以及执行时间的估算方法(结
合课本实例)
第十章数据库恢复技术
1)事务定义
2)事物的特性:
ACID
3)故障的种类以及相应的恢复策略
4)数据转储的分类以及区别
5)日志文件的作用
6)基于检查点的恢复技术原理
7)数据库镜像的作用
第十一章并发控制
1)事务的执行方式分类
2)数据不一致情况分类
3)封锁机制、锁的种类、封锁类型的相容矩阵的理解
4)活锁与死锁的分析
5)串行化调度与可串行化调度的定义
6)两段锁协议的理解与应用
7)封锁的粒度
8)意向锁
考试题型:
1)选择题(30分15小题)
2)填空题(15分,15小题)
3)名词解释(15分,5小题)
4)设计题(30分,5小题)(ER图、SQL、并发控制、规范化)
5)问答题(10分,2小题)
咨询邮箱:
hechaobo@__
仲恺农业技术学院试卷
《数据库原理》2007至2008学年度第1学期期末(A)卷
专业班级姓名学号
题号
一
二
三
四
五
六
七
八
合计
得分
评卷人
(考生注意:
答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交回)
一、单项选择题(本大题共12小题,每题2分,共24分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
(A)DBMS包括DB和DBS(B)DBS包括DB和DBMS
(C)DB包括DBS和DBMS(D)DBS就是DB,也就是DBMS
2.用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。
(A)模式(B)物理模式(C)外模式(D)内模式
3.在基本的关系中,下列说法正确的是()。
(A)行列顺序有关(B)属性名允许重名
(C)任意两个元组不允许重复(D)列是非同质的
4.关于视图和基本表的说法,以下说法错误的是()。
(A)所有的视图都是可以更新的(B)基本表本身是实际存在的
(C)视图是一个虚表
(D)数据库中只存储视图的定义,实际的数据不存储
5.设有关系R(A,B,C)和S(D,A),如题5图所示,R的主键为A,S的主键为D且外键为A
D
A
1
2
NULL
3
4
RS
B
C
题5图
则关系S中违反参照完整性约束的元组是()。
(A)(1,2)(B)(2,NULL)(C)(3,3)(D)(4,4)
6.将查询Student表的权限授予用户User1,并允许该用户将此权限授予其他用户。
实现此功能的SQL语句是()。
(A)GrantSelectToTableStudentOnUser1WithPublic
(B)GrantSelectOnTableStudentToUser1WithPublic
(C)GrantSelectToTableStudentOnUser1WithGrantOption
(D)GrantSelectOnTableStudentToUser1WithGrantOption
7.对于数据库角色,以下描述错误的是()。
(A)数据库角色是指被命名的一组与数据库操作相关的权限,角色是权限的
集合
(B)可以将一个角色授予一个或者几个用户
(C)不能将一个角色授予其他的角色
(D)通过角色的使用可以使自主授权的执行更加灵活、方便
8.下述SQL命令的短语中,哪个不是定义属性上约束条件()。
(A)NOTNULL短语(B)HAVING短语
(C)UNIQUE短语(D)CHECK短语
9.数据库具有____、最小冗余、较高的数据的独立性和易于扩充等特点。
()
(A)数据结构化(B)程序标准化(C)数据模块化(D)程序结构化
10.如果有n个事务串行调度,那么不同的有效调度有()。
(A)n2(B)2n(C)4n(D)n!
11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则部门到职员的联系类型是()。
(A)多对多
(B)一对一
(C)多对一
(D)一对多
12.在并发控制的技术中,最常用的是封锁方法。
对于共享锁(S)和排他锁(X)来说,下面列出的相容关系中,哪一个是不正确的?
(A)X/X:
TRUE(B)S/S:
TRUE
(C)S/X:
FALSE(D)X/S:
FALSE
二、填空(本大题共12小题,每空格1分,共20分)
1.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:
人工管理阶段,文件系统阶段和①阶段。
2.数据模型的三要素是数据结构、①、
。
3.已知关系:
商店信息(商店号,商店名,地址),商品信息(商品号,商品名,单价),销售(商店号,商品号,销售数量,销售日期)。
则销售关系的主码为①,销售关系的外码为
4.关系演算中是以数理逻辑中的谓词演算为基础的,按谓词变元的不同,关系演算可分为①和
5.在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SELECT语句中使用①保留字。
6.在数据库的安全性控制方法中,其中①机制主要通过GRANT和REVOKE语句来实现,但在此方法中,数据本身并无安全性标记,当对系统的安全性要求比较高时,可以采用
机制对数据本身进行密级标识。
7.关系模型的参照完整性在CreateTable中用①短语定义哪些列为外码列,用
短语指明这些外码参照哪些表的主码。
8.触发器是一种特殊的存储过程,在SQLServer2000的环境下,如果存在更新触发器,那么当更新一个元组时,更新之前和更新之后的数据分别存在两个临时表中,它们分别为①和
9.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和①完整性。
10.SQL语言除了具有数据查询和数据操作功能之外,还具有①、
功能。
11.事务必须具有的四个性质是:
原子性、①、
和持续性。
12.在事务等待图中,如果在图中①,那么系统就会出现死锁现象。
三、判断题(本大题共10小题,每题1分,共10分)
1.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。
2.一般情况下,当对关系R和S进行等值连接时,要求R和S含有一个或者多个共有的属性。
3.对于关系数据库系统,用户既要提出“做什么”,也要指出“怎么做”。
4.带有Exists谓词的子查询不返回任何数据,只会返回true或false。
5.数据库设计中,规范化程度越高,模式就越好。
6.需求分析可以独立于数据库管理系统,但概念结构设计必须依赖相应的数据库管理系统。
7.在选择操作中,使用索引扫描一定比全表扫描的效率要高。
8.当多个事务并发执行的结果与多个事务按任意次序串行执行的结果相同,就认为该并发操作是正确的。
9.在并发控制中,事务遵守两段锁协议是可串行化调度的充要条件。
10.并发操作所带来的数据的不一致性主要是因为并发操作破坏了事务的隔离性。
四、问答题(本大题共2小题,共16分)
1.设某航班某日尚有余票50张,甲预订10张,乙预订20张,问题:
(1)若按如下顺序执行正确吗?
若不正确,属于哪种错误?
(3分)
(2)若这两个事务允许并发执行,则有几种可能正确的结果,请一一列举出来;
(3分)
甲
乙
1)读余票A
2)
读余票A
3)A=A-10
4)写回A
5)
A=A-20
6)
写回A
2.设有关系模式R(职工名,项目名,工资,部门号,部门名,部门经理)
如果规定:
每个职工可参加多个项目,各领一份工资;
每个项目只属于一个部门经理;
每个部门只有一个经理。
该模式中,函数依赖关系如下图所示:
试回答下列问题:
(1)请分析该模式是不是一个好的关系模式?
为什么?
(5分)
(2)试问关系模式R最高已经达到第几范式?
如果该模式不是一个好的模式,试用规范化理论对其进行分解使之达到第三范式。
(5分)
五、设计题(本大题共2小题,共30分)
1.设有一个工程—零件数据库,有四个基本表,表结构如下:
(共16分,其中
(1)—(4)每题3分,(5)小题4分)
供应商S(Sno,Sname,Status,City)表示:
供应商代码、名称、状态、所在城市;
工程J(Jno,Jname,budget,charger)表示:
工程号、工程名、预算和负责人;
零件P(Pno,Pname,Color,Weight)表示:
零件的代码、零件的名称、颜色、重量;
供应情况SPJ(Sno,Pno,Jno,Qty)表示供应的情况,由供应商代码,零件代码,工程代码和数量组成。
试用关系代数完成
(1)小题,用SQL语句完成
(2)—(5):
(1)查找供应商S3的名称和所在城市。
(2)找出名称为“精益”的供应商所供零件的工程号码。
(3)求由供应商S1所供应的工程的预算总额。
(4)由S5供给J4的零件P6改为由S3供应,请作必要的修改。
(5)找出北京的任何供应商都不供应的零件的零件号。
2.假设已经建立StuCou数据库和三个关系表Student,Course,SC。
(共14分)
Student(Sno,Sname,Sex,Deptno),其中:
学号Sno(Char(8)),姓名Sname(Char(8)),性别Sex(Char
(2)),所在系Deptno(Int);
Course(Cno,Cname,Credit),其中:
Cno(Char(4)),课程名Cname(Char(20),非空),学分Credit(Numeric(2,1));
SC(Sno,Cno,Grade)由以下属性组成:
学号Sno(Char(8)),课程Cno(Char(4)),成绩Grade(Numeric(4,1))。
(1)请在这个数据库中编写存储过程statistic_mark,用来统计不同科目的成绩分布情况,以成绩60以下,60-70,70-80,80-90,90以上划分为5个分数段,即按照各分数段统计人数。
要求:
存储过程statistic_mark有一个字符型输入参数@namechar(20)(课程名),便于统计不同科目的分数分布情况,并且将执行结果保存在另一个表Rank中。
(12分)
(2)查看”数据库原理”的成绩分布情况。
(2分)
《数据库原理》试卷A
参考答案及评分标准
六、单项选择题(本大题共12小题,每题2分,共24分)
在每小题列出的四个备选项中只有一个是符合题目要求的,错选、多选或未选均无分。
(1-5)BCCAD(6-10)DCBAD(11-12)DA
七、填空(每空格1分,共20分)
1、①数据库系统
2、①数据操作
完整性约束(顺序可调)
3、①(商店号,商品号)
商店号,商品号
4、①元组关系演算
域关系演算(顺序可调)
5、①distinct
6、①自主存取控制
强制存取控制(顺序不可调)
7、①ForeignKey
References
8、①deleted
inserted(顺序不可调)
9、①用户定义
10、①数据定义
数据控制(顺序可调)
11、①一致性
隔离性(顺序可调)
12、①存在回路
八、判断题(本大题共10小题,每题1分,共10分)
1、√2、X3、X4、√5、X6、X7、X8、√9、X10、√
九、简答题(本大题共2小题,共16分)
1、
(1)不对,属于“丢失修改”的错误,即把甲写回的数据丢失了。
----3分
(2)两种,甲乙或者乙甲,调度的结果均为20。
2、
(1)R(职工名,项目名,工资,部门号,部门名,部门经理)不是一个好的关系模式,因为:
通过图中关系依赖图可以发现其码为(职工号,项目名)
插入异常
假设职工号为07102,部门号为S1的职工还未参加项目,因项目名是主属性,因此该学生的信息无法插入R。
删除异常
假定某个职工本来只参加了项目名为“三建”的一个工程。
现在因某种原因,他连“三建”工程也不参加了。
因项目名是主属性,此操作将导致该学生信息的整个元组都要删除。
数据冗余度大
如果一个职工参加了10个工程,那么他的部门名称和部门经理的值就要重复存储了10次。
修改复杂
例如由于某种原因,某职工要改变所参与的项目,在修改此职工元组的项目名的同时,还可能需要修改其部门号,部门名称和部门经理。
如果这个职工参加了K个工程,则必须无遗漏地修改K个元组中全部部门号,部门名称和部门经理信息。
------共5分,可以分开介绍,也可以集中介绍,可以只分析其中的一点或几点。
(2)职工名,项目名,工资,部门号,部门名,部门经理
由于部门名,部门经理部分函数依赖于码,因此该模式只满足第一范式,所以采用投影分解法将一个1NF的关系分解为多个2NF的关系,即:
SLC分解为两个关系模式,以消除这些部分函数依赖
R1(职工名,项目名,工资)∈2NF
R2(项目名,部门号,部门名,部门经理)∈2NF
但是2NF关系模式R2中,部门名和部门经理传递函数依赖于项目名,即R2中存在非主属性对码的传递函数依赖。
所以进一步把SL分解为两个关系模式,以消除传递函数依赖:
R2(项目名,部门号)∈3NF
R3(部门号,部门名,部门经理)∈3NF
一十、设计题(本大题共2小题,共30分)
1、试用SQL语句完成下列操作:
(共16分,其中
(1)-(4)每题3分,(5)小题4分)
ΠSname,City(σsno=‘S3‘(S))
——————3分
(2)找出使用名为“精益”的供应商所供零件的工程号码。
SelectdistinctJno
fromSPJ
wheresnoin
(selectsnofromS
wheresname=’精益’)
Selectsum(budget)
fromJ
whereJnoin
(selectjnofromspj
wheresno=’s1’)
Updatespjsetsno=’S3’wheresno=’S5’andJno=’J4’andPno=’P6’——————3分
SelectdistinctPno
fromspj
wherenotexists
(select*fromS
wheresno=spj.snoandcity=’北京’)
——————4分
2、(共14分)
要统计数据库原理课程的学生的成绩分布,因此先建立表Rank,其中第一列division显示成绩分段划分,第二列number显示的是成绩在该分数段的学生人数。
1)建立Rank表。
CREATETABLERank(
divisionCHAR(20),
numberINT);
(2分)
2)编写存储过程。
CREATEPROCEDUREstatistic_mark(@nameCHAR(50))
--存储过程带有一个字符型参数值,便于统计不同科目的分数分布情况
AS
DECLARE
@less60INT,--分为五个分数段,并置初始值为0
@b60a70INT,
@b70a80INT,
@b80a90INT,
@more90INT,
@curcnoCHAR(4);
--设字符型变量curcno存放对应于@name的课程号
--并置初始值为0
set@less60=0
set@b60a70=0
set@b70a80=0
set@b80a90=0
set@more90=0
set@curcno='
'
SELECT@curcno=cnoFROMCourseWHEREcname=@name;
--根据课程名称在Course表中查询查询该课程号
IF@curcnoisnull--如果不存在用户输入的课程名称,返回错误信息RAISEEXCEPTION'
输入错误,没有该课程'
;
raiserror('
16,1)
else
begin
SELECT@less60=count(*)FROMscWHEREcno=@curcnoANDgrade<
60;
SELECT@b60a70=count(*)FROMscWHEREcno=@curcnoANDgrade>
=60ANDgrade<
70;
SELECT@b70a80=count(*)FROMscWHEREcno=@curcnoANDgrade>
=70ANDgrade<
80;
SELECT@b80a90=count(*)FROMscWHEREcno=@curcnoANDgrade>
=80ANDgrade<
90;
SELECT@more90=count(*)FROMscWHEREcno=@curcnoANDgrade>
=90;
--向表Rank中插入五条记录,显示成绩分布情况
INSERTINTORankVALUES('
[0,60)'
@less60);
[60,70)'
@b60a70);
[70,80)'
@b70a80);
[80,90)'
@b80a90);
[90,100]'
@more90);
end;
--------------12分
(2)执行存储过程
EXECUTESTATISTIC_MARK@NAME='
数据库原理'
SELECT*FROMRank.
《数据库原理》2007至2008学年度第1学期期末(B)卷
一十一、单项选择题(本大题共12小题,每题2分,共24分)
13.下列四项中说法不正确的是()。
(A)数据库减少了数据冗余(B)数据库避免了一切数据的重复
(C)数据库中的数据可以共享(D)数据库具有较高的数据独立性
14.要保证数据库的数据独立性,需要修改的是()。
(A)模式与外模式(B)模式与内模式
(C)三级模式之间的两层映射(D)三层模式
15.下面的选项不是关系数据库基本特征的是()。
(A)不同的列应有不同的数据类型(B)不同的列应有不同的列名
(C)与行的次序无关(D)与列的次序无关
16.关于视图和基本表的说法,以下说法错误的是()。
(C)视图是一个虚表(D)数据库中只存储视图的定义,实际的数据不存储
17.SQ