浅析网络订购系统架构中的数据库设计方法

(整期优先)网络出版时间:2012-08-18
/ 3

浅析网络订购系统架构中的数据库设计方法

李垒沈泳

李垒沈泳

摘要:随着市场体系的日益完善,我们已经进入了一个买方市场时代。如何不断改善客户关系,掌握更多的客户信息,提高客户满意度,占有更大的市场份额,这就需要我们建立结构完善的网络订购系统,而系统中的数据库选择是十分关键和重要,本文就网络订购系统架构中的数据库设计方法作一个详细分析介绍。

关键词:订购系统数据库连接服务器分析

[中图分类号]J0-05[文献标识码]A[文章编号]1000-7326(2012)08-0024-02

1.网络订购系统简介

如何在日益激烈的市场竞争中把握机会,如何占有更大的市场份额,如何建立高效的业务流程,降低运营成本,获取更多的利润,这些已成为每个企业所面临的首要问题。这种情况下,企业要在激烈的市场竞争中立于不败之力,就必须寻找一个全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。新一个ERP产品正在向客户端和供应端延伸。对于每个企业来说网络订购系统的完善程度将直接影响企业的经济效益。[1]

2.系统分析

网络订购系统的结构

系统共分为两个大部分,十个完整的功能模块。见图(1-1)

3.业务流程图

见图(1-2)

4.数据库的设计

网络订购系统主要使用的是Access数据库。在Access数据库中,对组和用户访问数据库权限的设置工作,只能通过管理员完成。设置的权限包括:“打开/运行”,读取设计、修改设计、管理、读取数据,更新数据、插入数据和删除数据。设置和修改用户权限。

以管理员身份登录,启动数据库。单击“工具/安全/用户与组的权限”,引出“用户与组的权限”窗口,该窗口中间有“用户”和“组”两个单选按钮,分别用来更改用户或组的权限。组的权限包含了用户的权限,如果组的权限允许更新数据,则用户有权更新数据,不管用户的权限中是否选中该项许可权。在对象类型中选择设置权限的对象,包括表、查询、窗体、报表、宏和模块。在对象名称框内列出了对象的全部内容。

4.1Access数据库的优点

4.1.1经济上的好处

通过先进的数据结构技术,DBMS提供了最小化数据冗余度的可能性。当然,为了提高处理效率,即使有了DBMS帮助,有时还需要在共享的数据库中保留一定的重复数据。由于减少了数据的冗余度,从而也简化了收集和更新数据的过程。

4.1.2数据库技术也给信息服务专业人员带来的好处

综合资源共享数据库为系统分析员打开了崭新的大门。数据库能向系统分析员提供传统文件所不能提供的信息。由于有了DBMS,就更容易得到数据,因此使程序设计任务要比原先更为简单。此外,数据是独立于程序的。这意味着用户管理人员可以增加数据库中的数据、修改库中的现有数据或者从库中删除数据,这些并不影响现有的程序,而在过去则需要测试和修改几十个(有时几百个)程序。

4.1.3信息方面的好处

一个综合资源共享数据库能以有序的方式提供一种满足信息要求的结构。实际上,数据库是能够充分利用公司信息资源的唯一工具。由于数据库和DBMS在产生报表方面提供了极大的灵活性,因此,也给决策过程带来了同样的灵活性。

4.1.4DBMS软件在支持联机系统方面是特别有价值的

共享数据库不仅可供多个用户存取而且还特别能反映出数据的当前状态。对于许多查询来说,及时性是很关键的。例如,某个经理由于设备故障不得不关闭某个工作站,此时他有可能要查询其它工作站的状态,并且利用得到的信息来改变进行中的工作路线。[9]

4.2数据库的连接方法

数据库的连接方法主要有三种ODBC、OLEDB和ADO。

4.2.1ODBC

ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。

ODBC的优点:应用程序使用统一的界面与数据库交互。

ODBC的缺点:使用繁琐。

一个完整的ODBC由下列几个部件组成:

