浅谈数据库管理系统的数据库设计

时间:2022-08-11 03:05:13

浅谈数据库管理系统的数据库设计

【摘 要】数据库服务器为企业应用提供数据增加、更新、删除、索引、高速缓存、事务管理、查询及优化、安全和多用户数据存储等服务。开发数据库管理系统时,一个优秀的数据库服务器的选择和好的数据库结构设计起到举足轻重的地位。

【关键词】数据库;关系数据库;面向对象;服务器

1 背景分析

目前,产品化的数据库管理系统是以关系型数据库为主流,技术相对成熟。面向对象的数据库管理系统尽管技术上处于先进,数据库易于研发、维护,但至今为止,还没有成熟的产品。占主导位置的关系型数据库管理系统包括ORACLE、SYBASE、SQL Server、INFORMIX与INGRES,这些产品都支持UNIX、VMS、WINDOWS等不同平台,但支持的程度不一样。

通常系统的设计与研发阶段,设计人员、研发人员与测试人员仅会把工作重点放在系统的功能实现上,而此时因为测试数据较小,难以衡量系统的运行性能的优劣,然而如果系统进入实际运行阶段,大量的业务数据通常会使系统的性能逐步降低,此时再来考虑怎样提升性能则会花费更多的人力及财力。所以,设计出高质量的数据库结构就变得特别关键。

2 数据库服务器选择

对于占主导位置的SQL Server、Oracle、SYBASE、DB2和INFORMIX数据库,分别从性能、运用风险、开放性、易维护性与价格等方面来分析比较。

2.1 性能

SQL Server老版本服务器多用户时性能较差,新版本的性能有了显著的提升,各项处理能力都有了显著的提升,占有数项TPC-C(事务处理性能委员会)纪录,并支持集群。Oracle数据库性能最佳,占有Windows NT平台下的TPC-D(基准测试,衡量联机事务处理系统的一个测试指标)及TPC-C的世界纪录。SYBASE数据库性能较好,满足Sun、IBM、HP、Compaq及Veritas集群设施的性能,达到高可用性;性能比SQL Server稍差,然而在UNIX平台下的并发性要高于SQL Server,适用于安全性要求较高的应用系统。DB2适合于数据仓库与在线事务处理,性能较好,支持胖客户端和应用模式。INFORMIX性能较好,支持集群,达到高可用性,适用于安全性要求极高的应用系统,特别是在金融业、证券行业的应用。

2.2 运用风险

SQL Server属于完全重写的代码,性能及版本兼容性有了较大的改善,同Oracle、DB2的性能差距显著减小。该产品的产生经历了大量用户长期的测试,对产品的安全及稳定进行了全面的检测,安全稳定性有了显著的改善。Oracle长时期的研发经验,完全向下版本兼容,基本没有风险。能够安全的进行系列产品的升级,在企业、政府中获得普遍应用。而且假如在WINNT平台上不能满足数据的要求,能够安全的将数据转移到UNIX平台上来。SYBASE向下版本兼容,然而ct-library程序不易移植。研发周期较长,升级较为复杂,稳定性较佳,数据安全有保障,风险较小。在安全要求极高的金融、证券领域获得了普遍应用。DB2在巨型企业获得普遍的应用,向下版本兼容性较好,应用风险较小。INFORMIX研发周期较长,升级较为复杂,稳定性较佳,数据安全有较高保障,应用风险较小。在安全要求极高的金融、证券领域中获得了普遍应用。

2.3 开放性

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操作系统),在金融业获得普遍的应用。

2.4 易维护性与价格

SQL Server从易维护性与价格上SQL Server占有较大优势。基于Microsoft产品的一贯风格,SQL Server的图形管理界面导致了显著的易用性,微软的数据库管理员培训工作相对充分,能够轻松的找到技术较好的数据库管理员,数据库管理费用相对低,SQL Server的价格也是较低的。Oracle从易维护性与价格体来说,Oracle的价格是相对高的,管理相对复杂,因为Oracle的应用相当普遍,经验丰富的Oracle数据库管理员能够相对容易的找到,因而实现Oracle的良好管理。所以,Oracle的性价比在商用数据库中是最佳的。SYBASE的价格是相对低的,然而SYBASE的在企业及政府中的应用较少,较难找到经验丰富的管理员,运行管理费用偏高。DB2价格较高,管理员较少,在中国的应用相对少,只在金融业获得一定应用,运行管理费用都非常高,比较适用于大型企业的数据仓库应用。INFORMIX价格在这些数据库服务器中居于中间,同SYBASE类似,在企业及政府中应用相对较少,只在金融业获得了普遍的应用。经验丰富的管理人员偏少,运行管理费用偏高。

