由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但这些设计方法和设计
者的工作经验有很大的关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实
践,在实践中积累经验和教训,最终成为数据库结构设计的专家。
一、数据库需求分析
数据库结构设计的第一个阶段,也是非常重要的一个阶段是数据库需求分析。在这个
阶段主要是收集基本数据以及数据处理的流程,为以后进一步设计打下基础。需求分析主要
解决两个问题:
内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储什么
数据。
处理要求。调查应用系统用户要求对数据进行什么样的处理,理清数据库中
各种数据之间的关系。
解决这两个问题的时候,程序编制人员需要向应用系统用户详细调查,保证信息收集的
完整性。否则有可能后面所有的工作都白费。
在数据库需求分析后,应该得到一个数据字典文档,包括
3 方面内容。
数据项。包括名称、含义、类型、取值范围、长度以及和其他数据项之间的
逻辑关系。
数据结构。若干个数据项的有意义的集合,包括名称、含义以及组成数据结
构的数据项。
数据流。指数据库中数据的处理过程,包括输入、处理和输出。
这个数据字典在程序的开发过程中会不断发生变化。对于一个大型的软件开发过程,
一般都需要一份详尽的数据字典。
针对本实例,通过对企业员工管理内容和过程分析,设计的数据项和数据结构如下。
员工基本情况。包括的数据项有员工号、员工姓名、性别、所在部门、身份
证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、政治面貌、参加时间、
血型、参加工作时间、员工状态、状态时间、家庭住址、联系电话等。
员工婚姻状况。包括的数据项有员工号、爱人姓名、爱人出生年月、结婚时
间、爱人工作单位、爱人政治面貌、爱人工作职务等。
员工学历信息。包括的数据项有员工号、学历、专业、毕业时间、毕业学校、
学校类型、外语
1、外语 1 等级、外语 2、外语 2 等级等。
企业工作岗位信息。包括的数据库项有工作岗位代号、工作岗位名称、工作
岗位权力范围等。
企业部门信息。包括的数据项有部门代号、部门名称、部门经理、部门副经
理等。
有了上面的数据结构和数据项基础,我们就能进行下面的数据库设计了。
二、数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它
们之间的关系,为后面的逻辑结构设计打下基础。
这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶
段可用的工具很多。用的最多的是
E-R 图(Entity-Relation,实体-关系图),另外还有许多计
算机辅助工具(
Computer Aided Software Engineering,CASE)可以帮助进行设计。
本书的实例都是采用
E-R 图的方法来进行数据库概念结构设计,在本书的第一个例子
中先对
E-R 图的方法进行简单介绍。
E-R 图是描述数据实体及其关系的一种直观的描述工具。这种图中有: