<<返回
3.3 数据库系统建设
 
 

3.3.1 数据库概述
1.数据库及其分类
数据库是指具有一定存取方式的数据的集合,也就是将相互关联的各种信息,如字符、文字、图像、声音及其视频信息按照一定的组织方式存储在计算机存储器中形成的数据集。数据库的诞生是信息管理和信息资源管理中最具革命意义的新生事物,它不仅改变了信息的存储形式,而且使信息的存储和组织达到高级的有序,从而使信息的处理和利用效率得到了根本的改善。
按照存储的信息类型的不同,可将数据库分为数值数据库、事实数据库、文献数据库和多媒体数据库。
数值数据库的存储内容往往为某一行业或领域中的有用数据,以数值为主。从简单的货币兑换率数据库到庞大的股票证券交易数据库,都属于数值数据库。由于数值数据库在回答用户查询时还需要按照用户的要求作某些必要的计算,所以,数值型数据库除存储数值外,还要存储对应的运算公式和规则等。事实数据库的存储内容为描述客观事物存在的状态,既有数值型数据,也有文字叙述。如人口数据库、消费者行为特征数据库等。这种数据库除存储基本事实数据外,也要存储许多数学运算和逻辑运算规则,以满足不同用户的需求。文献数据库是建立在数值和事实数据库基础上的数据库,存储内容为各种文献资料。文献数据库又可分为书目数据库、文摘数据库和全文数据库。随着计算机硬件设备的完善和计算机存储技术的进步,文献数据库逐步在向全文型发展。文献数据库的数据量往往很大,数据结构也比较复杂。
此外,按照数据模型可将数据库分为层次数据库、网状数据库和关系数据库;从数据库的发展技术和发展趋势看,数据库类型还在往网络数据库、面向对象数据库和多媒体数据库等方向发展。
层次数据库是采用层次模型描述数据之间的关系;网状数据库则采用网状结构描述数据之间的关系。目前主流的数据库模型是关系型数据库,即通过建立数据库表主键之间的一对一、一对多或多对多的关系来组织和管理数据。
网络数据库主要是应面向分布式数据处理需要而产生的数据库技术;面向对象数据库是通过对数据库基本数据类型的扩充,增加面向对象的功能来管理数据的技术;多媒体数据库是当前数据库技术研究的热点领域,其存储的内容是一些与人类多种感觉器官有关的各种不同形态的信息,具体包括文本、图形、图像、声音、视频等数据类型。多媒体数据库的特点是:数据量大、非结构化的信息组织形式、信息长度不固定、声音和视频等连续媒体具有时间敏感性等。多媒体数据库技术是数据库技术的发展方向,具体涉及多媒体信息的转化、集成、处理和传输等技术。转化是指将未经计算机处理过的各种媒体数据,经过数字处理,变成计算机能直接处理的数据;集成是指将不同类型的媒体结合在一起进行应用,这种多媒体应用系统能提供一种机制和共用媒体,同时容纳文本、图形、图像、声音和视频数据;处理是指在多媒体数据库应用系统中,对各种媒体进行编辑取舍和进一步集成。传输是多媒体技术中最难突破的技术环节,其中声音和视频数据传输是关键,也是限制多媒体技术发展的主要因素,因此压缩还原芯片及相关软件的研究和开发成为了当前传输技术研究的一个热点。
2.数据库管理系统及其选择
数据库的运行和利用必须依靠数据库管理系统。数据库管理系统是借助于计算机保存和管理大量复杂数据和信息的软件系统。通过数据库管理系统,可以科学地组织和存储数据,高效地获取数据,更新数据和加工处理数据,并确保数据的安全性、可靠性和持久性。数据库管理系统(DBMS,DataBase Management System)是一种管理数据库的系统软件,它的主要任务是接收并完成用户发出的数据库操作请求,进行相应的数据处理。数据库管理系统提供统一的、标准的、规范的、有效的数据管理方法和方式,是一个规模大、功能强、构造复杂的系统软件。数据库管理系统的主要功能有:数据库定义功能、装入功能、操纵功能、控制功能、性能监督功能、维护功能、恢复功能和数据通信功能。
企业在选择数据库管理系统时,一般需要考虑这样几点:
(1)企业的实际需求如何。企业需求决定了数据库管理系统所要达到的性能、要处理事务的主要特点、数据吞吐量的大小等方面的要求;
(2)数据库管理系统开发厂商的技术实力如何,其运行平台如何,有什么特殊要求,是否与企业现有的信息基础设施一致等;
(3)该数据库管理系统是否配备较为完整的管理及应用开发工具,方便进行数据库的管理和后续开发;
(4)该数据库管理系统的安全机制如何,是否可靠、易行;
(5)该数据库管理系统的数据备份、数据容错及数据恢复等方面的功能如何等。数据库要能保证在同样的检索条件下查询结果的一致性,并提供良好的死锁的检测和解决方法。
目前,企业信息化建设中主流的数据库管理系统有Oracle公司Oracle数据库、IBM公司的DB2数据库、Informix公司的Informix数据库、Sybase公司的Sybase数据库以及 Microsoft公司的SQL Server。在2000年全球总值88亿美元的数据库市场中,Oracle、IBM、微软的市场份额分别为33.8%、30.1%、14.9%,而Informix公司和Sybase公司的市场份额都有所下降。在企业信息化过程中,Oracle和SQL Server成了我国企业的主要选择。比如在我国交通行业,Oracle、SQL Server是使用率最高的两款产品,其中Oracle的使用率超过50%;而SQL的使用率占40.2%。
这里主要对SQL Server和Oracle做个比较。SQL Server只能在Windows 上运行,Oracle能在所有主流平台上运行(如Windows、Windows NT、UNIX);SQL Server没有获得任何安全证书,Oracle获得最高认证级别的ISO标准认证;它们都支持多用户的操作,但是SQL Server在多用户时性能不佳;SQL Server只有图形界面,操作简单,Oracle提供计算机图形用户界面(GUI)和基于命令行进行操作,较复杂;Oracle经过长时间的开发,得到广泛的应用,使用时较稳定,风险较小,而SQL Server就次之了。可见Oracle数据库在各方面的性能都较优越,但使用时要求一定的技术支持,并且购买价格也十分昂贵,所以企业应结合自己的实际情况予以选择。
3.3.2 数据库系统建设
数据库系统是企业信息系统的核心和基础,它的任务就是把系统中大量的数据按一定的规模组织起来,以便及时、准确的提供给用户。一个信息系统的各部分是否能紧密地结合在一起以及如何结合,关键在数据库。因此,只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的企业信息系统。一个数据库系统一般由四个组成部分构成:计算机硬件——它是支撑数据库的物质基础;数据库——反映某个企业或组织的特征的数据信息集合,其中的数据是经过原始数据的粗加工处理而存储起来形成的;用户——包括使用程序设计语言编写程序对数据库进行操作的“批处理用户”,使用命令语言对数据库进行操作的“终端用户”,通过系统提供的软件工具对数据库实施维护操作,以保证系统正常运转的“数据库管理员”等;数据库管理系统——管理数据库并实现对数据库中数据进行操作和处理功能的软件系统。数据库系统涉及的硬件主要包括两种类型:数据库服务器和数据备份设备。数据库服务器是一种数据管理的硬件设备,数据库及其管理系统都驻留在数据库服务器上。数据库服务器可以由一般的小型机、工作站或者高档微机来代替。但对于要求较高的场合,则需要专门的数据库服务器。数据库服务器一般要满足以下要求:可靠性高,确保数据的安全性;硬盘通常较大,用来存放数据库及其管理系统软件和其他软件;内存通常也较大,以提高数据处理的速度。数据备份设备用于存储大容量数据,也可以在服务器发生故障丢失数据恢复数据。常用的数据备份设备有:磁带机、光盘刻录机和读写光驱。随着可擦写光盘的光驱设备价格的降低,读写光驱将会成为数据备份设备的主流。
数据库系统按照规模大小,可以采用相应的数据库管理软件或管理系统。小型数据库软件有Access、Visual Foxpro、Sql Anywhere等;大型数据库系统如微软的 SQL Server、IBM的DB2、Oracle公司的Oracle、Sybase公司的Sybase等。企业可根据实际情况选择相应的数据库管理软件或管理系统。

