1.4 数据库设计的基本步骤
数据是一个组织机构的重要资源之一,是组织积累的宝贵财富,通过对数据的分析,可以了解组织的过去,把握今天,预测未来。但这些数据通常是大量的、甚至是杂乱无章的,如何合理、有效地组织这些数据,是数据库设计的重要任务之一。
正如前面所述,数据库是企业或组织所积累的数据的聚集,除了每一个具体数据以外,这些数据是逻辑相关的,即数据之间是有联系的。数据库是组织和管理这些数据的常用工具。数据库设计讨论的问题是:根据业务管理和决策的需要,应该在数据库中保存什么数据;这些数据之间有什么联系;如何将所需要的数据划分到表格的列,并且建立表之间的关系。
数据的三个范畴分为:现实世界、信息世界和计算机世界。数据库设计的过程,就是将数据的表示从现实世界抽象到信息世界(概念模型),再从信息世界转换到计算机世界(数据模型)。
数据库设计的目的在于提供实际问题的计算机表示,在于获得支持高效存取数据的数据结构。数据库中用数据模型这个工具来抽象和描述现实世界中的对象(人或事物)。数据库设计分为4个步骤,如图1-5所示。
图1-5 数据库设计步骤
1.需求分析
对需要使用数据库系统来进行管理的现实世界中对象(人或事物)的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。需求分析的策略一般有两种:自下向上的方法和自上向下的方法。
(1)自下向上的方法
对事物进行了解,理解实际问题的业务规则和业务流程。在此基础上,归纳出该事物处理过程中需要存放在数据库中的数据。
例如,一个产品销售数据库,需要保存客户的哪些数据?可以做出一个二维表格,每一列是一个数据项,每一行是一个客户信息,可能包括:客户姓名、地址、邮政编码、手机号码等等。
(2)自上向下的方法
从为描述事物最终提供的各种报表和经常需要查询的信息着手,分析出应包含在数据库中的数据。
例如,上述产品销售数据库的客户信息,是否需要按客户性别进行统计分析,如果需要,就应该增加一列“性别”数据项。
进行需求分析时,通常会同时使用上述两种方法。自下向上的方法反映了实际问题的信息需求,是对数据及其结构的需求,是一种静态需求;自上向下的方法侧重于对数据处理的需求,即实际问题的动态需求。
2.数据库概念设计
数据库概念设计是在需求分析的基础上,建立概念数据模型(Conceptual Data Model);用概念模型描述实际问题所涉及的数据以及数据之间的联系;这种描述的内容和描述的详细程度取决于期望得到的信息。一种较常用的概念模型是实体-联系模型,又称E-R(Entity-Relationship)模型。E-R模型用实体和实体之间的联系来表达数据以及数据之间的联系。
例如,产品销售数据库,供应商是实体、客户是另一个实体,产品是实体,订单是实体,并且它们之间是有联系的;使用E-R模型描述这些实体以及它们之间的联系。
3.数据库逻辑设计
数据库逻辑设计是根据概念数据模型建立逻辑数据模型(Logic Data Model)。逻辑数据模型是一种面向数据库系统的数据模型,本节使用目前被广泛使用的关系数据模型来描述数据库逻辑设计:根据概念模型建立数据的关系模型(Relational Model);用关系模型描述实际问题在计算机中的表示。关系模型是一种数据模型,用二维表格的形式来表示数据以及数据之间的联系。数据库的逻辑设计实际是把E-R模型转换为关系模型的过程。
E-R模型和关系模型分属两个不同的层次,E-R模型更接近于用户,不需要用户具有计算机知识,属于现实世界范畴;而关系模型是从计算机的角度描述数据及数据之间的联系,需要使用者具有一定计算机知识,属于计算机范畴。
4.数据库实现(数据库物理设计)
依据关系模型,在数据库管理系统环境中建立数据库。如在Access中,Access把数据组织到表格,表格由行和列组成。简单的数据库可能只包含一个表格,但是大多数数据库是包含多个表的,并且表之间有联系。
例如产品销售数据库,就应该至少包含供应商表、客户表、产品表、订单表等,这些表通过主键建立联系。