《数据库原理及应用》之FAQ 5

第五章

176. 什么是数据库设计?
数据库设计:数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系, 满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。

177. 什么是数据库工程?
数据库工程:指数据库应用系统的开发,它是一项软件工程,但有数据库应用自身的特点。

178. 什么是软件生存期?
软件生存期是软件工程的一个重要概念。是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。通常分为六个阶段:
(1) 规划阶段
(2) 需求分析阶段
(3) 设计阶段
(4) 程序编制阶段
(5) 调试阶段
(6) 运行维护阶段

179. 什么是数据库系统的生存期?
一般分为七个阶段,即:
(1) 规划阶段
(2) 需求分析阶段 1)信息要求 2)处理要求 3)安全性和完整性要求
(3) 概念设计阶段
(4) 逻辑设计阶段 两部分:数据库逻辑设计和应用程序设计
(5) 物理设计阶段 两部分:物理数据库结构的选择和逻辑设计中程序模块说明的精确化
(6) 实现阶段
(7) 运行维护阶段

180. 数据库结构的设计在生存期中的地位如何?
数据库结构的设计在生存期中的地位很重要,数据库结构的设计包括逻辑设计、物理设计, 逻辑设计把概念模式转化为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构, 而物理设计主要是设计DB在物理设备上的存储结构与存取方法等。

181. 数据库设计过程的输入有哪些内容:
(1) 总体信息需求
(2) 处理需求
(3) DBMS的特征
(4) 硬件和OS特征

182. 数据库设计过程的输出有哪两部分:
一部分是完整的数据库结构,其中包括逻辑结构与物理结构。
另一部分是基于数据库结构和处理要求的应用程序的设计原则。

183. 基于数据库系统生存期的数据库设计分成哪几个阶段?
分为5个阶段:规划、需求分析、概念设计、逻辑设计和物理设计五个阶段。

184. 什么是比较好的数据库设计方法?数据库设计方法应包括哪些内容?
一个好的数据库设计方法应该能在合理的期限内,以合理的工作量产生一个有实用价值的数据库结构。
一种实用的数据库设计方法应包括以下内容:设计过程、设计技术、评价准则、信息需求、描述机制。

185. 常见的数据库设计方法有哪几种:
(1) 视图模式化及视图汇总设计方法
(2) 关系模式的设计方法
(3) 新奥尔良设计方法
(4) 基于E-R模型的数据库设计方法
(5) 基于3NF的设计方法
(6) 基于抽象语法规范的设计方法
(7) 计算机辅助数据库设计方法

186. 实用的数据库设计方法至少应包括哪些内容:
(1) 设计过程
(2) 设计技术
(3) 评价准则
(4) 信息需求
(5) 描述机制

187. 一种设计方法学需要有三种基本类型的描述机制:
(1) 实现设计过程的最终结果将用DBMS的DDL表示。
(2) 信息输入的描述。
(3) 在信息输入和DDL描述之间的其它中间步骤的结果的描述。

188. 数据库设计中的规划阶段的主要任务:
是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。

189. 数据库设计的需求分析阶段是如何实现的?
数据库设计的需求分析通过三步来完成:即需求信息的收集、分析整理和评审。

190. 数据库设计的需求分析阶段目标是什么?
其目的在于对系统的应用情况作全面详细的调查,确定企业组织的目标, 收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求, 并把这些要求写成用户和数据设计者都能够接受的文档。

191. 什么是评审?
在数据库设计过程中,评审的目的是为了确认某一阶段的任务是否全部完成,避免重大的疏漏或错误, 并在生存期的早期阶段给予纠正,以减少系统研制的成本。

192. 什么是数据字典?
数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它的处理功能是存储和检索元数据,并且为数据库管理员提供有关的报告。 对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。

193. 评审在数据库设计中有什么重要作用?
评审的作用在于确认某一阶段的任务是否全部完成,通过评审可以及早发现系统设计中的错误, 并在生存期的早期阶段给予纠正,以减少系统研制的成本。

194. 为什么允许设计过程中有多次的回溯与反复?
如果在数据库已经实现时再发现设计中的错误,那么代价比较大。因此应该允许设计过程的回溯与反复。 设计过程需要根据评审意见修改所提交的阶段设计成果,有时修改甚至要回溯到前面的某一阶段,进行部分乃至全部重新设计。

195. 数据字典由哪几部分组成:
(1) 数据项
(2) 数据结构
(3) 数据流
(4) 数据存储
(5) 加工过程

196. 数据字典的作用是什么?
数据字典的内容一般包括:数据项、数据结构、数据流、数据存储和加工过程。其作用是对系统中数据做出详尽的描述,提供对数据库数据的集中管理。

