04735数据库系统原理(2018版)课后习题参考答案
答案仅供参考
第一章 数据库系统概述
选择题
B、B、A
简答题
1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27
数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。 数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
第二章 关系数据库
选择题
C、C、D
简答题
1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
第三章 数据库设计
选择题
B、C、C
简答题
1. 请简述数据库设计的基本步骤。 P66 需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。
2. 请分别举例说明实体之间联系的三种表现情形。 P74
一对一联系:对于实体集A中的每个实体,实体集B中最多只有一个实体与之联系,反之亦然。举例:班级与班长,每个班只有一个班长,每个班长也只在一个班内任职。
一对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。
多对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个班级对应多名任课教师,每个任课教师也对应多个授课班级。
3.请简述基本E-R图向关系模型转换的原则。 P80
1) 一个实体型转换为一个关系模式。实体的属性作为关系的属性,实体的码作为关系的码。 2)一个一对一联系(1:1)可以转换为一个关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码;如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
3)一个一对多联系(1:N)可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均
转换为关系的属性,而关系的码为N端实体的码。
4)一个多对多联系(M:N)转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,关系的码为各实体码的组合。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,关系的码为各实体码的组合。
5)具有相同码的关系模式可以合并。
第四章 SQL与关系数据库的基本操作
选择题
A 、C 、D
填空题
1.DDL DML DCL 2.NULL 3.PRIMARY KEY
简答题
1.请简述SQL是何种类型的语言。 P84 答:SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统。
2.请简述什么是子查询。 P114
答:子查询是指嵌套在其他语句中(SELECT、INSERT)的SELECT查询语句。 3.请简述视图与基本表的区别。P119 基本表是数据库中真实存在的表,而视图是建立在对数据库中真实表查询基础上的虚拟表。 视图的内容是由存储在数据库中进行查询操作的SQL语句定义的,它的列数据与行数据均来自于定义视图的查询所引用的基本表。 视图不适宜数据集的形式存储在数据库中的,它所对应的数据实际上是存储在视图所引用的基本表中的。
视图是用来查看存储在别处的数据的一种虚拟表,本身不存储数据。
第五章 数据库编程
简答题
1. 请简述存储过程的概念 P125
存储过程是一组为了完成某项特定功能的SQL语句集,经过编译后存储在数据库中,可以由声明式的SQL语句和过程式的SQL语句组成,用户通过指定存储过程的名字和参数来调用并执行存储过程,完成特定任务。
2. 请简述在数据库的操作中使用存储过程的优点 P125
可增强SQL语言的功能和灵活性 提供良好的封装性 提高系统性能
减少网络流量,降低网络负载
作为一种安全机制来确保数据库的安全性和数据的完整性
3. 请简述存储过程与存储函数的区别 P132 存储函数不能拥有输出参数,自身即是输出参数;存储过程可以拥有输出参数
存储函数可以被直接调用,而存储过程必须通过CALL语句调用
存储函数中必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中
第六章 数据库安全
选择题
A、D、D
填空题
1. 实体完整性约束、参照完整性约束、用户自定义完整性约束 2. Create user 3. revoke
简答题
1. 请简述实体完整性的含义 P136
答:实体完整性是指关系的主属性,即主码的组成不能为空。
2. 请简述事务的概念与ACID特性 P152 答:事务是由用户定义的一个数据操作序列,
是一个不可分割的工作单元,要么全部执行,要么全部不执行。
事务的特性:A是指原子性,即事务是不可再分的最小单元;C是指一致性,要求事务必须满足数据库的完整性约束;I是指隔离性,要求事务是彼此独立、隔离的,即一个事务的执行不能被其他事务所干扰;D是指持续性,是指一个事务一旦提交,对数据库中数据的改变应该是永久性的。 3. 请简述三种典型的并发操作问题 P154 答:1)丢失更新;2)不可重复读;3)读“脏”数据。
4. 请简述数据库备份的作用 P157
答:在数据丢失或被破坏的情况下保证数据库中数据的可靠性和完整性。
5. 设有如下三个事务,分别是T1:B=A+1、T2:B=B*2、T3:A=B+1,请回答:
i)设A的初值为2,B的初值为1,如果这三个事务并发执行,则可能的正确执行结果有哪些?
ii)给出一种遵循两段锁协议的并发调度策
略。 答:i)
T1-T2-T3: A 7, B 6 T1-T3-T2: A 4, B 6 T2-T1-T3: A 4, B 3 T2-T3-T1: A 3, B 4 T3-T1-T2: A 2, B 6
T3-T2-T1: A 2, B 3
ii)记Y为临时变量,给出服从两段锁协议的并发调度策略如下
T1:S(A),R(A),Y=A+1,X(B),W(B,Y),UL(A),UL(B),C
T2:S(B),R(B),Y=B*2,X(B),W(B,Y),UL(B),C
T3:S(B),R(B),Y=B+1,X(A),W(A,Y),UL(B),UL(A),C
第七章 数据库设计和开发实例
简答题
1. 简述数据库应用软件设计与实现的基本步骤
P162
以数据库的声明周期为演化主线,可分为需求分析、系统功能与数据库设计、系统功能与数据库实现、测试与维护阶段
2. 简述数据库应用软件开发过程中系统功能设计与数据库设计的区别和联系P165
系统功能设计是以系统需求分析产生的需求报告为基础的,数据库设计是以功能设计和前期的需求分析为基础的,局部采用ER图最后合并成全局ER图,并将其转换成关系模式,以关系规范化理论进行优化和处理。
第八章 数据管理技术的发展
简答题
1. 简述文章《第三代数据库系统宣言》中指出第三代数据库系统应具备的特征P180
第三代数据库系统必须支持数据管理、对象管理和知识管理
第三代数据库系统必须保持或集成第二代数据库系统技术
第三代数据库系统必须对其他系统开放
2. 描述数据仓库粒度的概念P182
粒度是指数据仓库数据单位中保存数据的细化或综合程度
3. 描述数据挖掘技术的功能P183 概念描述 关联分析 分类与预测 聚类 孤立点检测 趋势和演变分析
4. 列举大数据的基本特征P185 数据量巨大,大量化 数据种类繁多,多样化 处理速度快,快速化 价值密度低