《数据库原理与应用》复习题-参考答案
- 格式:doc
- 大小:179.50 KB
- 文档页数:8
复习题参考答案一、填空题(第11、12、22小题每空1分,其余每空0.5分,共35分)1.对现实世界进行第一层抽象的模型称为概念数据模型,概念模型常用ER模型进行表示;对现实世界进行第二层抽象的模型称为逻辑数据模型,常用的逻辑模型有四种,包括层次模型、网状模型、关系模型、对象模型。
2.在ER模型中,实体用矩形框表示,联系用菱形框表示,属性用椭圆形框表示。
3.数据库的体系结构采用三级模式、两级映象,从而保证数据库系统具有两级数据独立性,两级数据独立性是指物理数据独立性和逻辑数据独立性。
4.数据定义语言的英文缩写为DDL ,数据操纵语言的英文缩写为DML 。
5.DBMS对数据库提供四个方面的控制功能,包括:安全性保护、完整性检查、并发控制、数据库恢复。
6.关系模型在实际使用中有多种类型的键,包括超键、候选键、主键、外键。
7.关系模型的三类完整性规则包括实体完整性规则、参照完整性规则和用户定义的完整性规则。
8.关系代数操作中,对一个关系进行垂直分隔,消去某些列的运算称为投影运算;根据某些条件对关系做水平分隔,即选取符合条件的元组的运算称为选择运算。
9.若关系R有m个元组,S有n个元组,则R×S有m×n 个元组。
10.关系演算可分为元组关系演算和域关系演算,其中的∃称为存在量词,∀称为全称量词。
11.在SQL Server 2000中,若在表S中增加一列,列名为Address,类型为变长字符串,最大长度为30,则相应的SQL语句为alter table S add Address varchar(30) ;若在表S中删除年龄Age列,则相应的SQL语句为alter tableS drop column Age 。
12.在学生表S(S#, SName, Age, Sex)上针对男同学创建一个视图,视图名为S_Male,视图包括S#、SName、Age三列,则相应的SQL语句为create view S_Male as select S#, SName, Age from S where Sex='男' ;删除该视图的SQL语句为drop view S_Male 。
13.对于函数依赖X→Y,如果Y⊆X,那么称X→Y是一个平凡的函数依赖。
14.在函数依赖的推理规则中,“若X→Y在关系模式R上成立,则XZ→YZ在R上成立”称为增广性。
15.设关系模式R有n个属性,在模式R上可能成立的函数依赖一共有4n个,其中平凡的FD有3n个,非平凡的FD有4n-3n个。
16.设关系模式R的属性集是U,X是U的一个子集。
如果X→U在R上成立,那么称X是R的一个超键。
如果X→U在R上成立,但对于X的任一真子集X1都有X1→U不成立,那么称X是R的一个候选键。
17.如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。
18.设R是一个关系模式,F是R上的一个FD集。
R分解成数据库模式ρ={ R1,R2, …, R k }。
如果对R中满足F的每一个关系r,都有r=πR1R2…Rk(r)那么称分解ρ相对于F是无损分解;否则称为损失分解。
其中符号πRi(r)表示关系r 在模式R i属性集上的投影。
19.设R的FD集为F,ρ={ R1, R2, …, R k }是R的一个分解,R i上的FD集为F i=πRi(F)(1≤i≤k),若有{ F1, F2, …, F k } ⊨F,那么称分解ρ保持了函数依赖特性。
20.在范式中,消除了非主属性对候选键传递依赖的关系模式,称为3NF 模式;消除了主属性对候选键传递依赖的关系模式,称为BCNF 模式。
21.对于学生和课程之间的二元联系,若规定:每个学生至少选修一门课、最多选修六门课,每个课程最多可以有50人选修、最少可以没人选修。
则学生实体的基数是(1,6) ,课程实体的基数是(0,50) 。
22.职工之间存在上下级关系,即1:n联系,其ER模型如下图所示:则根据ER模型转换为关系模式的规则,其对应的关系模式为:职工(工号, 姓名, 年龄,性别, 领导工号) (要求划出主键与外键)。
23.用“declare 名字cursor for select 语句”形式定义的是游标,用“createprocedure 所有者名.过程名[输入参数表] [输出参数表output] as sql语句”形式定义的是存储过程,用“create trigger 名字on 表名for insert| update| delete as sql语句”形式定义的是触发器。
24.事务具有四个性质,称为ACID 性质(即四个性质英文单词的首字母);事务的状态变迁图包括五个状态。
25.事务可分为系统事务和用户定义的事务两种类型,用户定义的事务以begintransaction 语句表示事务开始,以commit 语句或rollback 语句表示事务结束。
26.数据库故障中,常见的故障可分为三类:事务故障,系统故障,介质故障。
27.封锁是控制并发操作的主要技术。
封锁技术主要有两种锁:排他型封锁(简称X锁)和共享型封锁(简称S锁)。
28.在并发操作中,所有要读写数据的事务均使用X锁的规则称为PX 协议,所有要读写数据的事务均使用S锁的规则称为PS 协议29.封锁对象的大小称为封锁的粒度。
30.封锁会带来“死锁”问题,可以用称为事务依赖图的有向图测试系统中是否存在死锁。
二、设教学数据库中有三张表:学生表S(SNo, SName, Age, Sex),其属性性质如下:课程表C(CNo, CName, Teacher),其属性性质如下:选课表SC(SNo, CNo, Grade),其属性性质如下:请完成下面各小题的SQL语句(共26分):1.用“create table”语句创建选课表SC,需指出主键和外键。
(2分)create table SC( SNo char(4), CNo char(4), Grade smallint,primary key(SNo, CNo),foreign key(SNo) references S(SNo),foreign key(CNo) references C(CNo) )2.在表SC中插入一个元组('S4', 'C2', 90)。
(1分)insert into SC(SNo, CNo, Grade)values('S4', 'C2', 90)3.把课程名为数学的成绩从表SC中删除。
(2分)delete from SCwhere CNo in ( select CNo from C where CName='数学' ) 4.把女同学的成绩提高10%。
(3分)update SCset Grade=Grade*1.1where SNo in ( select SNo from S where Sex='女' )5.查询选修课程名为数学的学生学号与姓名。
(3分)select S.SNo, SName from S, SC, Cwhere S.SNo=SC.SNo and o=o and CName='数学'或select SNo, SName from Swhere SNo in ( select SNo from SCwhere CNo in (select CNo from Cwhere CName='数学') ) 6. 查询选修课程号为C2或C4的学生姓名。
(3分) select SName from S, SCwhere S.SNo=SC.SNo and (CNo='C2' or CNo='C4') 7. 查询至少选修课程号为C2和C4的学生学号。
(3分) select X.SNo from SC as X, SC as Ywhere X.SNo=Y .SNo and o='C2' and Y .CNo='C4' 8. 查询男学生的总人数、最高分、最低分和平均分。
(3分) select count(S.SNo), max(Grade), min(Grade), avg(Grade) from S, SCwhere S.SNo=SC.SNo and Sex='男'9. 查询表S 中男同学的每一年龄组(超过50人)的人数,要求查询结果按人数升序排列,人数相同按年龄降序排列。
(3分) select Age, count(SNo) from S where Sex='男' group by Age having count(*)>50 order by 2 asc, Age desc10. 在表SC 中查询平均成绩最高的学生学号。
(3分)select SNo from SCgroup by SNo having avg(Grade)>=all( select avg(grade) from SC group by SNo )三、针对上题中的第5小题,分别写出关系代数表达式、元组表达式和域表达式(每题3分,共9分): 1. 关系代数表达式(S SCC) )πSNo, SName (σCName=‘数学’2. 元组表达式{ t | (∃u)(∃v)(∃w) ( S(u) ⋀ SC(v) ⋀ C(w) ⋀ u(1)=v[1] ⋀ v[2]=w[1] ⋀ w[2]=’数学’ ⋀ t[1]=u[1] ⋀ t[2]=u[2] ) } 3. 域表达式{ t 1t 2 | (∃u 3)(∃u 4)(∃v 3)(∃w 1)(∃w 2)(∃w 3) ( S(t 1t 2u 3u 4) ⋀ SC(t 1w 1v 3) ⋀ C(w 1w 2w 3) ⋀ w 2=’数学’ ) }四、设有关系模式R(ABCDE),其函数依赖集F={ A→BC, CD→E, B→D, E→A },试求下列问题:(每题5分,共10分)1.求出属性B关于F的闭包B+。
由B→D可知B+=BD。
2.求出关系模式R的所有候选键。
(1) 由{ A→BC, B→D }⊨ A→BCD,由{ A→BCD, CD→E }⊨A→BE,由{ A→BCD, A→BE, A→A }⊨A→ABCDE,故A是关系模式R的候选键;(2) 由{ B→D, B→B, C→C }⊨ BC→BCD,由{ BC→BCD, CD→E }⊨BC→E,由{ BC→E, E→A }⊨BC→A,由{ BC→BCD, BC→E, BC→A }⊨BC→ABCDE,故BC是关系模式R的候选键;(3) 由{ CD→E, CD→CD }⊨ CD→CDE,由{ CD→E, E→A }⊨CD→A,由{ CD→A, A→BC }⊨CD→BC,由{ CD→CDE, CD→A, CD→BC }⊨CD→ABCDE,故CD是关系模式R的候选键;(4) 由{ E→A, A→BC }⊨ E→BC,由{ E→BC, B→D }⊨E→CD,由{ E→A, E→BC, E→CD, E→E }⊨E→ABCDE,故E是关系模式R的候选键;综上所述,关系模式R的候选键为A、BC、CD、E。