图3-4 数据库系统建设过程图
建设数据库系统一般包括两部分内容:即数据库设计与实施和数据库管理系统的设计与实现。建设的基本过程如图3-4所示。在图中,数据库的概念模型设计一般采用E-R图,即实体关系图的方式进行,主要描述数据库中的数据范畴,即实体,以及实体之间存在的关系。数据库设计则是在数据分析和概念模型设计的基础上,实现数据库中的各个数据库表以及表中的主键和相互关系的设计。数据库设计完毕后,就可以针对DBMS进行有关操作,如创建数据库表、确定字段类型和属性、设置主键和索引、记录的排序规则等。
3.3.3 数据库系统建设实例
本节主要通过一个中介服务机构信息管理系统的建设实例,说明企业建设数据库系统的一般过程。
1.用户需求分析
(1)项目背景
南京某家政服务公司专门从事保姆、钟点工、家教的中介服务。公司规模较小,计算机设备简单。为提高家政服务管理水平,公司决定就中介管理业务开发一套计算机管理系统,以规范管理程序,提高管理效率,并为今后家政特许经营的网上管理奠定基础。
(2)公司对系统的综合要求
公司对于系统的现期功能要求:提供聘用者和应聘者基本信息的实时存储与查询;对应聘者在面试、试用、工作等过程中的各种信息的存储与查询。
对于系统的性能方面,要求系统拥有良好的人机交互性,便于用户操作使用;系统要有良好的可扩展性,以备今后系统的升级;系统要求的软硬件配置要尽量大众化,以适应企业处于信息化起步阶段的客观条件。
2.业务流程及其信息流分析
(1)企业“中介业务流程及其信息流图”解释如图3-5所示。
图3-5反映了在企业业务过程中信息流动的情况。图的中间是企业的业务流程,图中的两边是中介业务需生成的各种文件。细虚线箭头是指由中介业务而产生的信息流;粗虚线箭头则是指中介业务所需的信息流向。
(2)系统的输入/输出信息描述
① 系统输入的信息有:关于应聘者的信息,主要涉及Y1/Y2/Y3等信息表;关于聘用者的信息,主要涉及P1/P2等信息表;关于双方活动的信息,主要涉及PY1/PY2/PY3/PY4/PY5/PY6/PY7等信息表。
② 系统输出的信息主要是相关数据查询与统计,具体涉及:需求匹配信息,包括聘用者选择应聘者,应聘者选择聘用者,涉及到的表格有y1/y2/y3/ p1/p2等;缴费查询与统计信息,涉及到的表格有PY2;双方协约(公司与应聘者/聘用者的中介协约,应聘者与聘用者之间的协约)信息查询与统计,涉及到的表格有PY3、PY1;面试记录信息查询与统计,涉及到的表格有PY4;试用跟踪信息查询与统计,涉及到的表格有PY5;用工跟踪信息查询与统计,涉及到的表格有PY6;投诉信息查询与统计,涉及到的表格有PY7。


