一、数据库结构设计步骤二、需求分析三、概念结构设计四、逻辑结构设计五、数据库物理设计数据库结构设计一、数据库结构设计步骤一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。
下面各节分别介绍各阶段设计内容和具体方法。
二、需求分析需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。
一般需求分析的操作步骤如下所述。
1.了解组织、人员的构成子系统的划分常常以现有组织系统为基础,再进行整合,而新系统首先必须达到的目的是尽可能地完成当前系统中有关信息方面的工作,在原有系统中,信息处理总是由具体人来实施的。
我们要了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告、报表、凭证、单据)往来联系情况。
具体弄清各个数据的名称,产生的时间与传递所需时间与周期,数据量的大小,所涉及(传送)的范围,使用数据的权限要求,数据处理过程中容易发生的问题及其影响,各个部门所希望获得的数据的情况等。
然后了解每个人对每一具体数据处理的过程,基本数据元素来源于哪些地方、获取的途径、处理的要求、数据的用途,进而弄清数据的构成、数据元素的类型、性质、算法、取值范围、相互关系。
在上述调查基础上,首先画出组织机构及工作职能图。
我们以一个学校的基层单位——某大学一个系的管理为例来简要说明。
系的组织机构及工作职能如图7.1所示。
图7.1 系管理体系结构图作为管理层经常需要的信息和工作有:.查询老师个人基本情况及打印相应内容.查询与统计科研项目情况及相关报表.查询与统计论文著作情况及相关报表.上级部门及其他部门来文管理与查询(要求能全文检索).系部发文管理.任务下达、检查及管理.信件、通知的收发及管理.日程安排调度及管理.设备仪器计划及管理.设备入库与库存情况管理与查询.设备借还领用管理及相应报表.耗材计划与领发管理及相应统计报表.图书管理及借还情况查询.学生毕业设计文档管理.专业与班组编制与查询.教学文档管理及查询(安排与检查,包括课表、考试日程安排、监考安排等).学生成绩管理与查询和统计.教师、学生、实验室课表管理及查询.学生基本情况管理与查询(包括社会活动、奖惩、家庭情况及学校校友管理).实验安排与管理.实验成绩管理及查询与统计.奖金计算与发放.收支情况管理及统计与查询我们仅以设备仪器管理为例说明。
现有设备表格有七种,名字及数据栏目如下:①入库单(代码,院内编号,名称,型号,规格,单价,数量,金额,生产厂,购入单位,采购员,管理员,入库日期,经费来源,批准人,计划号)②领用单(代码,院内编号,名称,型号,规格,单价,数量,领用人,批准人,领用单位,管理员,领用日期)③报废单(代码,院内编号,名称,型号,规格,单价,数量,报废原因,批准人,管理员,报废日期)④借条(代码,院内编号,名称,型号,规格,单价,数量,借用日期,拟还时间,借用人,批准人,管理员,设备状况)⑤请购计划(名称,型号,规格,估计单价,请购数量,计划员,计划时间,批准人,批准时间,设备用途,计划号)⑥设备明细账(代码,院内编号,名称,型号,规格,单价,生产厂,购入单位,采购员,入库时间,设备类别,当前状况)⑦设备统计表(名称,型号,规格,单价,数据,金额,备注)其中入库单由采购员填写,经批准交管理员输入办理入库手续,管理员签收并形成入库凭证下转财务。
领用单由领用人填写,经批准交管理员办理领用手续,当报废时或归还时应办报废手续或归还手续。
借条由借用人填写,经批准交管理员办理借用手续,当归还时应归还借条并办归还手续。
设备明细账、设备统计表均由设备管理员填写。
报废单要经批准报上级主管部门。
其他账表要供上级主管部门及系部检查、查询。
请购计划由计划员填写经批准交采购员实施,要能供查证。
各表格、各栏目数据之名称、数据类型等特性应专门说明并记载入数据字典中。
2.数据字典数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。
数据与数据元素分别用数据表、数据元素表记载。
数据表、数据元素表的格式如下表7.1和表7.2所示。
表7.1 数据表格式其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。
数据名是原有表格或凭证的名称,如成绩单、人事卡片、档案……。
其他各项的意义说明如下:主人:生成该数据的单位与个人代表。
数据有一个主要生成者,有多个使用者,使用者即用户是使用生成的数据或其拷贝的单位或个人(包括仅使用该表部分数据元素的单位和个人)生成时间:计算、打印或显示本数据的时间,有些数据只生成一次,例如一些突如其来的查询或统计操作的结果;有些每年生成一次,例如年报;还有依半年、季、月、半月、旬、周、日、时生成的,此处记载每次生成的大体时间。
例如年报记每年何月(何日)生成,月报记每月何日生成等。
数据量:一条记录最大长度(不考虑备注与通用字段实际长度)。
数据用途记该数据在系统中的作用或使用意义,例如设备统计表,是当前所存物资的统计生成表,提供决策依据等。
保存时间:有些数据是系统的基本数据,长期保存,如人事卡片、设备帐本。
有些数据生成后只需再保存一段时间,以供其他应用,例如工资表及其相关数据,每月发放工资后还要继续保存3至5年,用于工资构成和成本分析,工资表相关的考勤、行政扣资、公积金等许多数据往往要保持一年,供年度统计使用等。
也有些统计查询的结果则无须保存。
数据源:本表某些数据元素是来自另一个表或文件,应在此处及数据元素表中同时标明,以便将来某些数据结构修改时分析其附带影响,保证数据一致性和完整性。
关联数据:本表中有些数据将被用作另一些数据的源,需要列出这“另一些”数据的名字,以便将来对本表结构修改时考虑对其他数据的影响。
别名:该数据表的其他取名。
表7.2 数据元素表格式其中,数据号是本数据元素所属数据的代号,要与数据表中编号对应。
数据元素号是在该数据中的各数据元素的顺序编号。
物理名称是实际数据中使用的名称。
逻辑名称是指将来在系统数据结构中采用的名称。
来源或算法指数据元素有些直接从另一些数据中提取,有些按一定方法或公式求取,在此应予注明来源或计算方法。
完整性指是否为关键字,是否允许重复值,是否允许空值,取值范围限制等。
安全性指对该数据元素查询、显示、使用及录入、修改、删除等操作权限是否有要求及什么样的要求。
用户数据名指本数据元素可能用到哪些表的名称。
数据字典还将包含今后开发中涉及到的其他数据,例如在程序中使用的常量、变量、数组、集合、函数……要在开发过程中不断补充。
即使是上述数据、数据元素,许多最终将被认定为数据库中的字段或系统中其他数据,要再作说明,也有些将不再出现。
有些元素的性质、意义会有所改变,都将在开发过程中不断修改和补充。
在需求分析最后阶段,要进一步描述数据处理的流程,并写出需求分析说明书。
3.需求分析说明书需求分析说明书是对需求分析过程的记载与总结,也是将来开发的依据和标准,将作为开发方和最终用户间交接的依据,是一个纲领性的文件。
要使用尽可能精炼、通俗易懂、准确无二义性的语言表达对系统功能、性能的要求。
需求分析说明书一般包括下述内容:.数据库系统应用范围与环境条件.工作流程图.数据流程图.数据字典(包括数据表与数据元素表).IPO图与加工说明.数据库性能要求.对操作界面的要求.各类约束条件.开发目标与方法.组织机构.系统当前状况分析.数据库系统功能设计目标.对系统结构的初步规划.日程进度.验收标准其中关于当前系统状况分析应提交前述数据字典及全部原始材料,并进一步分析当前系统的工作、数据处理情况、存在问题并提出解诀方案。
关于系统当前工作,数据处理情况的分析是新系统功能、性能设计的依据。
我们常常首先以工作流程图描述当前各部门、各主要业务人员的工作过程。
一个工作流程图实例如图7.2所示。
根据有关部门、工作人员对自己工作的描述,可画出工作流程图形象地表示组织与个人工作情况,主要是涉及数据和信息工作的情况。
其主要图例中用矩形表示部门或组织,用圆圈表示工作人员,用双横线表示文件、数据库,用箭头线表示数据及其流向。
在箭头线上标注数据名称。
例如入库工作我们可用图7.2表示。
图7.2 入库工作流程图从工作流程图,我们看不清数据处理情况,可再进一步抽象,工作流程图中可以由计算机处理的部分抽象出来,画成数据流程图,得到系统的逻辑模型。
数据流程图图例中以圆圈表示数据源、数据结果或外部实体,矩形表示数据处理,箭头线表示数据,线上标注数据名称,双横线表示文件或数据库。
入库过程数据流程图如图7.3所示。
图7.3 入库过程数据流程图这个图对于处理逻辑仍表现不充分,我们可用输入一处理一输出图(IPO图)进一步表示清楚。
IPO图由三个矩形框组成,它们分别描述输入(I)、处理(P)和输出(O),用箭头线表示数据的传入传出,线旁标注处理条件或备注内容。
上述入库过程用IPO图的描述如图7.4所示。
图7.4 用IPO图描述系统处理过程如果处理过程比较复杂,图示仍不清楚,我们可附加加工说明,用文字详细说明每上步的处理过程和处理逻辑。
例如,关于“检查计划”的说明:如果采购单上无领导签字输入采购单上计划号打开计划库查找上述计划号如果查到读出计划数查同一计划号物品已入库数量如果小于等于计划数-采购数办理入库否则说明计划额度已使用,退出结束否则说明无此计划,不能入库结束结束加工说明是用文字语言表述处理逻辑,尽量接近程序语言,又要通俗易懂,使得一方面能和业务人员展开讨论,进一步了解清楚业务人员的要求,另一方面又能较容易地转为实际程序。
在需求分析说明书中,还应具体写明有关处理安全性、时间性、可靠性、适应性等方面的要求,整理形成文档,经批准之后生效。
三、概念结构设计概念结构设计是在需求分析的基础上对所有数据要求按一定方法进行抽象与综合处理,设计出不依赖于某种具体DBMS的满足用户应用需求的信息结构。
这种信息结构我们称为概念模型。
最常用的概念结构设计方法有实体分析法、面向对象设计方法、属性综合法和规范化关系方法。
我们此处主要讨论实体分析法。
这是一种自上而下抽象的方法。
这种方法要求根据前面数据的需求分析,确定系统范围,确定实体及其属性,画出系统的实体联系模型(E-R图)第一步划分系统范围。
一般数据库应用系统的管理对象不外乎人、财、物、事几个方面。
与“人”有关的对象包括组织机构、职工或其他人员(以下以职工为代表)的基本情况、职工或其他人员各类活动。
其中组织机构例如单位、部门、机构,它们的主要属性是地址、联系人、单位性质、单位概况……是职工的所属和依附或交往的实体。