你的浏览器不支持本网站所要求的功能, 现在看到的是本网站简化版本.

为了获得最佳体验, 请使用最新的Chrome, Safari, Firefox 或 Edge 浏览器.

5. 数据库设计

Powered by impress.js
Ver. 2408

## 5.2 需求分析
### 需求分析的任务 - 详细调查要处理的对象 - 充分了解原系统工作状况 - 明确用户需求 - 确定新系统功能
### 获得用户需求 - 信息要求 - 数据要求 - 处理要求 - 安全性要求 - 完整性要求
### 需求分析的难点 - 用户缺乏计算机知识 - 设计人员缺乏业务知识 - 用户无法描述需求 - 用户隐藏真正需求
### 用户需求调查 - 调查组织机构情况 - 调查各部门的业务活动情况 - 协助用户明确对新系统的各种要求 - 确定新系统的边界
### 常用调查方法 - 跟班作业 - 开调查会 - 专人介绍 - 询问 - 调查表 - 查阅记录
### 结构化分析 - 从最上层的系统组织机构入手 - 自顶向下 - 逐层分解
### 提交需求报告 - 提交给用户 - 获得用户书面认可
### 数据字典 - 是数据收集和数据分析的主要成果 - 是数据库中数据的描述 - 需求分析阶段建立 - 在数据库设计过程中不断修改完善
### 数据字典的内容 - 数据项: 不可再分的数据单位 - 数据结构: 反映数据之间的组合关系 - 数据流: 数据结构在系统内传输的路径 - 数据存储: 数据结构停留或保存的地方 - 处理过程: 数据的处理逻辑
### 数据项描述 - 数据项名 - 数据项含义说明 - 别名 - 数据类型 - 长度 - 取值范围 - 取值含义 - 与其他数据项的逻辑关系 - 数据项之间的联系
### 数据结构描述 - 数据结构名 - 含义说明 - 组成: 数据项或数据结构
### 数据流 - 数据流名 - 说明 - 数据流来源 - 数据流去向 - 组成: 数据结构 - 平均流量 - 高峰期流量
### 数据存储 - 数据存储名 - 说明 - 编号 - 输入的数据流 - 输出的数据流 - 组成: 数据结构 - 数据量 - 存取频度 - 存取方式
### 处理过程 - 处理过程名 - 说明 - 输入: 数据流 - 输出: 数据流 - 处理: 简要说明
### 需求分析的要点 - 收集将来应用所涉及的数据 - 应考虑可能的扩充和改变 - 强调用户的参与与配合
## 5.3 概念结构设计
### 概念结构设计 - 将用户需求抽象为信息结构 - 信息结构即概念模型 - 是数据库设计的关键
### 概念模型 - 信息世界的结构 - 能真实充分地反映现实世界 - 易于理解 - 易于更改 - 易于转换成各类数据模型
### E-R 模型 - 联系 - E-R 图
### 联系 - 一对一联系 (1:1) - 一对多联系 (1:n) - 多对多联系 (m:n)
### E-R 图 - 实体: 矩形 - 联系: 菱形 - 属性: 椭圆形
### 数据分类与组织 - 确定实体 - 确定实体属性 - 确定实体之间的联系类型
### 基本原则 - 能作为属性的尽量作为属性 - 作为属性的事物不能再具有需要描述的特性 - 属性不能与其他实体有联系
### E-R 图的集成 - 首先设计各个子系统的 E-R 图 - 集成形成整体 E-R 图 - 合并: 解决各个分 E-R 图之间的冲突 - 修改和重构: 消除不必要的冗余
### E-R 图之间的冲突 - 属性冲突 - 命名冲突 - 结构冲突
### 属性冲突 - 属性域冲突 - 属性取值单位冲突
### 命名冲突 - 同名异义 - 异名同义
### 结构冲突 - 同一对象在具有不同的抽象 - 同一实体在包含的属性个数和排列次序不同 - 实体间的联系为不同类型
### 消除冗余 - 冗余的数据 - 冗余的联系 - 通过数据项之间的逻辑关系消除
## 5.4 逻辑结构设计
### 逻辑结构设计 - 将 E-R 图转换为逻辑结构 - 如何转换 - 如何确定属性与码
### 联系转换规则 - 一个 1:1 联系转换成一个关系模式或与任意一端合并 - 一个 1:n 联系转换成一个关系模式或与 n 端合并 - 一个 m:n 联系转换成一个关系模式 - 三个实体以上的联系转换成一个关系模式 - 具有相同码的关系模式可以合并
### 数据模型的优化 - 确定数据依赖 - 极小化处理数据依赖 - 逐一分析数据依赖 - 根据处理要求注意分析模式 - 对关系模式进行必要分解
### 分解关系模式 - 水平分解: 按元组分解 - 垂直分解: 按属性分解
### 设计用户子模式 - 使用符合用户习惯的别名 - 为不同级别的用户定义不同的视图 - 简化用户对系统的使用
## 5.5 物理结构设计
### 物理结构 - 数据库在物理设备上的存储结构和存取方法 - 依赖于所选的数据库管理系统
### 物理设计 - 确定存取方法 - 确定索引方法和聚簇方法 - 评价物理结构进行评价 - 考虑时间和空间效率
### 分析事务 - 查询的关系 - 查询条件所涉及的属性 - 连接条件所涉及的属性 - 查询的投影属性 - 被更新的关系 - 每个关系上的更新操作条件所涉及的属性 - 修改操作要改变的属性值
### 确定存储结构 - 确定数据的存放位置和存储结构 - 存取时间 - 存储空间利用率 - 维护代价
### 确定数据存放位置 - 易变部分 - 稳定部分 - 经常存取部分 - 存取频率较低部分
### 确定系统配置 - 同时使用数据库的用户数 - 同时打开的数据库对象数 - 内存分配参数 - 缓冲区分配参数 - 存储分配参数 - 物理块的大小 - 数据库大小 - 锁的数目
### 评价物理结构 - 定量估算 - 时间效率 - 空间效率 - 维护代价 - 各种用户要求
## 5.6 数据库的实施和维护
### 数据库实施 - 描述逻辑设计 - 描述物理设计 - 产生目标模式 - 组织数据入库 - 应用程序编码和调试
### 数据库的试运行 - 实际运行数据库应用程序 - 执行对数据库的各种操作 - 测试应用程序的功能 - 测试系统的性能指标
### 数据库的维护 - 数据库的转储和恢复 - 数据库的安全性和完整性控制 - 数据库性能的监督, 分析和改造 - 数据库的重组织与重构造
![course 5.2 mindmap](img/c05/mindmap-5-2.png)
### 5.2 需求分析 - 需求分析阶段主要解决哪些问题? - 如何获得用户需求中的数据要求? - 结构化分析时, "自顶向下" 是什么意思? - 在概念结构设计中, 什么是 "信息结构"? - 物理结构设计阶段需要评价哪些方面? - 数据库维护中, 为什么需要关注数据库的性能监督? ---- [ 5.1 数据库设计概述](dbds-5-1.html#/overview) [| 练习 |](dbds-exec.html) [ 6.1 数据库安全性](dbds-6-1.html#/overview)

黑公网安备23010302001726号   黑ICP备2024033110号-1