数据库规划,设计与管理
由于学习本章需要一定的实践经验,否则会觉得很抽象,所以本章不是考试重点,笔记记录的不是特别详细
对一些内容有疑惑的童鞋,欢迎私聊 or 评论一起讨论
Tip:本章可能会考的地方:数据库系统设计的三个阶段
1.信息系统
- 信息系统:在组织结构内用于收集、管理、控制和分发信息的一种资源
- 数据库系统和信息系统的关系:
- 从20世纪70年代起,数据库系统已经逐渐代替了基于文件的系统,成为信息系统的基础结构
- 信息系统生命周期:规划、需求收集与分析、系统设计、建立原型系统、系统实现、测试、数据转换和运行维护
2. 数据库系统开发生命周期
数据库系统开发周期总览
2.1Database Planning – 数据库规划
- 定义:
- 数据库规划是一种管理活动,目的是尽可能高效地及有效地展开数据库系统开发生命周期的各个阶段
- 数据库规划必须与组织机构关于信息系统的整体策略结合在一起
- 构思信息系统策略时,涉及以下三个主要问题
- 识别企业的规划、目标以及随之而定的信息系统需求
- 评估现有的信息系统,明确其长处和短处
- 估量IT机遇可能带来的竞争优势
- 步骤
- 清晰定义项目的任务描述:
- 定义了数据库系统的主要目标,通常由项目主管或负责人撰写
- 确定任务目标
- 每个任务目标都应当和一个数据库系统必须支持的功能相对应
- 我们假设如果数据库系统支持所有的任务目标,那么任务描述也就实现了
- 清晰定义项目的任务描述:
- Database planning should also include development of standards that govern:
- how data will be collected,
- how the format should be specified
- what necessary documentation will be needed
- how design and implementation should proceed
2.2 System Definition – 系统定义
- 系统定义:定义数据库应用程序的范围和边界,以及主要的用户试图
2.3 Requirements Collection and Analysis – 需求收集与分析
- 需求收及与分析
- 收集、分析组织结构内需要数据库支持的那部分的信息,并据此确定对新系统的需求
- 应收集的信息包括
- 使用或产生的数据
- 这些数据是如何使用或产生的
- 对新数据库系统的其他需求
- 需求收集与分析阶段需要解决的另外一个重要问题是如何处理多个用户视图。通常有三种主要的方法:
- 集中式法
- 合并所有用户视图的需求,形成对新系统的一组需求。在数据库设计阶段创建一个表示了所有用户需求的数据模型
- 视图集成方法
- 每个用户视图的需求都独立列出。在数据库设计阶段,首先针对每个用户视图的需求建立各自的数据模型,然后再加以整合
- 上述两种方法的集合
- 集中式法
2.4 Database Design – 数据库设计(本章重点)
- 数据库设计:
- 为企业或单位所需数据库系统生成设计方案的过程,该设计方案应能支持该数据库的任务描述和任务目标
- 数据库设计的四种方法
- 自下而上
- 从底层的属性(指实体和联系的属性)入手,通过分析属性之间的关联,将他们分别组合成代表实体类型和实体类型之间联系的关系
- 自上而下
- 建模初始,数据模型仅包含少量的高层实体以及实体之间的联系,然后连续使用自上而下的方法进行精化模型,进一步确定底层的实体和实体之间的联系以及相关属性。
- 由里向外
- 首先建立主要实体的集合,然后向外扩展,确定与已建立实体相关的其他实体、联系和属性
- 混合策略
- 将数据模分割为可组装的构建,对不同的构建既可以使用自下而上的方法,也可以选择自上而下的方法
- 自下而上
- 数据建模
- 主要目的:
- 有助于设计人员对数据含义的理解
- 有助于设计人员与用户之间的交流
- 通过数据建模可以确保我们能够正确理解:
- 每个用户对数据的观点
- 与其物理表现形式无关的数据本身的性质
- 各用户视图中数据的使用
- 主要目的:
- 数据库设计的阶段
- 概念数据库设计
- 建立概念数据模型的过程,该模型与所有物理因素无关
- 逻辑数据库设计
- 根据已有的概念数据模型,建立逻辑数据模型,该模型与具体的DBMS以及其他物理因素无关
- 逻辑数据模型是建立在目标数据库所支持的数据模型基础之上的
- 物理数据库设计
- 产生数据库在辅存上的实现描述的过程。物理数据库设计定义了基础关系,文件组织方式和能够提高数据访问效率的索引,以及所有完整性的约束和安全措施
- 概念数据库设计
2.5 DBMS selection – DBMS的选择
- 选择合适的DBMS以支持相应的数据库系统
2.6 Application Design – 应用程序设计
- Application design – 应用程序设计:
- 完成用户界面和使用、处理数据库的应用程序的总体设计
- Transaction – 事务
- 由单个用户或者应用程序执行的访问或修改数据库的一个或一组动作
2.7 Prototyping – 原型设计
- 原型设计:
- 建立数据库系统的一个工作模型
- 原型设计的两种策略
- 需求原型
- 利用原型确定数据库系统的需求,一旦需求明确,该原型系统也就无用了
- 进化原型
- 和需求原型的目的相同,但是最重要的区别在于他并未杯抛弃,而是经过进一步开发之后演变成最终的数据库系统
- 需求原型
2.8 Implementation – 实现
- 实现:数据库和应用程序设计的物理实现
2.9 Data Conversion and Loading – 数据转换与加载
- 定义:将已有的数据转移到新数据库中,将原有的应用移植到新数据库上运行
2.10 测试
- 运行数据库系统,视图找出错误
2.11 运行和维护
- 在系统安装以后,继续对系统实施监控和维护的过程
2.12 CASE Tools
- 从广义上说,任何一种能够支持软件工程的工具都是CASE工具
- CASE对数据库系统开发活动的支持包括:
- 存储关于数据库系统数据的相关信息的数据字典
- 支持数据分析的设计工具
- 支持企业数据模型、概念数据模型和逻辑数据模型开发的工具
- 建立原型系统的工具
- CASE工具在以下各个方面都具有优越性
- 标准化
- 集成化
- 支持标准化方法
- 一致性
- 自动化
2.14 DA and DBA
- DA:数据资源的管理,包括以下工作:
- 数据库设计
- development and maintenance of standards, policies and procedures, and conceptual and logical database design.
- DBA:管理数据库应用程序的物理实现,包括以下工作
- physical database design and implementation
- setting security and integrity controls,
- monitoring system performance, and reorganizing the database.