197. 数据抽象的含义。
抽象是对实际的人、物、事或概念的人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
抽象有两种形式,系统状态抽象(抽象对象)和系统转换抽象(抽象运算)。

198. 对象的两种形式是什么?
(1) 聚集:的数学意义就是笛卡尔积的概念。通过聚集,形成对象之间的一个联系对象。
(2) 概括:是从一类其它对象形成一个对象。对于一类对象{O1,O2,……,On}可以概括成对象O,那么Oi称为O的其中一个。

199. 什么是依赖联系?
在现实世界中,常常有某些实体对于另一些实体具有很强的依赖关系,即一个实体的存在必须以另一个实体的存在为前提。我们通常把前者称为弱实体。在ER图中,用双线框表示弱实体,用指向弱实体的箭头表明依赖联系。

200. 子类、超类的定义?
某个实体类型中所有实体同时也是另一实体类型中的实体。此时,我们称前一实体类型是后一实体类型的子类,后一实体类型称为超类。在ER图中,带有子类的实体类型(超类)以两端双线的矩形框表示,并用加圈的弧线与其子类相连,子类本身仍用普通矩形框表示。
子类具有一个很重要的性质:继承性。它可继承超类上定义的全部属性,其本身还可包含其它另外的属性。

201. 对概念模型有些什么要求?
对概念模型一般有以下要求:
(1)概念模型是对现实世界的抽象和概括,它应真实、充分地反映现实世界中事物和事物之间的联系,具有丰富的语义表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂联系、 用户对数据对象的处理要求和手段。
(2)概念模型应简洁、明晰,独立于机器、容易理解、方便数据库设计人员与应用人员交换意见,使用户能积极参与数据库的设计工作。
(3)概念模型应易于变动。当应用环境和应用要求改变时,容易对概念模型修改和补充。
(4)概念模型应很容易向关系、层次或网状等各种数据模型转换,易于从概念模式导出也DBMS有关的逻辑模式。

202. 概念设计的具体步骤是什么?
概念设计的主要步骤为:
(1)进行数据抽象、设计局部概念模式;
(2)将局部概念模式综合成全局概念模式;
(3)评审。

203. 数据抽象在数据库设计过程中起什么作用?
数据抽象是概念设计中非常重要的一步。 通过数据抽象,可以将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构。

204. 什么是ER图?
ER图是用来表示数据库概念设计ER模型的工具,它提供了表示实体、属性和联系的方法。

205. 构成ER图的基本要素是什么?
构成ER图的基本要素是实体、属性和联系。

206. 对ER模型的操作有些什么?
(1) 实体类型的分裂:垂直分割、水平分割
(2) 实体类型合并:分裂的逆过程。
(3) 联系类型的分裂
(4) 联系类型的合并

207. 采用ER方法的数据库概念设计分成哪三步?
(1) 设计局部ER模式:1)确定局部结构范围 2)实体定义 3)联系定义 4)属性分配
(2) 设计全局ER模式:1)确定公共实体类型 2)局部ER模式的合并 3)消除冲突。
(3) 全局ER模式的优化:1)实体类型的合并 2)冗余属性的消除 3)冗余联系的消除

208. 冲突分为哪三种?
属性冲突,包括属性域的冲突、属性取值单位冲突。
结构冲突,包括:
(1) 同一对象在不同应用中的不同抽象。
(2) 同一实体在不同局部ER图中属性组成不同。
(3) 实体之间的联系在不同的局部ER图中呈现不同的类型。
命名冲突,包括属性名,实体名,联系名之间的冲突:同名异义、异名同义

209. ER模型向关系模型的转换原则?
ER模型中的主要成分是实体类型和联系类型。
对实体类型,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
对联系类型,就视1:1、1:N、M:N三种不同的情况做不同处理。
(1) 对1:1可在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
(2) 对1:N,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。
(3) 对M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键盘加上联系类型的属性,而键为两端实体键的组合。

210. 逻辑设计的目的是什么?
逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。

211. 逻辑设计过程中的输入信息有些什么?
(1) 独立于DBMS的概念模式,即概念设计阶段产生的所有局部和全局概念模式;
(2) 处理需求,即需求分析阶段产生的业务活动分析结果;
(3) 约束条件,即完整性、一致性、安全性要求及响应时间要求等;
(4) DBMS特性,即特定的DBMS特性,即特定的DBMS所支持的模式、子模式和程序语法的形式规则。

212. 逻辑设计过程输出的信息有些什么?
(1) DBMS可处理的模式;
(2) 子模式;
(3) 应用程序设计指南;
(4) 物理设计指南。