3 数据库设计

数据库结构设计在该数据库管理系统研发过程中占据非常关键的地位,下面从数据库设计原则、数据库设计方法与步骤、逻辑数据模型设计等三方面简述该数据库管理系统数据库设计。

3.1 数据库设计原则

该数据库管理系统的数据库参照以下设计原则:

(1)数据库设计要达到标准化与规范化。数据结构的标准化与数据关系的规范化有助于消除冗余数据。

(2)表中数据类型的合理化。合理的数据类型有助于提升该数据库管理系统数据库的运行性能。

(3)数据表命名的规范化。每个关系型数据库对数据表的命名都有一定要求,在对数据表命名时利用大小写敏感的形式,而且数据表命名长度不应过长,这样能够使该数据库管理系统可以应用在多个不同的数据库平台。

(4)数据库性能的完善。在运行环境已经固定的因素下,数据库的性能成为影响该人事数据库管理系统运行性能的主要条件。可以利用两个步骤开展数据库设计:先是进行逻辑设计,而后进行物理设计。逻辑设计要求消除所有的冗余字段,可以完整地说明数据库表之间的关系。然而对于多表之间关联的查询,去除所有冗余会损耗系统性能,也会增大系统研发难度。因此,找到一个平衡点成为数据库设计的关键,在物理设计中开发人员要分析关联数据表的数据量大小与访问频率,并对数据表中用来关联查询的关键字段留存适当的冗余,以提升数据库的性能。

3.2 数据库设计方法与步骤

数据库的建设分成概念数据模型设计、逻辑数据模型设计与物理数据结构设计等三个阶段,其目的是达到合理的数据表结构,使数据的存取操作更为有序,数据的编辑、查询更为方便,从而实现该数据库管理系统数据库的建设。

(1)概念数据模型设计。概念数据模型反映的是系统最终用户对于数据存储的观点,代表了系统用户综合性的信息需求,它用数据类的方式表达企业级的数据需求,数据类描述了在业务环境中聚集起来的几个重要的类别数据。概念数据模型包括主要的实体和实体之间的关系。描述概念数据模型最常用的是“实体-关系”图(即E-R图),E-R图主要是由实体、属性及关系等三个要素组成的。

(2)逻辑数据模型设计。逻辑数据模型是指系统分析师、设计师对数据存储的见解、看法,是对前一阶段概念数据模型的分解与细化。逻辑数据模型是按照业务规则决定的,是业务对象、业务对象的数据项以及业务对象之间关系的描述。逻辑数据模型包括所有的实体与关系,决定每个实体的属性,指明每个实体的主键和外键。

(3)物理数据模型设计。物理数据模型是对真实数据库的表达。数据库对象包括表,视图、字段、数据类型、长度、主键、外键、索引以及是否可为空,还有默认值。概念数据模型到物理数据模型的转换是将概念模型中的对象转换为物理模型的对象。

4 总结

开发数据库管理系统时,一个优秀的数据库服务器的选择和好的数据库结构设计起到举足轻重的地位。SQL Server属于微软公司研发的大型关系型数据库系统,功能相对全面,效率较高,管理与操作比较简单、方便,整个系统的安全及稳定也较高,并且性能价格比最好,节约企业资金,降低研发成本,是开发人员理想的选择,能够作为中型企业或单位的数据库平台。数据库结构设计在数据库管理系统研发过程中同样占据非常关键的地位,一个好的数据库结构是该数据库管理系统的基础,数据结构设计的优劣将直接影响到该系统的效率以及所要达到的效果。

【参考文献】

[1]孙璐.Struts2+Spring+Hibernate在企业人事管理系统中的应用[J].软件导刊,2010.

[2]程明.基于Struts2的数据传输系统的设计与实现[J].计算机应用与软件,2009.

上一篇:优化数学教学语言 提高课堂教学效率 下一篇:物理探究活动中创造性思维的培养