(1)ODBC管理器(Administrator)。该程序位于Windows95控制面板(ControlPanel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。

(2)驱动程序管理器(DriverManager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。

(3)ODBC驱动程序。提供了ODBC和数据库之间的接口。

(4)数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。[4]

4.2.2OLEDB

OLEDB是一组”组件对象模型”(COM)接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLEDB是MicrosoftUDA(UniversalDataAccess)策略的技术基础。OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。也就是说,OLEDB并不局限于ISAM、Jet甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在Excel电子数据表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如MicrosoftExchange中的数据。但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。[8]

4.2.3ADO

ADO的全名是ActiveXDataObject(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。

ADO主要包括Connection,Recordset和Command三个对象,它们的主要功能如下:Connection对象:负责打开或连接数据库文件。Recordset对象:存取数据库的内容。Command对象:对数据库下达行动查询指令,以及执行SQLServer的存储过程。

ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。

综上所述数据库的连接采用ADO更好一些。

4.3数据库设计技巧

4.3.1设计数据库之前(需求分析阶段)

(1)理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。

(2)了解企业业务可以在以后的开发阶段节约大量的时间。

(3)重视输入输出。在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。

举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。

(4)创建数据字典和ER图表。ER图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。对SQL表达式的文档化来说这是完全必要的。

(5)定义标准的对象命名规范。数据库各种对象的命名必须规范。[6]

4.3.2表和字段的设计(数据库逻辑设计)

表设计原则

标准化和规范化。数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但ThirdNormalForm(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF标准的数据库的表设计原则是:“OneFactinOnePlace”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。

举例:某个存放客户及其有关定单的3NF数据库就可能有两个表:Customer和Order。Order表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer表里包含该客户信息的那一行。事实上,为了效率的缘故,对表不进行标准化有时也是必要的。

数据驱动采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。

举例,假如用户界面要访问外部数据源(文件、XML文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。角色权限管理也可以通过数据驱动来完成。事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。

考虑各种变化。在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。

举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。

字段设计原则

每个表中都应该添加3个有用的字段。dRecordCreationDate,在VB下默认是Now(),而在SQLServer下默认为GETDATE()。

sRecordCreator,在SQLServer下默认为NOTNULLDEFAULTUSER。

nRecordVersion,记录的版本标记;有助于准确说明记录中出现null数据或者丢失数据的原因。

作者简介:李垒(1980—),男,硕士,吉林人,北京工商大学嘉华学院,研究方向:森林工程(北京,101118);

沈泳(1969—),男,硕士,辽宁人,北京工商大学嘉华学院,研究方向:计算机硬件和网络技术(北京,101118)。

[参考文献]

[1]李严编,Asp数据库开发实力解析,客户管理系统,清华大学出版社2003年,5(5)182-247

[2]岑贤道、安常青,网络管理协议及应用开发,清华大学出版社,1998.7

[3]亚信集团,计费—推动Internet商业发展的‘动力’,计算机世界,1998年33期

[4]赵庆敏、黎鹰等,基于SYBASE数据库系统的邮件计费,CERNET的研究与发展,第三卷,张海盛主编,科学出版社,1998,9

[5]蔡朝晖,Web服务器与数据库互连的棋型设计,计算机工程与应用,1999.5

[6]DavidTillTeachYourselfPerl5in21dayshttp://www.bi.edu.cn

[7]DeborahS.RayEricJ.Ray著邱仲潘等译,HTML4.0从入门到精通,电子工业出版社,1998年7月

[8]袁鹏飞编著,SQLServer7.0数据库系统管理与开发,人民邮电出版社,1999年5月

[9]G.HamiltonR.CattelLJDBC:AJavaSQL,SunMicrosystem,Inc.February1998

[10]黄家林、朱艳辉等,利用ASP技术开发校园网计费管理系统,计算技术与自动化,1999.3

[11]宋晓梁等,中间件及其在三层客户机/服务器模型中的应用,计算机应用,1999,[12]蔡丹媚等,利用ASP轻松实现,web的动态交互访问,计算机应用研究,1999.2

[13]向支持等,基于ASP/ADO的NT网络数据库解决方案,计算机应用,1999.9

[14]武仓林,巧用ASP的内置组件,计算机世界,1999年5月3日

[15]陈文博、毕岱君,ASP的技术特点与使用方法,计算机世界,1998年11月16日

[16]杜毅等译,PERLCGI轻松进阶,电子工业出版社,1999

[17]LeonidBraginskiMatthewPower著MicrosoftInternetInformationServer4.0使用大全,人民邮电出版社,1998年12月

[18]仁美JeffryL.Byrne著,李小坚等译,MicrosoftSQLServer6.5管理员手册,机械工业出版社,1997.9

[19]SYBASEInc.,SYBASESQLServer:Transact-SQLUser'sGuide,Feb.1,1994

[20]周世雄,NT动态站点设计指南,大连理工大学出版社,1998

[21]孙玉方等,UNIX系统工具与应用,清华大学出版社,1992.12

责任编辑:何蔚荣