常 涛
(正德职业技术学院,江苏 南京 211106)
目前,产品化的数据库管理系统是以关系型数据库为主流,技术相对成熟。面向对象的数据库管理系统尽管技术上处于先进,数据库易于研发、维护,但至今为止,还没有成熟的产品。占主导位置的关系型数据库管理系统包括ORACLE、SYBASE、SQL Server、INFORMIX 与INGRES,这些产品都支持UNIX、VMS、WINDOWS 等不同平台,但支持的程度不一样。
通常系统的设计与研发阶段,设计人员、研发人员与测试人员仅会把工作重点放在系统的功能实现上,而此时因为测试数据较小,难以衡量系统的运行性能的优劣,然而如果系统进入实际运行阶段,大量的业务数据通常会使系统的性能逐步降低,此时再来考虑怎样提升性能则会花费更多的人力及财力。所以,设计出高质量的数据库结构就变得特别关键。
对于占主导位置的SQL Server、Oracle、SYBASE、DB2 和INFORMIX数据库,分别从性能、运用风险、开放性、易维护性与价格等方面来分析比较。
SQL Server 老版本服务器多用户时性能较差,新版本的性能有了显著的提升,各项处理能力都有了显著的提升,占有数项TPC-C(事务处理性能委员会)纪录,并支持集群。Oracle 数据库性能最佳,占有Windows NT 平台下的TPC-D(基准测试,衡量联机事务处理系统的一个测试指标)及TPC-C 的世界纪录。SYBASE 数据库性能较好,满足Sun、IBM、HP、Compaq 及Veritas 集群设施的性能,达到高可用性;性能比SQL Server 稍差,然而在UNIX 平台下的并发性要高于SQL Server,适用于安全性要求较高的应用系统。DB2 适合于数据仓库与在线事务处理,性能较好,支持胖客户端和应用模式。INFORMIX 性能较好,支持集群,达到高可用性,适用于安全性要求极高的应用系统,特别是在金融业、证券行业的应用。
SQL Server 属于完全重写的代码,性能及版本兼容性有了较大的改善,同Oracle、DB2 的性能差距显著减小。该产品的产生经历了大量用户长期的测试,对产品的安全及稳定进行了全面的检测,安全稳定性有了显著的改善。Oracle 长时期的研发经验,完全向下版本兼容,基本没有风险。能够安全的进行系列产品的升级,在企业、政府中获得普遍应用。而且假如在WINNT 平台上不能满足数据的要求,能够安全的将数据转移到UNIX 平台上来。SYBASE 向下版本兼容,然而ct-library程序不易移植。研发周期较长,升级较为复杂,稳定性较佳,数据安全有保障,风险较小。在安全要求极高的金融、证券领域获得了普遍应用。DB2 在巨型企业获得普遍的应用,向下版本兼容性较好,应用风险较小。INFORMIX 研发周期较长,升级较为复杂,稳定性较佳,数据安全有较高保障,应用风险较小。在安全要求极高的金融、证券领域中获得了普遍应用。
SQL Server 仅能在Windows 平台上部署、运行,C/S 结构,操作系统的稳定对数据库是非常关键的。仅支持Windows 平台,能够用ADO、DAO、OLEDB、ODBC、JDBC 等 网 络 数 据 库 连 接 技 术 沟 通。Windows 平台的可靠性和安全性通过了最高级别的C2 认证,在处理大数据量的重要业务时具备较好的性能。Oracle 能在所有主流平台上部署、运行(包含Windows),完全支持目前所有的工业标准。利用完全开放策略,可以进行多层次网络计算,对多种工业规范提供支持,能够用ODBC、JDBC、OCI 等网络数据库连接技术沟通。能够使客户选用最适合的解决方案,对开发商完全支持。SYBASE 能在所有主流平台上部署、运行,C/S 结构,能够用ODBC、JDBC、Jconnect、Ct-library 等网络数据库连接技术沟通,在金融业中获得了普遍的应用。但因为早期Sybase 同OS 集成度不高,所以VERSION11.9.2 以下版本需要较多OS及DB 级补丁,在多平台的混合环境下会产生一定问题。DB2 能在所有主流平台上部署、运行(包含windows)。有较佳的开放性,最适于海量数据。支持跨平台能力和多层结构,支持ODBC、JDBC 等类型应用系统,在大型的国际企业中获得最为普遍的应用。IINFORMIX 仅运行于UNIX 平台,包括SUNOS(Sun 的操作系统最初称呼)和HPUX(Hewlett C Packard UNIX 的缩写,属于惠普公司的UNIX 操作系统),在金融业获得普遍的应用。
SQL Server 从易维护性与价格上SQL Server 占有较大优势。基于Microsoft 产品的一贯风格,SQL Server 的图形管理界面导致了显著的易用性,微软的数据库管理员培训工作相对充分,能够轻松的找到技术较好的数据库管理员,数据库管理费用相对低,SQL Server 的价格也是较低的。Oracle 从易维护性与价格体来说,Oracle 的价格是相对高的,管理相对复杂,因为Oracle 的应用相当普遍,经验丰富的Oracle数据库管理员能够相对容易的找到,因而实现Oracle 的良好管理。所以,Oracle 的性价比在商用数据库中是最佳的。SYBASE 的价格是相对低的,然而SYBASE 的在企业及政府中的应用较少,较难找到经验丰富的管理员,运行管理费用偏高。DB2 价格较高,管理员较少,在中国的应用相对少,只在金融业获得一定应用,运行管理费用都非常高,比较适用于大型企业的数据仓库应用。INFORMIX 价格在这些数据库服务器中居于中间,同SYBASE 类似,在企业及政府中应用相对较少,只在金融业获得了普遍的应用。经验丰富的管理人员偏少,运行管理费用偏高。
数据库结构设计在该数据库管理系统研发过程中占据非常关键的地位,下面从数据库设计原则、数据库设计方法与步骤、逻辑数据模型设计等三方面简述该数据库管理系统数据库设计。
该数据库管理系统的数据库参照以下设计原则:
(1)数据库设计要达到标准化与规范化。数据结构的标准化与数据关系的规范化有助于消除冗余数据。
(2)表中数据类型的合理化。合理的数据类型有助于提升该数据库管理系统数据库的运行性能。
(3)数据表命名的规范化。每个关系型数据库对数据表的命名都有一定要求,在对数据表命名时利用大小写敏感的形式,而且数据表命名长度不应过长,这样能够使该数据库管理系统可以应用在多个不同的数据库平台。
(4)数据库性能的完善。在运行环境已经固定的因素下,数据库的性能成为影响该人事数据库管理系统运行性能的主要条件。可以利用两个步骤开展数据库设计:先是进行逻辑设计,而后进行物理设计。逻辑设计要求消除所有的冗余字段,可以完整地说明数据库表之间的关系。然而对于多表之间关联的查询,去除所有冗余会损耗系统性能,也会增大系统研发难度。因此,找到一个平衡点成为数据库设计的关键,在物理设计中开发人员要分析关联数据表的数据量大小与访问频率,并对数据表中用来关联查询的关键字段留存适当的冗余,以提升数据库的性能。
数据库的建设分成概念数据模型设计、逻辑数据模型设计与物理数据结构设计等三个阶段,其目的是达到合理的数据表结构,使数据的存取操作更为有序,数据的编辑、查询更为方便,从而实现该数据库管理系统数据库的建设。
(1)概念数据模型设计。概念数据模型反映的是系统最终用户对于数据存储的观点,代表了系统用户综合性的信息需求,它用数据类的方式表达企业级的数据需求,数据类描述了在业务环境中聚集起来的几个重要的类别数据。概念数据模型包括主要的实体和实体之间的关系。描述概念数据模型最常用的是“实体-关系”图(即E-R 图),ER 图主要是由实体、属性及关系等三个要素组成的。
(2)逻辑数据模型设计。逻辑数据模型是指系统分析师、设计师对数据存储的见解、看法,是对前一阶段概念数据模型的分解与细化。逻辑数据模型是按照业务规则决定的,是业务对象、业务对象的数据项以及业务对象之间关系的描述。逻辑数据模型包括所有的实体与关系,决定每个实体的属性,指明每个实体的主键和外键。
(3)物理数据模型设计。物理数据模型是对真实数据库的表达。数据库对象包括表,视图、字段、数据类型、长度、主键、外键、索引以及是否可为空,还有默认值。概念数据模型到物理数据模型的转换是将概念模型中的对象转换为物理模型的对象。
开发数据库管理系统时,一个优秀的数据库服务器的选择和好的数据库结构设计起到举足轻重的地位。SQL Server 属于微软公司研发的大型关系型数据库系统,功能相对全面,效率较高,管理与操作比较简单、方便,整个系统的安全及稳定也较高,并且性能价格比最好,节约企业资金,降低研发成本,是开发人员理想的选择,能够作为中型企业或单位的数据库平台。数据库结构设计在数据库管理系统研发过程中同样占据非常关键的地位,一个好的数据库结构是该数据库管理系统的基础,数据结构设计的优劣将直接影响到该系统的效率以及所要达到的效果。
[1]孙璐.Struts2+Spring+Hibernate 在企业人事管理系统中的应用[J].软件导刊,2010.
[2]程明.基于Struts2 的数据传输系统的设计与实现[J].计算机应用与软件,2009.