213. 试述逻辑设计阶段的主要内容。
逻辑设计主要是把概念模式转换成DBMS能处理的模式。 转换过程中要对模式进行评价和性能测试,以便获得较好的模式设计。
逻辑设计的主要步骤包括:
(1)初始模式的形成
(2)子模式设计
(3)应用程序设计梗概
(4)模式评价
(5)修正模式。

214. 规范化理论对数据库设计有什么指导意义?
在概念设计阶段,已经把关系规范化的某些思想用作构造实体类型和联系类型的标准, 在逻辑设计阶段,仍然要使用关系规范化的理论来设计模式和评价模式。 规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性,一致性和存储效率。

215. 什么是物理设计?
对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。物理结构,主要指数据库在物理设备上的存储结构和存取方法。

216. 物理设计的步骤。
物理设计可分五步完成,前三步涉及到物理数据库结构的设计,后两步涉及约束和具体的程序设计。
(1) 存储记录结构设计
(2) 确定数据存储安排
(3) 访问方法的设计
(4) 完整性和安全性
(5) 程序设计

217. 数据实现阶段主要做哪几件事情?
数据库实现阶段的主要工作有以下几点:
(1)建立实际数据库结构
(2)试运行
(3)装入数据

218. 数据系统投入运行后,有哪些维护工作?
数据系统投入运行后,主要维护工作有:
(1)维护数据库的安全性与完整性控制及系统的转储和恢复;
(2)性能的监督、分析与改进;
(3)增加新功能;
(4)发现错误,修改错误。

219. 在数据库系统生存期中,生存期的总开销可分为哪几项?
规划开销、设计开销、实现与测试开销、操作开销、维护开销。

220. 用户使用和计算机资源的操作开销是:
(1) 查询响应时间
(2) 更新事务的开销
(3) 报告生成的开销
(4) 改组频率和开销
(5) 主存储空间
(6) 辅助存储空间

221. 数据库的重新组织设计是什么含义?
对数据库的概念模式、逻辑结构或物理结构的改变称为重新组织,其中改变概念模式或逻辑结构又称为重新构造,改变物理结构则称为重新格式化。

222. 数据库的重新组织设计的重要性。
数据再组织,通常是由于环境,需求的变化或性能原因而进行的,如信息定义的改变, 增加新的数据类型,对原有的数据提出了新的使用要求, 改用具有不同物理特征的新存储设备以及数据库性能下降等都要求进行数据库的重新组织。

223. 运行维护阶段的主要工作:
(1) 维护数据库的安全性和完整性控制及系统的转储和恢复。
(2) 性能的监督、分析与改进。
(3) 增加新功能。
(4) 发现错误,修改错误。

224. 什么是安全性控制?
数据库的安全性控制主要是防止对数据库的非法使用所造成数据库的泄漏、篡改或破坏,与数据保密相关。

225. 什么是跟踪审查?
跟踪审查是一种监视措施,它对某些保密数据,跟踪记录有关这些数据的访问活动,供事后分析和调查。

226. 什么是授权?
授权就是给予用户一定的访问权限,这是对用户访问权限的规定和限制。

227. 什么是完整性控制?
数据库的完整性控制用来保护数据库中数据的正确性(合法性)、有效性和一致性(相容性),防止错误的数据进入数据库造成无效的操作。

228. 什么是并发性控制?
数据库的并发控制是指数据库合理调度并发事务,避免并发事务之间的相互干扰造成数据的不一致性。在并发控制中一般采取封锁的机制。

229. 什么是数据库恢复?
数据库恢复是指数据库系统具有的检测故障并把数据从错误状态中恢复到某一正确状态的功能

230. 什么是恢复日志?
恢复日志是一个系统记录文件,用来记录每一次对数据库的更新操作,为数据库的恢复保留详细的数据。设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作,从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。

231. 一般来说数据库恢复有哪两个方法?
后向恢复过程:为了消除非正常提交的事务对数据库的影响,常常利用日志中记载的信息,将数据库恢复到非正常事务开始时的初始状态。
前向恢复过程:先由最新的数据库副本来重建数据库,然后再利用日志重做所有的改变,使数据库恢复到最近某个可用的状态。

232. 什么是死锁?
当两个或多个事务(用户)都在同时等待对方释放自己希望加锁的数据对象时,其中的每一个都等待对方释放封锁,就会出现死锁。

233. 避免死锁的两个方法是什么?
一次加锁法:一次加锁法是避免产生死锁的一种方法。要求一个事务一启动就对它所使用的数据目标全部依次加锁,并要求一次加锁成功。
顺序加锁法:顺序加锁法是避免产生死锁定一种方法。预先对所有可以加锁的数据目标规定一个加锁顺序,每个用户的任何事务都必须严格地按照这个顺序对数据执行加锁,在释放时按照反向顺序进行。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>