【数据库】第7章 数据库设计
本文所属《数据库系统原理》分类专栏,相关文章导航请点击《数据库系统原理》目录汇总贴
一、数据库设计概述
数据库设计,广义上讲,是数据库及其应用系统的设计,即设计整个数据库应用系统;狭义上讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分。
定义:数据库设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据,满足用户的应用需求,包括信息管理要求和数据操作要求。
1.1 数据库设计的特点
- 三分技术,七分管理,十二分基础数据。
- 结构(数据)设计和行为(处理)设计相结合
1.2 数据库设计方法
- 新奥尔良方法
- 基于E-R模型的设计方法
- 3NF(第三范式)的设计方法
- 面向对象的数据库设计方法
- 统一建模语言(UML)方法
1.3 数据库设计的基本步骤
- 需求分析:数据字典、全系统中的数据项、数据结构、数据流、数据存储的描述。
- 概念结构设计:概念模型(E-R图)、数据字典。
- 逻辑结构设计
- 物理结构设计
- 数据库实施
- 数据库运行和维护
1.4 设计中过程中的各级模式
概念模式、逻辑模式、外模式和内模式。
二、需求分析
2.1 需求分析的任务
调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下要求:
- 信息要求:用户需要从数据库中获得信息的内容和性质
- 处理要求:数据要完成的数据处理功能
- 安全性与完整性要求
2.2 需求分析的方法
- 调查组织机构总体情况
- 调查并熟悉业务活动
- 明确用户需求
- 确定系统边界
2.3 数据字典
定义:关于数据库中数据的描述,即元数据,包括数据项、数据结构、数据流、数据存储和处理过程。
- 数据项:名称类型长度等
- 数据结构:数据之间的组合关系
- 数据流:数据结构在系统内传输的路径。
- 数据存储:数据结构停留或者保存的地方。
- 处理过程:具体的处理逻辑一般用判定表或判定树来描述。
三、概念结构设计
3.1 概念模型
概念模型的主要特点是:
- 真实充分地反映现实世界
- 易于理解
- 易于更改
- 易于向关系、网状、层次等各种数据模型转换
3.2 E-R模型
实体之间的联系
- 两个实体型之间的联系:
(1)一对一联系
(2)一对多联系
(3)多对多联系
两个以上的实体型之间的联系:同上
单个实体型内的联系
一般地,把参与联系的实体型的数目称为联系的度。N个实体型之间的联系度为N,也称为N元联系。
E-R图
- 矩形:实体型
- 属性:椭圆形
- 联系:菱形
设计原则:
- 尽量减少实体的数目,能用属性表示的就不要用实体描述
- 属性不能再由属性来描述
- 属性不能与其他实体具有联系
3.3 扩展的E-R模型
3.4 UML
3.5 概念结构设计
实体与属性的划分原则:
- 为了简化E-R图的处置,现实世界的事物能作为属性对待的尽量作为属性对待。
- 作为属性,不能再具有需要描述的性质
- 属性不能与其他实体具有联系
E-R图的集成:
- 合并E-R图,生成初步E-R图
- 消除不必要的冗余,设计基本E-R图
各子系统的E-R图之间的冲突主要有三类:
- 属性冲突
属性域冲突:属性值的类型、取值范围、取值集合不同
属性取值单位冲突:斤和公斤
- 命名冲突
同名异义:不同意义的对象在不同的局部应用中具有相同的名字
异名同义:同一意义的对象在不同的局部应用中具有不同的名字
- 结构冲突
同一对象在不同应用中具有不同的抽象:把职工当作实体或属性
同一实体在不同子系统的E-R图所包含的属性个数和属性排列次序不完全相同
四、逻辑结构设计
逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为数据库管理系统所支持的数据模型相符合的逻辑结构。
4.1 E-R图向关系模型的转换
一个实体型转换成一个关系模式。
4.2 数据模型的优化
原因:数据库逻辑设计的结果不是唯一的
优化方法:
- 确定数据依赖
- 对于各个关系模式之间的数据进行极小化处理
- 按照数据依赖的理论关系模式逐一进行分析
- 根据需求分析阶段得到的处理要求分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解
- 对关系模式进行必要分解,提高数据操作效率和存储空间利用率
4.3 设计用户子模式
目的:设计更符合局部用户需要的用户外模式
- 使用更符合用户习惯的别名
- 可以对不同级别的用户定义不同的视图
- 简化用户对系统的使用
五、物理结构设计
定义:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程
数据库的物理设计通常分为两步:
- 确定数据库的物理结构:在关系数据库中主要指存取方法和存储机构。
- 对物理结构进行评价:评价的重点主要是时间和空间效率。
5.1 数据库物理设计的内容和方法
- 关系模式选择存取方法
- 设计关系、索引等数据库文件的物理存储结构
5.2 关系模式存取方法选择
存取方法:
B+树索引(一般是缺省的)
适合用B+树索引存取方法的条件:
- 经常在查询条件中出现的属性
- 经常作为最大值和最小值等聚集函数的参数的属性
- 经常在连接操作的连接条件中出现的属性
hash索引
适合用hash索引存取方法的条件:
- 一个关系的大小可预知,且不变
- 关系的大小动态改变,但DBMS提供了动态hash存取方法
聚簇索引
把在某些属性上具有相同值的元组集中存放在连续的物理块中,该属性称为聚簇码。一个关系只能加入一个聚簇。比较适合经常访问和连接的应用。建立和维护聚簇的开销相当大,对已有关系建立聚簇将导致关系中元组移动其物理存储位置,并使此关系上原来所建立的所有索引重建。
5.3 确定数据库的储存结构
六、数据库的实施和维护
6.1 数据的载入和应用程序的调试
数据库应用程序的设计应该与数据库设计同时进行
6.2 数据库的试运行
- 先输入小批量数据做调试用,待试运行基本合格后再大批量输入数据,逐步增加数据量,逐步完成运行评价
- 做好数据库的转储和恢复工作
6.3 数据库的运行和维护
- 数据库的转储和恢复
- 数据库的安全性、完整性控制
- 数据库性能的监督分析和改造
- 数据库的重组织和重构造
(小结与习题)
略。
参考文章:
[1] : https://blog.csdn.net/qq_21125183/article/details/84838609