软件工程 - 5、数据库设计与开发

来源:互联网 发布:在手机上写js代码 编辑:程序博客网 时间:2024/04/28 01:57

--作者:张骞

--原创,转载必究

 

首先,介绍一下数据模型:数据是描述事物的记录,模型是指对现实世界的抽象,数据模型就是对现实数据的抽象。

 

数据模型按照应用层次的不同,可分为:

1、概念数据模型:简称概念模型,它是对现实世界概念化的描述,与具体的数据库管理系统无关;

2、逻辑数据模型:简称逻辑模型,它是概念模型在具体的数据库管理系统中的实现。逻辑模型可分为树状模型又叫层次模型、网状模型、关系模型、面向对象模型,每种模型都各有优缺点,目前常用的是关系模型,它使用表(二维表)来表示实体及实体间的关系,关系型数据库有ORACLESYBASEDB2SQL SERVERMYSQL

3、物理数据模型;简称物理模型,它描述了数据在物理介质上的组织结构,每种逻辑模型都有对应的物理模型。

 

在软件工程的相关书籍或文档中,通常没有将数据库设计与开发独立讲解的部分。该过程不是一个独立的软件生命周期,它是从需求开发与管理生命周期开始,到编码生命周期结束的一个持续过程。

 

数据库设计就是建立数据模型的过程,按照应用层次包括三个阶段:概念设计、逻辑设计、物理设计,分别可映射在需求分析、概要设计、详细设计中进行;

 

数据库开发,通常是伴随着编码生命周期一同进行的。

 

下面看下在相应的软件生命周期中,数据库设计与开发的工作是如何进行的:

一、需求开发与管理

概念设计构造系统中数据的概念模型,它是脱离于数据库管理系统的设计。

通常使用ER来建立概念模型,不过在当前面向对象方法横行的年代,在需求分析阶段很少有人再去构造ER图,但作为数据库设计人员,这样的图是必不可少的,可自行在当前软件生命周期中伴随需求分析一并建立;

 

二、系统设计

1、概要设计

逻辑设计构造系统中数据的逻辑模型,关系模型中的逻辑结构就是表(二维表)结构。

在概要设计过程中,伴随着《概要设计说明书》的生成,还需要生成初步的《数据库设计说明书》,它描述了系统中数据的逻辑结构设计;

 

ER图描述了系统中的实体,以及实体间的关系,数据库逻辑结构的建立基于ER图的同时,还需要考虑数据的操作与处理,即事实,此阶段工作建议参考数据流图进行,如果在《概要设计说明书》中没有这样的图,可自行在当前软件生命周期中伴随概要设计一并建立;

 

这样得到的数据库逻辑结构中通常包括三种表:实体表、关系表、事实表。

 

2、详细设计

物理设计构造系统中数据的物理模型,它与数据库管理系统、操作系统、硬件有关,目前大多关系型数据库为了保证其可移植性,设计者只需要设计索引、聚焦、分区等结构即可,物理设计都由数据库管理系统自行完成;

 

详细设计阶段,除了进行物理设计外,还需要对逻辑设计中初步的表结构进行确切的定义,如:数据类型、字段、字段长度等,此时生成细化的《数据库设计说明书》。

 

三、编码

在进入应用程序的编码阶段的同时,数据库开发工作启动,编写数据库子程序进行数据操作和处理,如:视图、存储过程、函数、触发器、作业等,此阶段工作建议参考流程图进行,如果在《详细设计说明书》中没有这样的图,可自行伴随详细设计一并建立。最终完成子程序的单元测试、代码走查,生成建库及所有子程序的脚本,用于产品集成,如有必要,还需要编写《数据库施工文档》。

 

最后,在软件产品通过测试并发布上线后,进入维护软件生命周期,同样数据库也进入运维阶段,此时的工作通常由运维DBA负责,比如:数据库状态及性能监控等。

 

原创粉丝点击