图3-5 中介业务流程及其信息流图
3.数据库设计
从前面的业务流程分析可知,整个业务流程中主要包含两个实体,一是“应聘者”,即要找工作的人;另一个是“聘用者”,是需要别人为其工作的人,即雇主。实体之间存在着对应关系,即双方都要符合对方提出的条件和要求,而中介业务则承担着为双方的条件和要求进行匹配和选择的工作。因此,数据库设计的主要任务就是将两个实体的数据信息进行结构化处理,形成一个个数据库表,以方便信息系统的处理。
下面表3-1和表3-2列出的是其中两个主要的数据库表,它对各数据项进行了定义。人员基本信息详表存储了两个实体的结构化数据信息,包括姓名、性别文化程度、婚姻状况等。两个实体即“应聘者”和“聘用者”的基本信息数据存入同一个数据库表中,通过“ES”字段来进行区分。另外表3-2是关于聘用人员的信息详表,该表存储的是“聘用者”的聘用类别信息,即需要别人来为他干什么样的工作,如家教、钟点工等。我们可以看到,两表中都有“Row_id”字段,用来生成并标识每一个人在数据库系统中的代号,并且互不相同。也就是说,对于每一个人,都通过“Row_id”在不同的数据库表中加以标识,并建立了对应的关系。当然,对于“应聘者”也有一个类似的应聘类别信息表。还有其他的许多表用来存储实体对某种工作的要求和条件,限于篇幅,这里不一一介绍了。

