《数据库原理及应用教程(第4版 | 微课版)》第6章:“数据库设计”的学习提纲
前言
《数据库原理及应用教程(第4版 | 微课版)》第6章:“数据库设计”的学习提纲。
6.1 数据库设计概述
6.1.1 数据库设计的任务、内容和特点
数据库设计的内容:
- 结构/静态模型设计:概念设计,逻辑设计,物理设计
- 行为/动态模型设计
6.1.2 数据库设计方法简述
- 直观设计/手工试凑法
- 规范设计/新奥尔良法
- 计算机辅助设计法
- 自动化设计法
规范设计/新奥尔良法:
- 基于实体-联系(E-R)模型法
- 基于第三范式(3NF)法
- 基于视图法
- 实体分析法
- 属性分析法
- 基于抽象语义法
- …
6.1.3 数据库设计的步骤
- 系统需求分析
- 概念结构设计:独立于软件(数据库管理系统)和硬件;需求 -> 概念模型——概念模式
概念模式示例:实体-联系(E-R)图
- 逻辑结构设计:与软件(数据库管理系统)耦合;概念模型 -> 数据模型——关系模式
关系模式示例:学生(学号(主码),姓名)
- 物理结构设计:与硬件耦合
- 数据库实施
- 数据库运行与维护
第1和2步面向需求
第3和4步面向数据库管理系统
第5和6步面向实现
6.2 系统需求分析
6.2.1 需求分析的任务
- 调查分析用户活动
- 收集和分析需求数据,确定系统边界
- 编写系统分析报告/需求规范/格说明书
系统边界:判断哪些对象由人工完成,哪些对象由计算机自动完成
6.2.2 需求分析的方法
- 自顶向下/结构化分析(SA):最简单实用
- 自底向上
自顶向下/结构化分析(SA)方法使用的工具:
- 数据流图(DFD)
- 数据字典(DD)
数据表示:数据字典(DD)
数据处理:判定表,判定树
6.3 概念结构设计
6.3.1 概念结构设计的必要性
需求 -> 概念模型——概念模式
6.3.2 概念模型的特点
- 语义表达能力丰富
- 易于交流和理解
- 易于修改和扩充
- 易于向各种数据模型转换
6.3.3 概念模型的E-R表示方法
实体-联系(E-R)模型是概念模型。
E-R模型/图/方法的组成:
- 实体:矩形框
- 属性:椭圆形框
- 联系:菱形框
- 关系:无向边
- 其他:标注,联系的类型
联系的类型:
- 实体内/实体与属性的联系:一对一,一对多,多对多
- 实体间/实体与实体的联系:一对一,一对多,多对多
6.3.4 概念结构设计的方法与步骤
方法:
- 自顶向下:先全局,后局部
- 自底向上:先局部,后全局;最常用
- 逐步扩张:先核心,后全局
- 混合策略:先自顶向下,后自底向上
步骤:
- 数据抽象:设计局部E-R模型/用户视图
- 视图集成:集成各局部E-R模型为全局E-R模型
数据抽象的方法:
- 分类:抽象实体
- 聚集:抽象属性
数据抽象的步骤:
- 分类
- 聚集
- 设计局部E-R模型
视图集成的方法:
- 多元集成法:一次集成各局部E-R模型为全局E-R模型
- 二元集成法:分多次,每次集成两个局部E-R模型为全局E-R模型;最常用
视图集成的步骤:
- 合并:合并各局部E-R模型,消除冲突,生成初步E-R模型
冲突:属性冲突,命名冲突,结构冲突
属性冲突:属性值域冲突,属性取值单位冲突
命名冲突:同名异义,异名同义
结构冲突:同一对象在不同应用中抽象不同:可能为实体或属性,同一实体在不同应用中属性组成不同:可能数量或次序不同,同一联系在不同应用中类型不同:可能为一对一、一对多或多对多
- 优化:由初步E-R模型,消除冗余,生成基本E-R模型
6.4 逻辑结构设计
6.4.1 逻辑结构设计的任务和步骤
任务:概念模型 -> 数据模型——关系模式
关系模式示例:学生(学号(主码),姓名)
步骤:
- 初始关系模式设计
- 关系模式规范化
- 模式的评价与改进
6.4.2 初始关系模式设计
转换原则:
- 实体 -> 关系模式
- 联系 -> 关系模式
- 属性 -> 属性
步骤:
- 实体转换为关系模式,转换属性
- 联系转换为关系模式,转换属性
- 处理特殊情况
6.4.3 关系模式规范化
步骤:
- 确定范式级别
- 实施规范化处理:至少为第三范式(3NF)
6.4.4 模式评价与改进
模式评价:
- 功能评价
- 性能评价
模式改进的方法:
- 合并:合并关系模式以减少连接操作
- 分解
分解的类型:
- 水平分解:分解元组以减少操作的记录数
- 垂直分解:分解属性以减少操作的字段数
6.5 物理结构设计
步骤:
- 确定物理结构:存储结构,存取方法
- 评价物理结构:时间效率,空间效率
6.5.1 确定物理结构
步骤:
- 设计存储记录的结构:如字段的类型和长度
- 设计数据访问的方法:如索引
- 设计数据存储的位置:如存储的磁盘
- 设计系统的配置:如数据库的大小
6.5.2 评价物理结构
6.6 数据库实施
步骤:
- 建立实际数据库结构
- 装入数据
- 应用程序编码与调试
- 数据库试运行
- 整理文档
6.6.1 建立实际数据库结构
使用数据定义语言(DDL)
6.6.2 装入数据——略
6.6.3 应用程序编码与调试——略
6.6.4 数据库试运行
内容:
- 功能测试
- 性能测试
6.7 数据库运行和维护
内容:
- 维护数据库的安全性与完整性
- 监测并改善数据库性能
- 重新组织和构造数据库
数据库设计步骤的总结
方法:规范设计/新奥尔良法
1.系统需求分析
方法:自顶向下/结构化分析(SA)
工具:数据流图,数据字典,判定表/树
(1)调查分析用户活动
(2)收集和分析需求数据,确定系统边界
(3)编写系统分析报告/需求规范/格说明书
2.概念结构设计
方法:自底向上
工具:实体-联系(E-R)图
(1)数据抽象
方法:分类,聚集
①分类
②聚集
③设计局部E-R图
(2)视图集成
方法:二元集成法
①合并
②优化
- 逻辑结构设计
(1)初始关系模式设计
①实体转换为关系模式,转换属性
②联系转换为关系模式,转换属性
③处理特殊情况
(2)关系模式规范化
①确定范式级别
②实施规范化处理
(3)模式的评价与改进
模式评价:功能评价,性能评价
模式改进:合并,分解:水平分解,垂直分解
4.物理结构设计
(1)确定物理结构
①设计存储记录的结构
②设计数据访问的方法
③设计数据存储的位置
④设计系统的配置
(2)评价物理结构
- 时间效率
- 空间效率
5.数据库实施
(1)建立实际数据库结构
(2)装入数据
(3)应用程序编码与调试
(4)数据库试运行
- 功能测试
- 性能测试
(5)整理文档
6.数据库运行和维护
- 维护数据库的安全性与完整性
- 监测并改善数据库性能
- 重新组织和构造数据库
总结
《数据库原理及应用教程(第4版 | 微课版)》第6章:“数据库设计”的学习提纲。
参考资料
- 《数据库原理及应用教程(第4版 | 微课版)》主编:陈志泊;副主编:许福,韩慧;编著:崔晓晖,路贺俊,阮豫红
作者的话
- 感谢参考资料的作者/博主
- 作者:夜悊
- 版权所有,转载请注明出处,谢谢~
- 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
- 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
- 文章在认识上有错误的地方, 敬请批评指正
- 望读者们都能有所收获