最近在读一本《数据库系统 设计、实现与管理》的书,其中的数据库设计部分写的挺好的,另外在本书中也讲到了数据库生命周期的概念,我觉得有所收益,特写下此博文! 在软件开发中,我们经常会提到软件系统开发的生命周期,大致分为:计划、分析、设计、实现、运维几个阶段,整体流程和动作如下图所示: 而针对数据库建模和数据库应用开发来说,也有其自己的“数据库生命周期”,database life cycle,简称DBLC。
最近在读一本《数据库系统 设计、实现与管理》的书,其中的数据库设计部分写的挺好的,另外在本书中也讲到了数据库生命周期的概念,我觉得有所收益,特写下此博文!
在软件开发中,我们经常会提到软件系统开发的生命周期,大致分为:计划、分析、设计、实现、运维几个阶段,整体流程和动作如下图所示:
也许作为一个数据库模型设计人员或者开发人员来说,只关心参与3个阶段,但是其实每个阶段都应该参与其中,毕竟这6个阶段是不断迭代的过程。
1.数据库初步研究
简单的说就是前期的需求调研阶段,只不过软件开发中的需求调研是站在软件的角度,而数据库设计人员则应该站在数据库的角度分析用户的需求,主要做到以下目标:
2.数据库设计
这是数据库生命周期中最重要的环节,也是最烧脑细胞的环节。这个环节工作的好坏直接关系到最终软件是否满足用户和系统的需求。数据库设计又进一步划分为几个阶段:概念设计、DBMS的选择、逻辑设计、物理设计。
概念设计
尤其是其中一篇(分析与设计数据库模型的简单过程)把ERM的建模过程演示了一遍。
DBMS的选择
- 开销/预算。这里除了软件和硬件本身的采购价格,还需要包括学习成本,运维开销,转换成本等。
- DBMS的特征和工具。如关注系统的可用性,安全性,扩展性等。
- 基础模型。是关系型的还是对象型的,或者文档型。
- 便利性。DBMS可以便利的在不同平台,系统,语言之间进行移植。
- 硬件要求。
逻辑设计
物理设计
物理模型是与具体的物理硬件相关,可以通过逻辑模型转换而来。在物理设计中,需要考虑具体的数据存储,数据分布等,在物理模型中要求设计师充分了解软件和硬件环境,充分发挥软件和硬件的特性。
3.实现和装载
4.测试和评价
调整DBMS的配置参数,修改物理设计(比如索引和分区的修改),修改逻辑设计(比如增加冗余字段),更新或者更换DBMS的软硬件平台。