表3-1 人员基本信息详表,表名:JZ-CUSTOM
Name Code Type
Row_id Row_id varchar(15)
聘用或应聘 es char(1)
应聘状态 status varchar(15)
姓名 name varchar(10)
简称 short varchar(5)
性别 sex char(1)
文化程度 degree varchar(15)
婚姻状况 mstatus char(1)
籍贯 place varchar(20)
出生日期 birth datetime
血型 bloodtype char(1)
身体状况 health char(1)
身高 stature decimal(3)
体重 weight numeric(5,1)
政治面貌 party varchar(15)
身份证 idcard varchar(18)
区域 area varchar(16)
通讯地址 address varchar(100)
邮政编码 postcode varchar(6)
性格特征 chara varchar(15)
照片file photofile varchar(100)
照片db photo image
电话1 phone1 varchar(15)
电话2 phone2 varchar(15)
手机 Hphone varchar(15)
寻呼 bpcall varchar(15)
电子邮件 email varchar(50)
(续表)
Name Code Type
现有情况 jobstatus varchar(15)
原工作单位 unit varchar(50)
职务 title varchar(20)
住房面积 housearea numeric(3)
家庭年收入 earning numeric(10)
备注 note varchar(200)

表3-2 聘用人员信息详表,表名:JZ-EMPOLY
Name Code Type
row_id Row_id varchar(15)
聘用人员id cusid varchar(15)
聘用类别 jobtype varchar(15)
聘用状态 status char(1)
4.系统设计与实施
(1)系统功能设计
该系统主要功能包括:数据维护、数据检索、数据统计和数据打印。具体如图3-6所示。


(2)系统开发与实施
① 系统运行环境设计与开发工具选择
由于企业规模较小,计算机网络采用对等连接的10/100M自适应以太网络;系统运行采用当前主流的客户机/服务器模式,由一台数据库服务器和若干台客户机组成。数据库服务器为一台高档微机,数据库管理系统选用了Microsoft公司的MS SQL Server 7.0版,操作系统为MS Windows 2000 Server。客户机为普通微机,操作系统为MS Windows 98并加装MS SQL Server 7.0的客户端工具Client Utility,以进行与数据库服务器的数据连接和数据处理。
开发工具主要采用了Powersoft公司的Power Builder 7.0,这是当前面向对象的数据库应用开发的主流开发工具之一。它是完全按照客户机/服务器体系结构设计的,采用面向对象技术,图形化的应用开发环境,是优秀的数据库前端开发工具。Power Builder为应用开发提供了全面综合性的支持,它的主要特点为:具有事件驱动的应用程序、功能强大的Power Script语言与函数以及面向对象的编程机制;它可以实现跨平台开发,具有广泛的与数据库连接性等特点。因此,它一经推出就受到了广大开发人员的热烈欢迎。
② 系统代码编写
结合前面对用户需求和业务流程的分析以及数据库设计的结果,利用Power Builder所提供的功能强大的Power Script语言与函数,开发人员可以方便快捷地编写系统代码。
代码编写主要包括用户界面的设计与实现、输入输出处理、数据查询处理、数据打印处理以及整个系统的管理维护模块的建立等方面的代码编写工作。
③ 系统测试、系统试运行与验收
系统各功能模块的代码编写完后,需要对系统的运行进行测试,并针对测试中发现的问题由开发人员修正代码编写中所出现的问题。系统测试基本无误后,便可投入试运行阶段,如果试运行效果较好,就可进行系统的验收工作。验收时,要确定系统建设与开发中的经验和教训,并给出一个总体的评价和今后的发展方向。
④ 用户培训
系统投入运行后,需要对系统用户进行培训。一般包括系统的设计思想、运行与操作流程、各个业务处理模块的具体操作方法,并且要有针对性的突出介绍系统使用中的难点和容易出错的地方。用户培训时还应该编制系统操作与使用手册,便于用户实际操作。

<<返回