数据库复习五
# 数据库设计概述
# 一、简述
数据库应用系统过程:
- 数据库设计 (用 DBMS 开发)
- 应用程序设计 (开发工具结合嵌入式 SQL)
# 二、数据库设计的特点
数据库建设是硬件、软件和干件的结合
- 三分技术,七分管理,十二分基础数据
- 技术与管理的界面称之为 "干件"
数据库设计应该与应用系统设计相结合
- 结构 (数据) 设计:设计数据库框架或数据库结构
- 行为 (处理) 设计:设计应用程序、事务处理等
# 数据库设计的基本步骤
按照规范化的思想,将数据库设计划分为以下六个阶段:
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 数据库物理设计
- 数据库实施
- 数据库运行和维护
# 一、需求分析
需求分析就是收集用户的各项业务活动及活动中所使用的数据,并由系统分析人员按照分析方法加以总结和提炼,正确地描述用户使用中的业务信息 (也是需求分析的设计目标)。
需求信息的收集又称为系统调查,即了解用户的组织机构设置、主要业务活动和职能及对新系统的要求
需求信息的收集应得到的主要材料 (即调查内容):
- 详细的组织机构图及各机构的职能
- 各项业务功能中所用到的原始数据、报表等已有的样表
- 业务处理的流程及相互关系
- 企业已实现的信息系统
- 在现有业务处理中用户的期望
需求信息的分析就是对收集到的需求信息进行加工整理,以数据流图和数据字典的形式进行描述,作为需求分析阶段的成果,也是下一步的基础
# 1、系统数据分析
# (1) 业务流程分析
即分析各项业务的执行过程和期间的数据联系、分析的结果以数据流图的形式描述
# (2) 建立数据字典
数据字典是各类数据描述的集合。
数据字典的内容包括数据项、数据结构、数据流、数据存储、处理过程等五部分
# (3) 组织机构工作流程分析
# 2、系统功能需求分析
# 二、概念结构设计
概念结构设计就是将用户的需求抽象为概念模型的过程。概念结构设计的内容就是建立概念模型
- 设计局部视图 (设计局部 E-R 图)
- 视图集成 (将所有局部 E-R 图集成为一张 E-R 图)
# 三、逻辑结构设计
逻辑结构设计是把概念机构设计阶段设计好的基体 E-R 图转换与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
逻辑结构设计步骤:
- 依照选用的 DBMS 支持的数据模型,确定欲转换的数据模型
- 根据确定的数据类型进行 E-R 图向该数据模型的转换
- 对得到的数据模型进行优化
- 设计子模式
# 1、E-R 图向关系模型的转换
转换方法:
- 一个实体型转换为一个关系模式
- 实体型的属性转换为关系的属性
- 实体码转换为关系的码
- 联系的转换:
- 一个 1:1 联系与任意一端对应的关系模式合并或者转换为一个独立的关系模式
- 关系的属性:与该联系相连的各实体的码以及联系本身的属性
- 关系的候选码:每个实体的码均是该关系的候选码
- 一个 1:n 联系与 n 端对应的关系模式合并
- 一个 m:n 联系转换为一个关系模式
- 关系的属性:与该联系相连的各实体的码以及联系本身的属性
- 关系的码:各实体码的组合
- 一个 1:1 联系与任意一端对应的关系模式合并或者转换为一个独立的关系模式
# 2、关系模式的优化
关系模式的优化应该从以下几方面实施:
关系模式规范化
规范化的目的在于解决更新异常和数据冗余,应该分解关系模式使其达到 3NF 或 BCNF
对关系模式进行必要的合并
# 3、设计用户子模式
用户子模式即外模式,是面向不同用户的应用程序所访问的数据视图
引入子模式原因:
- 实现数据的逻辑独立性
- 使用更符合用户习惯的别名
- 定义外模式可以实现数据的安全性 (参照视图优化第一节)
- 简化用户对系统的使用
# 四、数据库的物理设计
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。
为给定的逻辑数据结构选取一个最合适应用环境的物理结构的过程,就是数据库的物理设计
数据库物理设计的步骤:
- 确定数据库的物理结构
- 对物理结构进行评价,评价的重点是时间和空间效率
- 如果评价结果满足原设计要求则可进入到物理实施阶段
设计物理数据库结构的准备工作:
- 充分了解应用环境,详细分析要运行的事务,以获得选择物理数据库设计所需参数
- 充分了解所用 RDBMS 的内部特征,特别是系统提供的存取方法和存储结构
选择物理数据库设计所需参数:
- 数据库查询事务
- 查询的关系
- 查询条件所涉及的属性
- 连接条件所涉及的属性
- 查询的投影属性
- 数据更新事务
- 被更新的关系
- 每个关系上的更新操作条件所涉及的属性
- 修改操作要改变的属性值
- 每个事务在各关系上运行的频率和性能要求
关系数据库物理设计的内容:
- 为关系模式选择存取方法 (建立存取路径)
- 设计关系、索引等数据库文件的物理存储结构
# 五、数据库的实施
数据库实施的工作内容:
- 用 DDL 定义数据库结构
- 组织数据入库
- 编制与调试应用程序
- 数据库试运行
# 六、数据库的运行和维护
在数据库运行阶段,对数据库经常性的维护工作主要由 DBA 完成的,包括:
# 1、数据库的转储和恢复
- DBA 要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份
- 一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某一种一致性状态。
# 2、数据库的安全性、完整性控制
- DBA 必须根据用户的实际需要授予不同的操作权限
- 由于应用环境的变化,数据库的完整性约束条件也会变化,也需要 DBA 不断修正,以满足用户要求
# 3、数据库性能的监督、分析和改进
- 在数据库运行过程中,DBA 必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法
# 4、数据库的重组织和重构造
- 数据库的重组织
- 重组织的目标 —— 提高系统性能
- 数据库的重构造