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