数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
数据库设计的主要步骤包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
一、需求分析
进行数据库设计首先必须准确了解和分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,会导致整个数据库设计返工重做。
需求分析的任务,是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统还得充分考虑今后可能的扩充与改变,不仅仅能够按当前应用需求来设计。
二、概念结构设计
设计概念结构通常有四类方法:
1、自顶向下。即首先定义全局概念结构的框架,再逐步细化。
2、自底向上。即首先定义各局部应用的概念结构,然后再将他们集成起来,得到全局概念结构。
3、逐步扩张。首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。
4、混合策略。即自顶向下和自底向上相结合。
三、逻辑结构设计
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并将进行优化。在这阶段,E-R图显得异常重要。各分E-R图之间的冲突主要有三类:属性冲突,命名冲突,和结构冲突。
四、物理结构设计
物理设计是为逻辑数据结构模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 首先要对运行的事务详细分析,获得选择物理数据库设计所需要的参数,其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。
常用的存取方法有三类:索引方法、聚簇方法、HASH方法。
五、数据库的实施
数据库实施阶段,设计人员运营DBMS提供的数据库语言(如sql)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。
六、数据库的运行和维护
数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价,调整,修改。