完整word版数据库系统概论复习题及答案.docx
《完整word版数据库系统概论复习题及答案.docx》由会员分享,可在线阅读,更多相关《完整word版数据库系统概论复习题及答案.docx(81页珍藏版)》请在冰豆网上搜索。
![完整word版数据库系统概论复习题及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/10/0754e6b9-001b-4de4-8bd9-ed35a1be38f2/0754e6b9-001b-4de4-8bd9-ed35a1be38f21.gif)
完整word版数据库系统概论复习题及答案
第一学期期末考试试卷和答案
试卷代码:
03115 授课课时:
96
课程名称:
数据库系统原理A 适用对象:
本科选课班
一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分)
1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。
A、数据库系统B、文件系统C、人工管理D、数据项管理
2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。
A、SELECTB、FROMC、WHERED、ORDERBY
3、在数据库中,下列说法_A__是不正确的
A、数据库避免了一切数据的重复
B、若系统是完全可以控制的,则系统可确保更新是的一致性
C、数据可以共享
D、数据库减少了冗余
4、在数据库系统中,模式/外模式映像用于解决数据的_C__
A、结构独立性B、物理独立性
C、逻辑独立性D、分布独立性
5、关系代数的5种基本运算是__D_。
A、并、差、选择、投影、自然连接
B、并、差、交、选择、投影
C、并、差、交、选择、笛卡尔积
D、并、差、选择、投影、笛卡尔积
6、在SQL语句中,谓词“EXISTS”的含义是_B___。
A、全称量词B、存在量词C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列
7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷
A、数据不一致性B、结构不合理C、冗余度大D、数据丢失
8、数据库数据的正确性和相容性是数据库的__B____。
A、安全性B、可维护性C、完整性D、并发控制
9、数据库三级模式体系结构主要的目标是确保数据库的_B__。
A、数据安全性B、数据独立性
C、最小冗余D、数据结构规范化
10、后援副本的用途是_C____。
A、安全性保障B、一致性控制C、故障后的恢复D、数据的转储
评分标准:
每题1分
二、简答题(回答要点,并简明扼要作解释。
每题5分,共20分)
1、简述数据库系统从哪些方面来保证数据的完整性。
①列级约束:
数据类型、宽度、缺省值、检查约束、是否空值、唯一约束
②主键约束、
③外键约束、
④用户自定义约束:
主要通过触发器完成
评分标准:
1)写出列级约束 2分
2)写出主键约束 1分
3)写出外键约束 1分
4)写出用户自定义约束1分
2、简述事务的ACID特性
①原子性(A):
事务中的操作要么全做,要么一个也不做
②一致性(C):
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
③隔离性(I):
一个事务的执行不能被其它事务干扰
④持续性(D):
一个事务一旦提交,它对数据库中数据的修改应该是永久的
评分标准:
1)写出原子性 1分
2)写出隔离性 1分
3)写出一致性 2分
4)写出持续性1分
3、简述并发控制不当带来的数据不一致性问题
①丢失修改:
两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1的结果,导致T1的修改被丢失
②不可重复读:
是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果
③ 读“脏”数据:
是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致。
则T2读到了“脏”数据,即不正确的数据。
④产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。
评分标准:
1)写出丢失修改 1分
2)写出不可重复读 1分
3)写出读“脏”数据 2分
4)写出主要原因1分
4、简述数据库系统从哪些方面来保证数据的安全性。
①身份认证:
提供用户标识和密码的确认
②用户操作对象的权限:
通过授权机制
③视图:
只显示用户可以作用的属性及记录
④存储过程:
通过存储过程实现对不具有操作权限的数据
评分标准:
1)写出用户身份认证 2分
2)写出用户操作对象的权限1分
3)写出视图 1分
4)写出存储过程1分
三、编程与关系运算(每题5分,共20分)
设有四个关系
学生表(学号char(5),姓名varchar(10),姓别char
(2),所属系varchar(20))
Student(sno,sname,sex,dept)
课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,任课教师char(5))
Course(cno,cname,precno,ceredit,tno)
教师表(教师号char(5),教师名称varchar(10),姓别char
(2))
Teacher(tno,tname,sex)
选课表(学号char(5)、课程号char(3),成绩tinyint)
SC(sno,cno,grade)
1、编写一个触发器,当对学生表进行修改时其姓别只能是男和女。
createtriggerStudentUpdate
onStudent
forupdate
as
begin
ifexists(select*frominserted
wheresexnotin('男','女'))
rollback
end
评分标准:
1)写出createtrigger onStudent 1分
2)写出forupdate 1分
3)写出
ifexists(select*frominserted
wheresexnotin('男','女')) 2分
4)写出rollback 1分
2、编写一个存储过程,依据输入的学号参数,统计该学生的平均分和总分,要求使用游标,不可以使用sum和avg命令。
createprocedureSearchSumBySno(@snochar(5))
as
begin
declare@sumint,@avgnumeric(5,1),@gradetinyint,@counttinyint
select@sum=0,@count=0
declaremyCursorcursorfor
selectgradefromscwheresno=@sno
openmyCursor
fetchmyCursorinto@grade
while(@@fetch_status=0)
begin
select@sum=@sum+@grade
select@count=@count+1
fetchmyCursorinto@grade
end
closemyCursor
deallocatemyCursor
if@count=0
select0'总分',0'平均分'
else
begin
select@avg=@sum/@count
select@sum'总分',@avg'平均分'
end
end
评分标准:
1)定义游标 1分
2)定义变量 1分
3)给变量赋值 1分
4)游标的打开、获取和关闭 1分
5)循环条件 1分
3、使用关系代数语言查询选修了’刘红’老师所授的所有课程的同学学号。
∏sno,cno(SC)÷∏cno(σtname=’刘红’(Teacher)∞Course)
评分标准:
1)σtname=’刘红’(Teacher) 1分
2)与Course表的连接 1分
3)作除法运算 2分
4)括号正确 1分
4、使用元组演算语言查询同时选修了‘001’和‘002’两门课程号的同学姓名。
{t|ヨuヨvヨw(Student(u)∧SC(v)∧SC(w)∧v[2]=’001’∧w[2]=’002’
∧v[1]=w[1]∧u[1]=v[1]∧t[1]=u[2])}
评分标准:
1)写出存在量词 1分
2)写出自表连接运算v[1]=w[1]∧u[1]=v[1] 2分
3)写出选取条件v[2]=’001’∧w[2]=’002’ 1分
4)写出投影运算t[1]=u[2] 1分
四、综合设计题(共40分)
1、已知:
关系模式R(U,F)U=ABCDF={A→C,C→A,B→AC,D→AC}求:
(1)(AD)F+,R的候选码。
(5分)
(2)求F的最小函数依赖集,并使用算法将模式R无损失连接且保持函数依赖分解为3NF。
(5分)
解:
(1)(AD)F+=ADC,候选码:
BD
(2)最小函数依赖集:
Fmin={A→C,C→A,B→A,D→A},
将模式R无损失连接且保持函数依赖分解为3NF,P={AC,BA,DA,BD}。
评分标准:
(1)(AD)F+=ADC(2分)
(2)候选码:
BD(3分)
(3)F的最小函数依赖集是(2分)
(4)P={AC,BA,DA,BD}(3分)
2、设有关系模式R,U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,CD→AB},设有一个分解P={R1(ED),R2(BCD),R3(ACD)}判断该分解是否保持函数依赖,并判断此分解是否具有无损连接性。
(10分)
解:
(1)求出F的最小函数依赖集F’={A→D,E→D,D→B,BC→D,CD→A}
又因为:
F’+=(
Fi)+,则R的分解р={R1,R2,R3}保持函数依赖。
所以,该分解能保持函数依赖关系。
(5分)
(2)又因为:
A
B
C
D
E
R1
b11
a2
b13
a4
a5
R2
a1
a2
a3
a4
b25
R3
a1
a2
a3
a4
b35
可以得到没有一行全为a,所以该分解为有损分解。
(5分)
3、对于关系模式R(D,B,I,S,Q,O),设有两个函数依赖集F和G,其中F={S—>D,I—>B,IS—>Q,B—>O}G={S—>D,I—>B,IS—>Q,B—>O,I—>O}
试判断F和G是否等价。
(5分)
解:
因为F
G+,G
F+所以F和G等价。
评分标准:
1)F
G+(2分)
2)G
F+(2分)
3)F和G等价(1分)
4、数据库设计:
设计一个图书馆数据库,此数据库中保存有读者记录,包括读者号、姓名、地址、出生日期、单位。
每本图书有书号、书名、作者、出版社。
一本书有多个作者。
对每本借出的书有借出日期和应还日期。
一个读者可以借多本书。
要求:
1)画出E-R图(5分)
2)根据需要可以增加属性,转换为满足3NF的关系模式(5分)
3)给出主键约束和外键约束(5分)
4)关系名和属性名用汉字
1)画出E-R图
mn
评分标准:
1)绘出两个实体 2分
2)绘出一个联系 1分
3)每个实体、联系的属性 3分
2)根据需要可以增加属性,转换为满足3NF的关系模式
读者关系(读者号、读者名称、地址、出生日期、单位)
图书关系(图书号、图书名、出版社、出版日期)
图书-作者关系(图书号、作者名称、作者所在单位)
借书主关系(借书号、读者号、借书日期、应还日期)
借书明细关系(借书号、图书号)
评分标准:
每个关系 1分
3)给出主键约束和外键约束
读者关系:
主键:
读者号
图书关系:
主键:
图书号
图书-作者关系:
主键:
图书号+作者名称 外键:
图书号
借书主关系:
主键:
借书号
借书明细关系:
主键:
借书号、图书号
外键1:
借书号,外键2:
图书号
评分标准:
给出主键 3分
给出外键 2分
五、优化与并发(每题5分,共10分)
1、设有二个事务T、U,下面的并发操作是否正确,若不正确请使用时间戳方法解决其冲突,设Ts(T)(8分)
T
U
Read(b)
Write(b=b-300)
Read(b)
Write(b=b+300)
答:
并发操作不正确,可以使用时间戳方法解决其冲突。
数据bT事务U事务
读时标写时标操作
00
t10T读b
t20U读b
t2t2U更新b
t2t2T更新b(不允许,因t1t2t2回退T并赋予新时标t3
t3t2T读b
t3t3T更新b
正确的调度:
T事务
U事务
Read(b)
Write(b=b+300)
Read(b)
Write(b=b-300)
评分标准:
1)并发操作不正确,可以使用时间戳方法解决其冲突。
(1分)
2)时标表(3分)
3)正确的调度(1分)
2、优化中的算法描述:
根据排序—合并算法描述下列查询操作的实现。
(5分)
selecta.cust_id,b.tot_amt,b.order_date,a.tel_no
fromcustomera,salesb
wherea.cust_id=b.cust_id
解:
⑴首先对customer和sales按连接属性cust_id排序;
⑵取customer表中第一个cust_id,依次扫描sales表中具有相同cust_id的元组,把它们连接起来;
⑶当扫描到cust_id不相同的第一个sales元组时,返回customer表扫描它的下一个元组,再扫描sales表中具有相同cust_id的元组,把它们连接起来;
⑷重复上述步骤直到customer表扫描完。
评分标准:
1)写出第⑴步1分
2)写出第⑵步1分
3)写出第⑶步2分
4)写出第⑷步1分
试题二
得分
阅卷人
复查人
一、单项选择题
(本大题共20小题,每小题1.5分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.数据库系统与文件系统的主要区别是( )
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为()
A.数据定义语言(DDL)B.数据管理语言
C.数据操纵语言(DML)D.数据控制语言
3.数据库的网状模型应满足的条件是( )
A.允许一个以上结点无双亲,也允许一个结点有多个双亲
B.必须有两个以上的结点
C.有且仅有一个结点无双亲,其余结点都只有一个双亲
D.每个结点有且仅有一个双亲
4.数据的逻辑独立性是指()
A.内模式改变,模式不变
B.模式改变,内模式不变
C.模式改变,外模式和应用程序不变
D.内模式改变,外模式和应用程序不变
5.设有关系模式EMP(职工号,姓名,年龄,技能)。
假设职工号唯一,每个职工有多项技能,则EMP表的主码是( )
A.职工号B.姓名,技能
C.技能D.职工号,技能
6.在关系代数中,对一个关系做投影操作后,新关系的元组个数()原来关系的元组个数。
A.小于B.小于或等于C.等于D.大于
7.设关系R和S的属性个数分别是2和3,那么R
S等价于()
1<2
A.
1<2(R
S)B.
1<4(R
S)
C.
1<2(R
S)D.
1<4(R
S)
8.学校数据库中有学生和宿舍两个关系:
学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)
假设有的学生不住宿,床位也可能空闲。
如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行()
A.全外联接B.左外联接
C.右外联接D.自然联接
9.用下面的T-SQL语句建立一个基本表:
CREATETABLEStudent(SnoCHAR(4)NOTNULL,
SnameCHAR(8)NOTNULL,
SexCHAR
(2),
AgeSMALLINT)
可以插入到表中的元组是()
A.'5021','刘祥',男,21B.NULL,'刘祥',NULL,21
C.'5021',NULL,男,21D.'5021','刘祥',NULL,NULL
10.把对关系SC的属性GRADE的修改权授予用户ZHAO的T-SQL语句是( )
A.GRANTGRADEONSCTOZHAO
B.GRANTUPDATEONSCTOZHAO
C.GRANTUPDATE(GRADE)ONSCTOZHAO
D.GRANTUPDATEONSC(GRADE)TOZHAO
11.图1中()是关系完备的系统
ABCD
图1
12.给定关系模式SCP(Sno,Cno,P),其中Sno表示学号,Cno表示课程号,P表示名次。
若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是()
A.(Sno,Cno)和(Cno,P)都可以作为候选码。
B.(Sno,Cno)是唯一的候选码。
C.关系模式SCP既属于3NF也属于BCNF。
D.关系模式SCP没有非主属性。
13.关系规范化中的删除操作异常是指()
A.不该删除的数据被删除B.不该插入的数据被插入
C.应该删除的数据未被删除D.应该插入的数据未被插入
14.在数据库设计中,将E-R图转换成关系数据模型的过程属于()
A. 需求分析阶段 B.物理设计阶段 C.逻辑设计阶段 D.概念设计阶段
15.在合并分E-R图时必须消除各分图中的不一致。
各分E-R图之间的冲突主要
有三类,即属性冲突、命名冲突和结构冲突,其中命名冲突是指()。
A.命名太长或太短
B.同名异义或同义异名
C.属性类型冲突
D.属性取值单位冲突
16.事务的原子性是指()。
A.一个事务内部的操作及使用的数据对并发的其他事务是隔离的--隔离性
B.事务一旦提交,对数据库的改变是永久的--持续性
C.事务中包括的所有操作要么都做,要么都不做---
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态--一致性
17.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为()
A.事务故障B.系统故障C.介质故障D.运行故障
18.若事务T对数据对象A加上S锁,则()。
A.事务T可以读A和修改A,其它事务只能再对A加S锁,而不能加X锁。
B.事务T可以读A但不能修改A,其它事务能对A加S锁和X锁。
C.事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁。
D.事务T可以读A和修改A,其它事务能对A加S锁和X锁。
19.设有两个事务T1、T2,其并发操作如图2所示,下面评价正确的是()
A.该操作不存在问题B.该操作丢失修改
C.修改该操作不能重复读D.该操作读“脏”数据
T1T2
①读A=100
A=A*2写回
②读A=200
③ROLLBACK
恢复A=100
图2
20.图3是一个()
A.ER图B.I/O图
C.DFD图D.IPO图
图3
得分
阅卷人
复查人
二、填空题
(本大题共10小题,每小题1分,共10分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
1.数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成。
2.在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在S中称为外码。
3.关系操作的特点是集合操作。
4.已知学生关系(学号,姓名,年龄,班级),要检索班级为空值的学生姓名,其SQL查询语句中WHERE子句的条件表达式是班级ISNULL。
5.集合R与S的连接可以用关系代数的5种基本运算表示为σF(R×S)。
6.SELECT语句查询条件中的谓词“=ANY”与运算符IN等价。
7.在数据库中,只存放视图的定义,不存放视图对应的数据。
8.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的设计阶段。
物理
9.并发控制的主要方法是封锁机制。
10.已知关系R(A,B,C,D)和R上的函数依赖集F={A→CD,C→B},R属于第二范式。
得分
阅卷人
复查人
三、简答题
(第1题5分,第2、3题各6分共17分)
1.数据库管理系统有哪些功能?
数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:
(1)数据定义功能:
DBMS提供数据描述语言(DDL),用户可通过它来定义数据对象。
(2)数据操纵功能:
DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:
查询、插入、删除和修改。
(3)数据库的运行管理:
这是DBMS运行时的核心部分,它包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复等。
(4)数据库的建立和维护功能:
它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等
2.数据库设计分哪几个阶段?
数据库设计分以下六个阶段:
(1)需求分析
(2)概念结构设计
(3)逻辑结构设计
(4)物理结构设计
(5)数据库实施
(6)数据库运行和维护
3.简述三级封锁协议的内容以及不同级别的封锁协议能解决哪些数据不一致性
问题?
(1)一级封锁协议是:
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
一级封锁协议能够解决“丢失修改”问题。
(2)二级封锁协议是:
一级封锁协议加上事务在读取数据R之前必须先对其加S锁 ,读完后即可释放S锁。
二级封锁不仅可以解决“丢失修改”问题,而且可以解决读“脏“数据问题。
(