2022年数据库系统概论复习试题和答案.pdf
数据库系统概论复习试题和答案数据库系统概论复习资料: 第一章 : 三: 简答题: 1、 什么就是数据库 ? 答: 数据库就是长期存储在计算机内、有组织的、可共享的数据集合。数据库就是按某种数据模型进行组织的、存放在外存储器上, 且可被多个用户同时使用。因此, 数据库具有较小的冗余度, 较高的数据独立性与易扩展性。2、 什么就是数据库的数据独立性? 答: 数据独立性表示应用程序与数据库中存储的数据不存在依赖关系, 包括逻辑数据独立性与物理数据独立性。逻辑数据独立性就是指局部逻辑数据结构( 外视图即用户的逻辑文件) 与全局逻辑数据结构 (概念视图) 之间的独立性。当数据库的全局逻辑数据结构(概念视图 )发生变化 ( 数据定义的修改、数据之间联系的变更或增加新的数据类型等)时, 它不影响某些局部的逻辑结构的性质, 应用程序不必修改。物理数据独立性就是指数据的存储结构与存取方法( 内视图 ) 改变时 , 对数据库的全局逻辑结构( 概念视图) 与应用程序不必作修改的一种特性, 也就就是说 , 数据库数据的存储结构与存取方法独立。3、 什么就是数据库管理系统? 答: 数据库管理系统 (DBMS) 就是操纵与管理数据库的一组软件, 它就是数据库系统 (DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS, 而不同的 DBMS 各支持一种数据库模型 , 虽然它们的功能强弱不同, 但大多数 DBMS 的构成相同 , 功能相似。一般说来 ,DBMS具有定义、建立、维护与使用数据库的功能, 它通常由三部分构成 : 数据描述语言及其翻译程序、数据操纵语言及其处理程序与数据库管理的例行程序。4、什么就是数据字典 ?数据字典包含哪些基本内容? 答: 数据字典就是数据库系统中各种描述信息与控制信息的集合, 它就是数据库设计与管理的有力工具, 就是进行详细数据收集与数据分析所获得的主要成果。数据字典的基本内容有: 数据项、数据结构、数据流、数据存储与处理过程5 个部分。第一章补充作业部分 : 假设教学管理规定 : 一个学生可选修多门课, 一门课有若干学生选修 ; 一个教师可讲授多门课, 一门课只有一个教师讲授; 一个学生选修一门课 , 仅有一个成绩。学生的属性有学号、学生姓名; 教师的属性有教师编号 , 教师姓名 ; 课程的属性有课程号、课程名。要求: 根据上述语义画出ER图, 要求在图中画出实体的属性并注明联系的类型; 解答: 课程号课程名精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案第 2 章关系数据库8、如图所示 , 两个关系 R1与 R2,它们进行运算后得到 R3 。R2 R1 A B C A C D 1 2 1 X Y y R3 A B C D E A C C 1 1 2 X Y y M M N I I J A.交 B.并 C.笛卡尔积 D.连接答案:D 三、应用题 : 设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)与 SC(S#,C#,GRADE), 试用关系代数表达式表示下列查询语句 : (1) 检索“程军”老师所授课程的课程号(C#)与课程名 (CNAME) 。 (2)检索年龄大于 21 的男学生学号 (S#) 与姓名 (SNAME) 。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME) 。 (4)检索”李强”同学不学课程的课程号(C#) 。 (5)检索至少选修两门课程的学生学号(S#) 。 (6)检索全部学生都选修的课程的课程号(C#) 与课程名 (CNAME) 。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#) 。 (8)检索选修课程号为k1 与 k5 的学生学号 (S#) 。 (9)检索选修全部课程的学生姓名(SNAME) 。 (10)检索选修课程包含学号为2 的学生所修课程的学生学号(S#) 。 (11)检索选修课程名为“ C语言”的学生学号 (S#) 与姓名 (SNAME) 。解: 本题各个查询语句对应的关系代数表达式表示如下: (1) 、 C#,CNAME( TEACHER=程军 (C) (2)、 S#,SNAME( AGE21 SEX= ”男” (C) (3)、 SNAMEs? S#,C#(sc) C#(TEACHER=程军 (C) (4)、 C#(C)- C#(SNAME=李强 (S) ? SC) D E M 1 2 5 M N M I J K 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案 (5)、 S#(1=42 5 (SC SC) (6) 、 C#,CNAME(C? ( S#,C#(sc) S#(S) (7)、 S#(SC ? C#(TEACHER=程军 (C) (8)、 S#,C#(sc) C#(C#= k1 C#=k5(C) (9)、 SNAMEs? S#,C#(sc) C#(C) (10)、 S#,C#(sc) C#(S#=2(SC) (11) 、 S#,SNAMEs? S#(SC ? CNAME=C语言 (C) 关系 R与 S如下图所示 , 试计算 RS。 R A B C D a b c d a b e f a b h k b d e f b d d l c k c d c k e f 第 3 章关系数据库标准语言SQL 一、选择题第 8 到第 11 题基于这样的三个表即学生表S、课程表 C与学生选课表 SC,它们的结构如下 : S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号 ,SN 为姓名 ,SEX为性别 ,AGE为年龄 ,DEPT为系别 ,C#为课程号 ,CN为课程名 ,GRADE 为成绩。11、检索选修四门以上课程的学生总成绩( 不统计不及格的课程 ), 并要求按总成绩的降序排列出来。正确的 SELECT 语句就是 A.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE =60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*) 4 WHERE C#=“C2 ” AND GRADE (SELECT GRADE FORM SC WHERE C#=“C2 ”) B.SELECT S# FORM SC WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”) S C D c d e f 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案C.SELECT S# FORM SC WHERE C#=“C2 ” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2 ”) D.SELECT S# FORM SC WHERE C#=“C2” AND GRADEALL (SELECT GRADE FORM SC WHERE C#=“C2 ”)答案:D 二、填空题3、设有如下关系表R: R(No,NAME,SEX,AGE,CLASS) 主关键字就是 NO 其中 NO为学号 ,NAME 为姓名 ,SEX为性别 ,AGE为年龄 ,CLASS为班号。写出实现下列功能的SQL语句。插入一个记录 (25, “李明” , “男” ,21, “95031”); 。插入“ 95031”班学号为 30、姓名为“郑与”的学生记录; 。将学号为 10 的学生姓名改为“王华” ; 。将所有“ 95101”班号改为“ 95091”; 。删除学号为 20 的学生记录 ; 。删除姓“王”的学生记录; 。答案 : INSERT INTO R VALUES(25, “李明” , “男” ,21, “95031”) INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑与” , “95031”) UPDATE R SET NAME=“王华” WHERE NO10 UPDATE R SET CLASS“95091”WHERE CLASS“95101”DELETE FROM R WHERE NO=20 DELETE FROMR R WHERE NAME LIKE“王”第 3 章书面作业1、设学生课程数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 学习关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME) 其中 S#、C#、SNAME、AGE 、SEX 、GRADE、CNAME 分别表示学号、课程号、姓名、年龄、性别、成绩与课程名。用 SQL语句表达下列操作(1) 检索选修课程名称为“ MATHS”的学生的学号与姓名精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案 (2) 检索至少学习了课程号为“C1 ”与“ C2 ”的学生的学号(3) 检索年龄在 18 到 20之间( 含 18 与 20)的女生的学号、姓名与年龄(4) 检索平均成绩超过80 分的学生学号与平均成绩(5) 检索选修了全部课程的学生姓名(6) 检索选修了三门课以上的学生的姓名答案 :(1)SELECT SNAME,AGE FROM S,SC,C WHERE S、S#=SC 、S# AND C、C#=SC 、C# AND CNAME= MATHS (2) SELECT S# FROM SC WHERE CNO= C1AND S# IN( SELECT S# FROM SC WHERE CNO= C2) (3)SELECT S#,SNAME,AGE FROM S WHERE AGE BETWEEN 18 AND 20 (4) SELECT S# ,AVG(GRADE) 平均成绩 FROM SC GROUP BY S# HAVING AVG(GRADE)80 (5)SELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S、 S# AND C#=C 、C# ) ) (6) SELECT SNAME FROM S,SC WHERE S、S#=SC 、S# GROUP BY SNAME HAVING COUNT(*)3 2、设学生 - 课程数据库中包括三个表: 学生表 :Student (Sno,Sname,Sex,Sage,Sdept) 课程表 :Course(Cno,Cname,Ccredit) 学生选课表 :SC(Sno,Cno,Grade) 其中 Sno、Sname 、Sex、Sage、Sdept、 Cno、Cname 、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分与成绩。试用 SQL语言完成下列项操作 : (1) 查询选修课程包括“ 1042”号学生所学的课程的学生学号(2) 创建一个计科系学生信息视图S_CS_VIEW, 包括 Sno学号、 Sname姓名、 Sex性别; (3) 通过上面第 2 题创建的视图修改数据 , 把王平的名字改为王慧平精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案(4) 创建一选修数据库课程信息的视图, 视图名称为 datascore_view,包含学号、姓名、成绩。答案:(1) SELECT DISTINCT SNO FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY、SNO = 1042 AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ 、SNO=SCX、SNO AND SCZ、 CNO=SCY、CNO); (2) CREATE VIEW S_CS_VIEW AS SELECT SNO,SNAME,SEX FROM STUDENT WHERE Sdept=CS (3)UPDATE S_CS_VIEW SET SNAME= 王慧平 WHERE SNAME= 王平(4) CREATE VIEW datascore_view AS SELECT SNO 学号、SNAME 姓名、GRADE 成绩 FROM STUDENT,SC,COURSE WHERE STUDENT、SNO=SC、SNO AND COURSE 、CNO=SC、CNO AND CNAME= 数据库第 5 章数据库完整性一、选择题 : 2、关于主键约束以下说法错误的就是( ) A、 一个表中只能设置一个主键约束 B、允许空值的字段上不能定义主键约束C 、允许空值的字段上可以定义主键约束 D 、 、可以将包含多个字段的字段组合设置为主键答案:C 三、设计题在学生课程管理数据库中创建一触发器, 当向学生选课表插入记录时, 检查该记录的学号在学生表中就是否存在 , 检查该记录的课程号在课程表中就是否存在, 及选课成绩就是否在0 到 100 范围, 若有一项为否, 则不允许插入。答案: create trigger stu_ins_tri on sc for insert as begin declare s# char(6),c# char(5),grade int 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案select s#=sno,c#=cno,grade=score from inserted if (s# not in(select sno from student) or (c# not in (select cno from course) )or (grade not between 0 and 100) rollback transaction else print 成功插入 end 第 6 章关系数据理论一、选择题1、关系规范化中的删除操作异常就是指 ,插入操作异常就是指。 A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入答案: A D 5、关系模型中的关系模式至少就是。 A.1NF B.2NF C.3NF D.BCNF 答案:A 6、在关系 DB中, 任何二元关系模式的最高范式必定就是。 A.1NF B.2NF C.3NF D.BCNF 答案:D 7、 在 关 系 模 式 R 中 , 若 其 函 数 依 赖 集中 所有 候选 关键 字都 就是 决定 因素 , 则R 最 高范 式就是。 A.2NF B.3NF C.4NF D.BCNF 答案:C 12、根据关系数据库规范化理论, 关系数据库中的关系要满足第一范式。下面“部门”关系中, 因哪个属性而使它不满足第一范式 ? 。部门(部门号 , 部门名 , 部门成员 , 部门总经理 ) A.部门总经理 B.部门成员 C.部门名 D.部门号答案:B 二、填空题2、对于非规范化的模式 , 经过转变为 1NF,将 1NF经过转变为 2NF,将 2NF经过转变为 3NF 。答案 : 使属性域变为简单域消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖四、综合练习精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade) 其中 :Sno 学号、 Sname姓名、 SD系名、Sdname系主任名、 Course 课程、Grade 成绩。 (1) 写出关系模式 S的基本函数依赖与主码。答: 关系模式 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中存在 SnoSD,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) 2、设有如下关系R (1) 它为第几范式 ? 为什么 ? (2) 就是否存在删除操作异常 ?若存在 , 则说明就是在什么情况下发生的? 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案(3) 将它分解为高一级范式 , 分解后的关系就是如何解决分解前可能存在的删除操作异常问题? (1) 它为第几范式 ? 为什么 ? 解: 它就是 2NF 。 因为 R的候选关键字为“课程名”。依赖关系 : 课程名教师名 , 教师名 课程名, 教师名教师地址 , 所以 课程名教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数 , 因此 R不就是 3NF 。 但: 因为不存在非主属性对候选关键字的部分函数依赖, 所以 R就是 2NF 。(2) 就是否存在删除操作异常?若存在 , 则说明就是在什么情况下发生的? 解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。(3) 将它分解为高一级范式 , 分解后的关系就是如何解决分解前可能存在的删除操作异常问题? 解: 分解为高一级范式如图所示。R1如下: R2如下: 分解后 , 若删除课程数据时 , 仅对关系 R1操作, 教师地址信息在关系R2中仍然保留 , 不会丢失教师方面的信息。3、设某商业集团数据库中有一关系模式R如下: R ( 商店编号 , 商品编号 , 数量, 部门编号 , 负责人 ) 如果规定 :(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。试回答下列问题 :(1) 根据上述规定 , 写出关系模式 R的基本函数依赖 ; 答: 关系模式 S 的基本函数依赖如下 : (商店编号 , 商品编号 ) 部门编号 ,( 商店编号 , 部门编号 )负责人 ,( 商店编号 , 商品编号 ) 数量(2) 找出关系模式 R的候选码 ; 答: 关系模式 R的码为 :( 商店编号 , 商品编号 , 部门编号 ) 。(3) 试问关系模式 R最高已经达到第几范式?为什么?答: 原关系模式 R就是属于 1NF的, 码为( 商店编号, 商品编号 , 部门编号 ), 非主属性对码的函数依赖全为部分函数依赖, 所以不属于 2NF 。消除非主属性对码的函数依赖为部分函数依赖, 将关系模式分解成2NF如下: R1(商店编号 , 商品编号 , 部门编号 , 数量) R2(商店编号 , 部门编号 , 负责人 ) (4) 如果 R不属于 3NF,请将 R分解成 3NF模式集。答: 将 R分解为精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案R1(商店编号 , 商品编号 , 部门编号 , 数量) R2(商店编号 , 部门编号 , 负责人) 分解后的 R不存在传递的函数依赖 , 所以分解后的 R已经就是第 3NF 第 7 章数据库设计一、选择题1、在数据库设计中 , 用 E-R 图来描述信息结构但不涉及信息在计算机中的表示, 它就是数据库设计的阶段。A.需求分析B.概念设计C.逻辑设计D.物理设计答案:B 2、在关系数据库设计中 , 设计关系模式就是的任务。A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段答案:C 3、 数 据 库 物 理 设 计 完 成 后 , 进 入 数 据 库 实 施 阶 段 , 下 列 各 项 中 不 属 于 实 施 阶 段 的 工 作 就是。A.建立库结构B.扩充功能C.加载数据D.系统调试答案:B 4、在数据库的概念设计中, 最常用的数据模型就是。A.形象模型B.物理模型C.逻辑模型D.实体联系模型答案:D 5、从 E-R 模型关系向关系模型转换时, 一个 M N 联系转换为关系模型时, 该关系模式的关键字就是。A.M端实体的关键字 B.N 端实体的关键字 C.M端实体关键字与 N端实体关键字组合D.重新选取其她属性答案:C 6、当局部 E-R图合并成全局 E-R图时可能出现冲突 , 不属于合并冲突的就是。A.属性冲突B.语法冲突C.结构冲突D.命名冲突答案:B 7、概念模型独立于。A.E-R 模型B.硬件设备与 DBMS C.操作系统与 DBMS D.DBMS 答案:B 8、数据流程图 (DFD)就是用于描述结构化方法中阶段的工具。A.可行性分析B.详细设计C.需求分析D.程序编码答案:C 9、下图所示的 E-R图转换成关系模型 , 可以转换为关系模式。A.1 个B.2 个 C.3 个D.4 个答案:C 二、填空题1、数据库设计的几个步骤就是。价格借阅日期借阅借书人图书作者位置m n 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案答案: 需求分析 , 概念设计 , 逻辑设计 , 物理设计 , 系统实施 , 系统运行与维护2、 “为哪些表 , 在哪些字段上 , 建立什么样的索引”这一设计内容应该属于数据库设计阶段。答案: 物理3、在数据库设计中 , 把数据需求写成文档 , 它就是各类数据描述的集合, 包括数据项、 数据结构、数据流、数据存储与数据加工过程等的描述, 通常称为。答案: 数据字典4、在设计分 E-R图时, 由于各个子系统分别有不同的应用, 而且往往就是由不同的设计人员设计的, 所以各个分 E-R图之间难免有不一致的地方, 这些冲突主要有、与三类。答案: 属性冲突命名冲突结构冲突三、应用题设有如下实体 : 学生: 学号、单位、姓名、性别、年龄、选修课程名课程 : 编号、课程名、开课单位、任课教师号教师: 教师号、姓名、性别、职称、讲授课程编号单位: 单位名称、电话、教师号、教师名上述实体中存在如下联系: (1). 一个学生可选修多门课程, 一门课程可为多个学生选修;(2).一个教师可讲授多门课程, 一门课程可为多个教师讲授 ;(3).一个单位可有多个教师 , 一个教师只能属于一个单位。试完成如下工作 :(1).分别设计学生选课与教师任课两个局部信息的结构E-R 图。(2). 将上述设计完成的 E-R图合并成一个全局E-R图。(3). 将该全局 E-R图转换为等价的关系模型表示的数据库逻辑结构。解:(1).学生选课、教师任课局部E-R图如下所示。(2). 合并后的全局 E-R图如下所示。为避免图形复杂 , 下面给出各实体属性 : 单位: 单位名、电话学生: 学号、姓名、性别、年龄教师: 教师号、姓名、性别、职称课程: 编号、课程号开课单位课程选修学生拥有姓名性别学号课程名教师号编号单位名年龄1 1 m m n m 学生选课局部E-R 图教师课程讲授单位属于单位名电话编号姓名性别教师号年龄m n m 1 教师授课局部E-R 图属于单位课程选修学生拥有教师开课讲授1 1 1 m m m n n m m 全局 E-R 图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案(3). 该全局 E-R图转换为等价的关系模型表示的数据库逻辑结构如下: 单位(单位名 , 电话) 教师(教师号 , 姓名, 性别, 职称, 单位名 ) 课程(课程编号 , 课程名 , 单位名 ) 学生(学号, 姓名, 性别, 年龄, 单位名) 讲授(教师号 , 课程编号 ) 选修(学号, 课程编号 ) 四、简答题数据库设计一般分为哪几个阶段, 每个阶段的主要任务就是什么?解答:(1) 数据库设计分为6 个阶段 : 需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。(2) 各阶段任务如下 : 需求分析 : 准确了解与分析用户需求(包括数据与处理 ) 。概念结构设计 : 通过对用户需求进行综合、归纳与抽象, 形成一个独立于具体 DBMS 的概念模型。逻辑结构设计: 将概念结构转换为某个 DBMS 所支持的数据模型 , 并对其进行优化。 数据库物理设计 : 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构与存取方法) 。数据库实施 : 设计人员运用 DBMS 提供的数据语言、工具及宿主语言, 根据逻辑设计与物理设计的结果建立数据库, 编制与调试应用程序 , 组织数据入库, 并进行试运行。数据库运行与维护 : 在数据库系统运行过程中对其进行评价、调整与修改。第 10 章数据库恢复技术一、简答题1、什么就是事务 , 事务有哪些特性 ? 答: 事务就是 DBMS 的基本工作单位 , 它就是用户定义的一组逻辑一致的程序序列。它就是一个不可分割的工作单位 , 其中包含的所有操作 , 要么都执行 , 要么都不执行。事务具有4 个特性 : 原子性 (Atomicity )、一致性 (consistency )、隔离性 ( Isolation )与持续性(Durability )。这 4 个特性也简称为 ACID 特性。原子性: 事务就是数据库的逻辑工作单位, 事务中包括的诸操作要么都做, 要么都不做。一致性: 事务执行的结果必须就是使数据库从一个一致性状态变到另一个一致性状态。隔离性 : 一个事务的执行不能被其她事务干扰。即一个事务内部的操作及使用的数据对其她并发事务就是隔离的 , 并发执行的各个事务之间不能互相干扰。持续性: 持续性也称永久性 (Perfnanence ) ,指一个事务一旦提交 , 它对数据库中数据的改变就应该就是永久性的。接下来的其她操作或故障不应该对其执行结果有任何影响。2、事务中的提交与回滚就是什么意思? 答: 事务中的提交 (COMMIT) 就是提交事务的所有操作。具体说就就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去, 事务正常结束。事务中的回滚(ROLLBACK) 就是数据库滚回到事务开始精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案时的状态。具体地说就就是, 在事务运行的过程中发生了某种故障, 事务不能继续执行 , 系统将事务中对数据库的所有已完成的更新操作全部撤消, 使数据库回滚到事务开始时的状态。3、为什么要设立日志文件? 答: 设立日志文件的目的 , 就是为了记录对数据库中数据的每一次更新操作。从而DBMS 可以根据日志文件进行事务故障的恢复与系统故障的恢复, 并可结合后援副本进行介质故障的恢复。第 11 章并发控制一、选择题 : 1、. 设有两个事务 T1、T2,其并发操作如下所示 , 下面评价正确的就是。A.该操作不存在问题B.该操作丢失修改 C.该操作不能重复读D. 该 操 作 读“脏”数据答案:B T1 T2 读 A=10 A=A-5写回读 A=10 A=A-8写回2、设有两个事务T1、T2,其并发操作如下所示 , 下面评价正确的就是。A.该操作不存在问题B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”数据答案:C T1 T2 读 A=10,B=5 读 A=20,B=5 求与 25验证错读 A=10 A=A*2写回3、设有两个事务T1、T2,其并发操作如下所示 , 下列评价正确的就是。A.该操作不存在问题B.该操作丢失修改 C. 该操作不能重复读D. 该 操 作 读 “ 脏 ” 数 据答案:D T1 T2 读 A=100 A=A*2写回ROLLBACK 恢复 A=100 读 A=10 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 14 页 - - - - - - - - - - 数据库系统概论复习试题和答案5、若事务 T对数据 R已经加 X锁, 则其她事务对数据R 。A.可以加 S锁不能加 X锁B.不能加 S锁可以加 X锁 C.可以加 S锁也可以加 X锁D.不能加任何锁答案:D 二、填空题2、有两种基本类型的锁 , 它们就是与。答案 : 共享锁排它锁三、简答题1、叙述数据库中死锁产生的原因与解决死锁的方法。答: 死锁产生的原因 : 封锁可以引起死锁。比如事务 T1 封锁了数据 A,事务 T2 封锁了数据 B。T1 又申请封锁数据 B,但因 B被 T2封锁, 所以 T1只能等待。T2又申请封锁数据 A,但 A已被 T1封锁, 所以也处于等待状态。这样,T1 与 T2 处于相互等待状态而均不能结束 , 这就形成了死锁。解决死锁的常用方法有如下三种:(1) 要求每个事务一次就要将它所需要的数据全部加锁。 (2) 预先规定一个封锁顺序 , 所有的事务都要按这个顺序实行封锁。(3) 允许死锁发生 , 当死锁发生时 , 系统就选择一个处理死锁代价小的事务, 将其撤消 , 释放此事务持有的所有的锁, 使其她事务能继续运行下去。2、基本的封锁类型有几种?试叙述它们的含义。答: 基本的封锁的类型有排它锁( “X”锁) 与共享锁 ( “S”锁) 两种。若事务 T对数据 A加上 X锁, 则只允许事务 T 读取与修改数据 A,其她事务都不能再对A加任何类型的锁, 直到 T释放 A上的锁。若事务 T对数据 A加上 S锁, 则其她事务可以再对A加 S锁, 而不能加 X锁, 直到 T释放 A上的锁。3、什么就是活锁?如果事务 Tl 封锁了数据 R , 事务几又请求封锁 R , 于就是几等待。几也请求封锁 R , 当 Tl 释放了 R 上的封锁之后系统首先批准了几的请求, 几仍然等待。然后几又请求封锁 R , 当几释放了 R 上的封锁之后系统又批准了几的请求 几有可能永远等待 , 这就就是活锁的情形。活锁的含义就是该等待事务等待时间太长 , 似乎被锁住了 , 实际上可能被激活。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 14 页 - - - - - - - - - -