数据库设计是指:根据用户的需求,在数据库管理系统上(比如:MySQL、Oracle),设计数据库的结构和建立数据库的过程。
数据库设计的步骤
数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
需求分析
需求分析是:分析用户的要求,得到需求描述。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:
- 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
- 处理要求。指用户要完成的数据处理功能,对处理性能的要求。
- 安全性与完整性要求。
概念结构设计
概念结构设计是:依据需求描述,建立抽象的概念数据模型。 概念数据模型最常用的是:实体-联系模型(E-R模型,Entity Relationship Model) 总结来说,概念结构设计就是:依据需求描述,画出 E-R图。
将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。
概念结构设计是整个数据库设计的关键。
所建立的概念数据模型应该避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
E-R图
逻辑结构设计
逻辑结构设计是:将概念数据模型,转换为某个 DBMS 所支持的逻辑数据模型。 逻辑数据模型最常用的是:关系数据模型。 总结来说,逻辑结构设计就是:将 E-R图,转换为关系数据模型。
概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
数据模型
物理结构设计
物理结构设计是:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。 逻辑数据模型最常用的是:关系数据模型。
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
通常关系数据库物理设计的内容主要包括:为关系模式选择存取方法,以及设计关系、索引等数据库文件的物理存储结构。
数据库的物理设计通常分为两步:
- 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。
- 对物理结构进行评价,评价的重点是时间和空间效率。
如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。
物理结构设计的任务之一是:根据关系型数据库管理系统支持的存取方法确定选择哪些存取方法。
存取方法是快速存取数据库中数据的技术。
数据库管理系统一般提供多种存取方法,常用的存取方法为:索引方法、聚簇方法。
索引方法有:B+树索引、hash 索引。
数据库的实施
完成数据库的物理设计之后,设计人员就要用关系数据库管理系统提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为关系数据库管理系统可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了,这就是数据库实施阶段。
数据库的运行和维护
数据库试运行合格后,数据库开发工作就基本完成,可以投入正式运行了。
但是由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。
在数据库运行阶段,对数据库经常性的维护工作主要是由数据库管理员完成的。
数据库的维护工作主要包括以下几方面。
- 数据库的转储和恢复
- 数据库的安全性、完整性控制
- 数据库性能的监督、分析和改造
- 数据库的重组织与重构造
数据库设计的详细介绍,可以看《数据库系统概论》的第 7 章。