需求分析是数据库设计的第一个阶段。任务是收集和分析用户对数据库应用系统的使用要求,是数据库设计的基础。用户的要求包括:
 (1)对数据对象种类和类型的要求,数据之间关系的要求。
 (2)对数据操纵的要求,数据操纵方式的要求。
 (3)对数据对象的限定要求和数据完整性要求。需求分析就是要了解用户需要什么样的数据库,干什么用的数据库。
 (4)对系统功能及其权限的控制与管理等。

需求分析阶段有三项工作:
 (1)理解和表达用户需求,明确未来软件"做什么"。对于工程应用软件来说,就是详细定义未来软件的功能、性能、外部接口、有关属性、设计限制和数据库需求的过程,并确认支持性的硬件、软件环境和辅助软件。
 (2)使用自顶向下逐层分解的系统分析方法,把整个软件系统分解成若干个子系统或软件成分,把整个软件的外部需求,分别赋予软件的各个功能成分,详细地定义每个成分的外部功能,并严格标定它们之间的接口。
 (3)编写软件"需求分析说明"。它是测试验收阶段对软件进行确认和验收的基准,是以后软件开发的基础。

  在数据库应用的需求分析中使用最多的是数据流图。数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是数据库设计的很好的出发点。
  画数据流图的基本目的是利用它作为交流信息的工具。分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查确认。
  数据流图的另一个主要用途是作为分析和设计的工具。分析员在研究现有的系统时常用系统流程图表达他对这个系统的认识,这种描绘方法形象具体,比较容易验证它的正确性;但是,开发工程的目标往往不是完全复制现有的系统,而是创造一个能够完成相同的或类似的功能的新系统。用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。因此,分析员希望以另一种方式进一步总结现有的系统,这种方式应该着重描绘系统所完成的功能而不是系统的物理实现方案。数据流图是实现这个目标的极好手段。

  在完成了用户的需求分析后就开始数据库的概念设计。在数据库设计中最常用的表示概念性数据模型的方法,是实体一联系方法(ER图)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。ER模型比较接近人的习惯思维方式。此外,ER模型使用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它,因此,ER模型可以作为用户与分析员之间有效的交流工具。
  那么,数据流图和实体-关系图之间有什么关系?如何的将数据流图转化为实体-关系图呢?作为系统设计的开始,要分析系统有哪些数据需求,分析的结果将得到数据流程图(DFD)和数据字典(DD);在此基础上就可以开始作ER图了,其过程简介如下:
1).作初步的ER图
首先要构造实体。可以有3条获得实体的途径:
 (1)根据DFD和DD中提供的情况,将一些对应于客观存在的事物(可以是具体的或者是抽象的事物、概念、事物联系或某一事件等)的数据项汇集成一个实体,数据项构成该实体的属性(或特性);
 (2)将剩下的数据项用1对多的分析方法再确定出一批实体。某数据项苦与其它多个数据项之间存在1:N的对应关系,那么这个数据项就可以作为一个实体,而其它多个数据项作为它的属性;
 (3)采用数据元素图法分析最后一些数据项之间的紧密程度,又可以确定一批实体。如果某些数据项完全函数依赖于另一些数据项,那么所有这些数据项可以作为一个实体,而后者数据项可以作为此实体的键。
  经过上面三步,如果在DFD和DD中还有剩余的数据项,那么这些数据项一般是实体间联系的属性,在分析实体问联系时要把它们考虑进去。得到实体后,要确定实体间的联系。通过确定联系,就得到了初步的ER图。
2).求得基本ER图
  在上面得到的多个子ER图基础上,对它们进行合并,便得到全局的ER固。由初步ER图求基本ER图的过程,主要是消除冗余数据和冗余联系的过程。首先实施消除冗余数据,可能在这一步,有些联系也将消失;而冗余联系的消除是基于关系理论中Armstron8公理的演绎算法。

  在得到了系统完整的概念模型后就可设计数据库系统的逻辑模式及相应的数据库结构,开始应用程序的编程、调试,系统的实施与运行维护等。数据库应用系统的实现部分本章没有讨论,这就是下章我们将要讨论的应用程序的开发内容。