房 鹏
(河南师范大学 计算机与信息工程学院,河南 新乡 453007)
在系统研发过程中,如何进行数据库设计是一项重要的工作,数据库设计的好坏对系统运行效率有直接的影响,有时甚至决定着系统研发的成败。
农村意外险销售系统需要存储的数据主要包括:采集到的客户信息、机构、管理人员、单证、设备、承保方案以及保单信息等[1-2]。由于意外险承保出单的实效性较强,且数据采集较为频繁,为了保障数据的安全性和准确性,该系统采用了SQLite和SQL Server数据库相结合的方式,来存储系统中产生的所有数据。
需求分析简单的解释就是分析用户的需求。通过调查系统涉及的对象(包括机构、人员等),深入了解原系统(手工或软件)的工作流程和情况,以便明确用户的各类需求,然后在此基础上确定要研发的系统功能。调查的重点是“数据”和“处理”,通过调查、收集和分析这两个方面的需求,就可以获得数据库的相关需求。经过深入农村销售网点调研,逐步掌握农村意外险销售系统数据库设计的所有需求,归纳出来的部分数据项如表1所示。
表1 需求数据项
概念结构设计阶段的主要任务就是将需求分析得到的需求抽象为概念模型。简单来说,就是对需求分析的结果进行数据抽象后,设计出局部的视图,将多个局部视图合并,且取消冲突;最后,进行修改消除冗余,生成基本的E-R图[3-5]。以农村意外险销售系统中部分需求为例进行分析。POS设备可以下载多个承保方案使用,每个承保方案也可以用于多台POS设备中,一个管理员可以定义多个承保方案。经过合并、优化后具体的E-R图如图1所示。
图1 部分需求E-R
逻辑结构设计是在概念结构设计的基础上进行数据模型设计,将E-R图转换为具体的数据库管理系统支持的数据模型。主要任务是先将概念模型转化为数据模型,运用范式对关系进行规范化,最后进行优化。以图1为例,其可以转换为如下的关系模式:(1)POS设备,包括设备序列号、机构代码、POS机管理员基本信息。(2)承保方案,包括方案代码、方案名称、方案类别、单证类别、设计人员基本信息。(3)桥接信息,包括设备序列号、方案代码、方案名称、网点基本信息。(4)数据库逻辑设计主要反映业务逻辑,与具体的数据库管理系统无关。将所有的业务逻辑都表示出来后,逻辑结构设计就基本完成。
数据库物理结构设计主要是设计数据库的物理结构,根据数据库的逻辑结构来选定RDBMS(如SQL Server,Oracle等),并设计和实施数据库的存储结构、存取方式等[3]。农村意外险销售系统选用主数据库是SQL Server 2012,根据逻辑结构设计产生的关系模式即可确定具体的数据库表结构。数据库物理结构设计过程中,需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。以承保方案关系模式为例,具体表结构如表2所示。
表2 承保方案
数据库的物理实现是根据物理结构设计结果,建立具体数据库环境下的数据库表、视图等[3]。农村意外险销售系统根据需求和优化,最终建立12张数据库表,包括:管理员信息表、单证信息表、黑名单信息表、机构信息表、保单信息表、关键字段表、POS操作员信息表、打印模板信息表、方案信息表、POS方案映射表、机构操作员信息表和POS设备信息表。农村意外险销售系统涉及的表比较多,下面重点选择方案信息表和POS方案映射表两张数据表进行详细介绍。
(1)方案信息表主要用来存储定义好的不同销售需求对应的承保方案。部分数据记录如图2所示。
(2)POS方案映射表主要存储POS设备、各销售网点及销售方案映射关系。部分数据记录如图3所示。
图2 方案信息表数据
图3 POS方案映射表数据
数据库设计就是建立数据库及其应用系统的技术,是信息系统研发和建设中的核心技术。由于基于数据库的应用系统具有复杂性,为了支持其程序运行,数据库设计往往会异常复杂,因此,数据库最优设计是不可能一蹴而就的,只能是一个反复探索、逐步求精的过程,不断归纳、提炼和结构化数据库中的数据对象,不断深入理解数据对象之间关系,以更加深入地了解系统的需求,为后期的程序编写提供有益的帮助。