数据库管理系统范文

时间:2023-03-06 15:56:37

引言:寻求写作上的突破?我们特意为您精选了12篇数据库管理系统范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

数据库管理系统

篇1

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

篇2

1系统概况

1.1系统环境硬件:微机及打印机各1台,软件:丹诚公司的DataTrans-1000图书馆集成系统,汉字操作系统Windows98以上。

2对图书馆工作人员业务素质的基本要求

2.1必须执证上岗图书馆工作人员应精通图书情报专业的理论技术及方法,并能熟练地应用于工作实践:熟悉CNMAR和USMRC标准分类法(中国图书分类代码和国际图书分类代码);MARC(即机读目录格式)是图书馆计算机系统编制、识别、存贮、检索和处理文献目录形式及数据的基本格式。可通过参加MARC培训班学习,取得合格证后方能上岗。

2.2业务素质要求有阅读、分析、概括、提炼图书资料主题并能较准确地进行归类的能力:会使用工具书解决分类标引中的疑难问题,有广博的基础知识和合理的知识结构。具有一定的生物医学知识,以利于分类、编目质量的提高,并有一定的外语水平,以利于提高阅读、编译能力。

2.3掌握计算机操作能掌握计算机的基本知识和操作维护技术:能对有关数据库和网上信息进行查询、阅读和筛选。

2.4熟悉现代管理的理论、技术与方法能创造性地应用于管理实践,具有服务意识,善于宣传图书馆和推广利用信息产品,并能够通过服务效果评价图书馆的效能。

2.5能够培训用户(读者)和进行阅读辅导使读者提高计算机操作和自行检索文献的能力和文献利用能力。

3数据库的建立及应用

3.1我馆采用丹诚公司的DataTrans-1000是Internet时代的专业化图书馆业务软件,它为我们的业务工作带来了标准化和高效率,为图书馆业务迅速切入全球网络信息共享大环境提供了一个高起点[1]。它是目前国内图书馆界性能价格比较高的管理软件之一,也是国内唯一被图书馆用于正式联机编目服务的系统,用户公认的可扩充性强,对机读目录格式标准支持较充分的图书馆集成系统[2]。

3.2书目文献资源库的建立书目数据库是图书馆自动化的基础,数据库质量是图书馆自动化、网络化稳定发展的保证。建库方式有两种:①套录。书目数据套录就是通过查询光盘数据库、成员馆书目数据库、联合编目中心等数据库,套录所需的书目数据到本馆编目系统中的过程,书目数据套录是目前普遍采用的编目手段[3]。大量使用网上或外部的机读书目数据方式,可以提高分编效率,促进编目工作朝着标准化、规范化迈进。既减少了工作量,又加速了馆内书目数据库的建立。我馆采用的是深圳市图书馆CNARC格式制作的数据。②自建。依据软件中规定数据录入规范的数据,这种方式针对性强,首先应狠抓数据录入关,保证数据的准标格式,其次还应加强录入人员的责任感,及时核对,保证数据的完整性和准确性。编目环节是承前启后的一个关键环节,编目工作的质量直接影响图书馆书目服务的整体水平,编目工作具有一定的学术性,要求编目人员对出版物相关知识有基本了解,能够从图书期刊的内容、形态等方面的特征中把握主要因素,将图书期刊准确地描述和分类。

3.3采购目录的应用采购工作的主要目的是订购图书,建立采购目录,为采购和订购验收统计奠定基础,采购是建立馆藏物品目录的第一个环节,采购环节建立的订购目录记录了订购出版物的基本情况、订购件数和订购价格。

3.4流通管理的应用利用流通系统建立的数据库和读者库,对图书馆收藏的图书进行借阅管理(即流通管理),可以进行借书、还书、续借、过期罚金处理、查询读者借书情况、查询图书库存情况等事务处理工作,同时还可以进行预约借书、读者到馆登记、读者证件挂失等工作。

4系统的功能和特点

4.1集成化将馆藏图书库、典藏库、流通库和读者库有机地融为一体,采购、编目、典藏、流通、公共查询、期刊管理、情报检索、书目控制等功能。

4.2规范化和标准化系统中各种编码严格遵循国家和国际标准,所有数据的著录格式、标引原则均按国家颁布的要求标准执行,以《中国图书馆分类法》第四版进行分类、标引。

4.3数据的一次输入可提供多次多项目的利用可自动打卡、图书总帐统计、分类统计等等,提高了工作质量和工作效率,保证了著录格式和其它登录项目的标准化、统一化、美观化,加快了图书的宣传与流通。

4.4确保了科学的藏书管理可通过分类统计随时了解各学科图书的馆藏情况,从而根据需要采购新书,使有限的财力发挥了它的最大效用。

4.5部分操作简便易学系统设计的检索窗既面向图书采编管理,又可向读者自行检索,读者可通过书名、ISBN号、主题、作者及分类号等进行检索,还可以进入浏览窗进一步选择。

4.6及时、准确、较全面地提供医学图书数据满足了医务人员临床诊治、知识更新、科研教学的各种需要,特别是紧迫性和新颖性的需要,使图书馆为临床医教研服务的水平达到了一个新的高度。

5数据库管理系统的应用体会

5.1硬软件选择根据馆情确定网络规模和机型,一般操作用机应考虑到将来的发展,应用软件的选择应考虑软件的集成化、智能化、标准化、稳定性和可发展性,走出重复开发软件的误区,以免造成人力、物力的巨大重复投资。

5.2保证数据的标准化建库是一项系统工程。建库前应统一分类方法,做好建库前的整理工作,保证数据的标准化。

5.3系统维护中央数据库是自动化管理的核心。系统及数据维护对于图书馆自动化建设来说是相当重要的问题,对图书馆所有工作人员强调网络安全的重要性,并进行一定的计算机安全知识培训。采取一定的防范措施和制定相关管理制度。

5.4加强网络建设、开展馆际合作、实现文献资源共享加强馆际合作可以联合各相同专业的图书馆共同建设数据库,既可以统一建库标准又避免了重复投资。如能实现网络建设,建立文献资源保障体系和共享机制,将一定区域内的医院图书馆联成局域网,各联网图书馆收集、开展并传递信息,在为本院读者服务的同时,也为社会用户、网络用户、远程用户服务。读者可以直接上网适时、适地地查到各联网图书馆的最新馆藏信息,方便快捷,把他们从浩渺无边的书海中解脱出来,这样才能更充分发挥图书馆自动化的优势。

笔者认为:图书馆自动化网络建设是一项艰巨而复杂的工程,我院图书馆自动化系统的运行,不仅彻底改变了以往的工作方式和服务水平,而且证实了在医院图书馆实现标准化、规范化、科学化是行之有效的。检索工作为读者开放,既锻炼其上机的技能,又培养其浓厚的学习兴趣,信息检索最大限度地方便了读者并服务于读者。另外馆员参与建立网络和数据库工作,既提高了其掌握现代化技能的信心和能力,人员素质相对提高,也适应了新形势的发展需要。

【参考文献】

篇3

在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“涪陵师范高等专科学校”,查询者可能只知道其简称“涪陵师专”或“涪师专”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 2.5b中,实现模糊查询的方法。

一、 简单的模糊查询方法

① 利用比较操作符“=”进行模糊查询。先把SET EXACT的设置置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,"abc"="abc","abc"="ab","ab_"="ab","ab"=""的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。

② 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“涪陵师专”或“涪师专”之类的简称,其查找结果为逻辑假(.F.)。

由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。

二、查询条件为缩略语或简称的模糊查询方法

缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件()与字符型字段变量()进行逐字比较,如果是的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。

下面将作者所编写的自定义函数介绍给读者,以供参考。

设计思想:此函数必须是一个通用函数。为此,执行时可先接受二个参数──和。从的左边开始取其第一、二个字符X1,用AT( )函数测试X1在中的位置S1,如果S1不为0,就将中包含X1以及左边部分的字符截掉,并取中的第三、四个字符X2,用AT( )函数测试X2在的剩余部分中的位置S2,若S2不为0,就将的剩余部分中包含X2以及左边部分的字符截掉……,直到将中的字符取完并在中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占二个ASCII字符,所以每次取二个相邻字符进行测试(让ZFBJ.PRG中的K=2)。这样做,一是可以减少测试比较的次数,提高程序运行速度。二是当中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让ZFBJ.PRG中的K=1)。

本函数的源程序如下:

* 程序名称:ZFBJ.PRG

* 程序功能:比较是否为的缩略语

* 调用格式:ZFBJ(,)

* 通常是一个字符型字段变量

* 返 回 值:逻辑值 .T. 或 .F.

* 使用环境:FoxPro 2.5b

PARAMETERS m.FIELD, m.INMC

PRIVATE ALL

IF (PARAMETERS( ) < 2) ;

OR EMPTY(ALLTRIM(m.FIELD)) ;

OR EMPTY(ALLTRIM(m.INMC))

RETURN .F.

ENDIF

IF SET("TALK") = "ON"

SET TALK OFF

m.talkstat = "ON"

ENDIF

m.compstat = SET("COMPATIBLE")

SET COMPATIBLE FOXPLUS

J = LEN(ALLTRIM(m.INMC))

K=2

FOR I = 1 TO J STEP K

m.MC = SUBSTR(ALLTRIM(m.INMC),I,K)

MCWZ = AT(m.MC,ALLTRIM(m.FIELD))

IF MCWZ0

m.FIELD = SUBSTR(ALLTRIM(m.FIELD),MCWZ+K)

fhz = .T.

ELSE

fhz = .F.

EXIT

ENDIF

ENDFOR

IF m.talkstat = "ON"

SET TALK ON

ENDIF

IF m.compstat = "ON"

SET COMPATIBLE ON

ENDIF

RETURN fhz 使用举例:设内存变量m.field,其值为用户输入的用户名称的简称,如“涪师专”,现在要在KTJBK.DBF中查询用户名称(字段名)为“涪陵师范高等专科学校”,或为“涪陵师专”,或为“涪师专”的全部记录,可以先将满足条件的记录拷贝到一临时数据库TEMP.DBF中,然后再浏览,浏览完毕删除临时数据库TEMP.DBF。其程序如下:

m.field="涪师专"

SELECT 0

USE KTJBK

COPY TO TEMP.DBF FOR ZFBJ(用户名称,m.field)

SELECT 0

USE TEMP

BROWSE NOEDIT

USE

DELETE FILE

TEMP.DBF

SELECT KTJBK

USE

通过上面介绍的自定义函数实现了真正的模糊查询,然而令人遗憾的是它的速度表现总使人感到美中不足。幸好在FoxPro中引入了结构化查询语言SELECT-SQL。

三、 利用FoxPro中SELECT-SQL语句的模糊查询方法

结构化查询语言SQL是FoxPro中值得骄傲的特色之一。利用SQL的SELECT语句

可以非常方便、极其快速地进行十分复杂的查询操作。特别值得推荐的是ELECT-SQL语句中的WHERE参数支持通配符“%(百分符号)”和“_(下划线符号)”,因此,对于查询条件为缩略语或简称的情况,可以非常简单地实现真正的模糊查询。这里,百分符号“%”代表0个或0个以上的任意字符,下划线符号“_”代表1个任意字符,它们只能与运算符LIKE搭配使用。

使用举例:设内存变量m.field,其值为用户输入的用户名称的简称,如“涪师专”,现在要在KTJBK.DBF中查询用户名称(字段名)为“涪陵师范高等专科学校”,或为“涪陵师专”,或为“涪师专”的全部记录,可以用下面的一段程序实现:

m. field="涪师专"

mc_cxtj="%"

FOR i=1 TO LEN(ALLTRIM(m.field)) STEP 2

mc_cxtj=mc_cxtj+SUBSTR(ALLTRIM(m.field),i,2)+"%"

ENDFOR

SELECT * ;

FROM KTJBK ;

WHERE KTJBK.用户名称 LIKE (mc_cxtj) ;

INTO CURSOR TEMP

程序说明:本程序运行时,先将m.field = "涪师专" 中插入四个通配符“%”,得到mc_cxtj ="%涪%师%专%",然后利用SQL的SELECT语句,从数据库KTJBK.DBF中选出字段变量“用户名称”符合“%涪%师%专%”格式的所有记录,输出到一个虚拟临时数据库TEMP.DBF中。

利用FoxPro中的结构化查询语言SELECT-SQL可以编写出很漂亮的通用查询程序。笔者在数据库管理系统的开发实践中,曾用FoxPro的屏幕生成器编写过一通用查询程序,其通用性和执行速度表现都非常好(本人愿抛砖引玉,奉献给有兴趣的《软件世界》读者,见附录),限于篇幅这里就不详细介绍了。

附录:《一个真正的通用查询程序》见磁盘文件TYCX.TXT(纯文本文件)或

TYCX.DOC(WORD97文档)

篇4

引言

查询优化是数据库管理系统设计和实现所采用的一项重要技术,也是影响数据库性能的关键因素。为了优化数据库的性能,除了在数据库的物理设计,关系规范化等方面进行改进外,还有一个简单有效的方法就是通过设计高效合理的查询计划提高查询响应速度。

数据库管理系统处理查询计划的方式是:在做完查询语句的词法、语法检查之后,将语句提交给数据库管理系统的查询优化器进行代数优化和存取路径的优化,之后由预编译模块处理语句并生成查询规划,然后在合适的时间交由系统处理执行,最后将执行结果返回给用户。SQL语句是对数据库进行操作的唯一途径,应用程序的执行最终要归结为SQL语句的执行,SQL语句的效率对数据库系统的性能起到了决定性作用。因此对查询语句的优化是提高查询效率的根本。

一、SQL查询语句的优化策略

影响数据库系统性能的因素很多,包括数据库连接方式、应用系统架构、数据库设计、管理等。其中最本质又至关重要的是数据库管理系统本身的查询优化技术。通过分析关系代数表达式的等价变换准则及查询代价,给定的SQL查询与关系代数表达式对应关系,研究出基于关系代数等价变换规则的SQL查询优化。此外,优化器的优化策略还与所查询表的内容和其他一些与服务器有关的因素有关。因此对优化器来讲,最为重要的选择就是使用什么索引和采用何种表的连接手段。如果用户提交的SQL语句和系统的索引体系是一个不合理的查询计划,仅仅经过系统优化器的优化,根本不可能变得高效。因此用户应合理适当的建立索引体系。

二、SQL查询的优化方法

设计高性能的SQL语句的前提是:熟悉你所用的优化器的优化策略并深入理解数据库中的数据,以及透彻的分析用户的需求。在此基础上,才能尝试编写效率最高的SQL语句,优化程序设计。以下所举实例中使用的数据表来自工作实际中的学生信息表(students )、教师信息表(teachers)以及学生成绩表(sc)。

1.合理使用常规优化查询

观察下面两组查询语句,它们查询的结果都是一样,但是查询的速度却有着明显的区别。

第1组:SELECT*FROM teachers WHERE salary/25 =1000

第2组:SELECT*FROM teachers WHERE salary =1000 * 25

第2组的语句,在经过了优化后,查询的速度减少了数十倍。因为,数据库优化器在面对第2组的salary=1000* 25时,会转换成salary=25000进行查询,却不能将第1组中的salary/25=1000进行转换。鉴于此,应尽量写用常量跟字段比较检索的表达式,而不要将字段置于表达式当中,否则就没有办法进行优化。

2.拆分子句优化查询

使用了IN,OR子句的查询语句,常会使工作表中索引失效。在不会产生大量重复值的前提下,可以考虑把子句拆分开,要求拆分的子句中应该包含索引。在WHERE子句中的“IN”在逻辑上相当于“OR”,所以数据库优化器会将sno in ('01', '02')转化为sno='0l' or sno='02'来执行。这里采用了“OR策略”,就是将满足每个OR子句的行取出,存入临时数据库的工作表中,再建立唯一索引去掉重复行,最后从这个临时表中计算结果。因此,实际过程中并没有利用sno的索引,这样还会因tempdb数据库性能的不同而影响查询时间。

假设在一个表table中有二十万行,其中no字段上有非群集索引,则执行下面这条语句的速度将会非常慢:

SELECT*FROM table WHERE no IN ('0',' 1')

当这个表中的行越来越多,速度也将越来越慢。如果我们将这个OR子句分开,变成:

SELECT*FROM table WHERE no='0'

SELECT*FROM table WHERE no='1'

然后将得到的结果进行UINIO运算,执行的时间只需短短数秒,因为这里的每句都使用了索引,由此提高了查询速度。

3.使用存储过程优化查询

存储过程是用SQL语句和数据库编程语言编写的,完成一定的数据访问功能或提供一定的服务过程,预先进行编译和优化后,存储在服务器中,客户程序可以通过远程调用的模式调用它们,因此在执行时不需要将应用程序代码向服务器端传送,可以大大减轻网络负载。同时,由于存储过程已编译为可执行代码,不需要每次执行时进行分析和优化工作,从而减少了预处理的时间,提高了效率。另一方面,使用存储过程还易于维护,且表的结构改变时,不影响客户端的应用程序。

4.通过查询语句优化提高查询速度

⑴避免使用不兼容的数据类型

查询的问题之一是在where子句中对有不同类型的列的比较企图。例如float和int;char和varchar;binary和varbinary是不兼容的。因此要求where子句中表达式的数据类型是兼容的,数据类型的不兼容可能使优化器无法执行一些本来可以进行的优化操作。

⑵避免或简化排序

应当简化或避免对海量数据表进行重复的排序。当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序的步骤。以下是一些影响因素,索引中不包括一个或几个待排序的列;group by或order by子句中列的次序与索引的次序不一样;排序的列来自不同的表。为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。如果排序不可避免,那么应当试图简化它,如缩小排序的列的范围等。

⑶避免相关子查询

若子查询中引用外层查询的值,就构成相关子查询。执行时就不能象无关子查询那样,先单独处理子查询,再处理外层查询,而需要外层查询和子查询交叉进行。先用外层查询定位一行数据,这样子查询的引用就有了确定值,然后执行子查询,得到结果后判定外层查询定位的那行数据是否满足条件,再取下一条记录,再执行子查询……直到外层查询涉及的数据全部检查完为止。例如一个列的标签同时在主查询和where子句中的查询中出现,那么很可能当主查询中的列值改变之后,子查询必须重新查询一次。这样的查询嵌套层次越多,效率越低,因此应当尽量避免子查询。

三、结论

以上所述只是对SQL查询进行优化的方法,查询优化的重点环节是使得数据库服务器少从磁盘中读数据,同时尽量避免非顺序读页。要想实现SQL的性能优化,还需要深人研究数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计等。为了能更好地实现数据库应用系统优化,平时需要多积累一些SQL语句的优化技巧,充分利用硬件性能和软件方法来解决。

参考文献

[1] 刘亚欣.数据库查询优化技术研究及其应用[D].大连理工大学,2006,(12)

[2] 郭玉栋、左金平.SQL 语言查询优化方案探究[J].晋中学院学报,2006,(6)

篇5

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9599 (2011) 23-0000-01

Analysis of Computer Database Management System

Peng Tao,Pan Yanjun

(Rizhao Chinese Medicine Hospital,Rizhao 276800,China)

Abstract:With the continuous development of computer technology,computer database management system has also been improved,and applied to many fields,database management system is to achieve an effective organizational system database applications,database management system,this paper describes the development stage,characteristics and function,and so to truly understand the computer database management system.

Keywords:Computer database management system;Computer database

一、计算机数据库管理系统的发展阶段

(一)人工管理阶段。早期的数据管理是人工进行的,当时的计算机主要是用来科学计算的,输入数据运行后,不保存数据,只要计算后的结果。(二)文件系统阶段。随着计算机技术的发展,上世纪50年代后,计算机超越了只进行科学计算阶段,已经能处理非数值数据,数据可以实现长久保存,并且实现了数据的逻辑结构和物理存储的分开,减少数据的物理组织,数据可以实现多个应用,实现数据的重用,不同的程序,在了解其文件数据结构的基础上可以重复应用。(三)数据库系统阶段。进入上世纪60年代后,新的数学方法比如信息代数\关系模型等数据库理论的应用和发展,极大地推进了数据库技术的发展,数据库系统实现了数据的充分共享,交叉访问。实现了数据应用管理的应用程序的高度独立性。

二、计算机数据库系统的构成

数据库系统是指组织、存取和维护大量数据的人机管理系统,是由计算机、数据库、数据库管理系统和有关人员组成的有机整体,它是实现数据组织、存储、管理等功能的组织形式,数据库和数据库管理系统为信息的组织、管理和处理提供了前提。数据库管理系统为数据库的正常运行提高了保证,数据库用户往往只有通过数据库管理系统软件工具才能与数据库打交道在数据库管理系统中,应用程序不能直接从存储介质获得所需数据,它必须先将请求提交给数据库管理系统,由数据库管理系统负责从存储介质检索数据并提供给应用程序使用,因此一个数据库管理系统就是应用程序与数据之间的接口,其构成如图所示:

三、计算机数据库管理系统的特点及其功能

(一)计算机数据库管理系统的特点。计算机数据库管理系统的特点主要表现在以下方面:(1)组织性。(2)共享性。(3)冗余度的可控性。(4)灵活性。(二)计算机数据库管理系统的功能。数据库管理系统是指对数据进行管理的软件系统,是数据库系统的核心。

四、计算机数据库管理系统的主要技术

(一)加密技术。对于一些重要的机密的数据,都必须存储在数据库中,需要防止对它们未授权的访问,哪怕是整个系统都被破坏了,加密还可以保护数据的安全,对数据库安全性的威胁有时候是来自于网络内部,一些内部用户可能非法获取用户名和密码,或利用其他方法越权使用数据库,甚至可以直接打开数据库文件来窃取或篡改信息。因此,有必要对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。(二)存取管理技术。存取管理技术主要包括用户认证技术和访问控制技术两方面,用户认证技术包括用户身份验证和用户身份识别技术。访问控制包括数据的浏览控制和修改控制,浏览控制是为了保护数据的保密性,而修改控制是为了保护数据的正确性和提高数据的可信性,在一个数据资源共享的环境中,访问控制就显得非常重要。(三)备份与恢复技术。数据备份与恢复是实现数据库系统安全运行的重要技术,数据库系统总免不了发生系统故障,一旦系统发生故障,重要数据总免不了遭到损坏,为防止重要数据的丢失或损坏,数据库管理员应及早做好数据库备份,这样当系统发生故障时,管理员就能利用已有的数据备份,把数据库恢复到原来的状态,以便保持数据的完整性和一致性。

五、计算机数据库管理系统的发展方向

(一)数据库产品的多样化和数据库技术的高端化。随着信息技术的发展以及数据库技术应用的领域越来越广泛,计算机数据库管理系统产品也呈现了多样化的特点,例如,我们经常使用到的SQL Server、MySql以及Orcle等数据库产品,这些满足了市场的多元需求。同时,数据库技术也呈现出智能化、一体化、集成化等高超技术的特性。数据库技术一直是社会现实需要作为推动的,现代企业在全球化的竞争中,已经对信息化提出更高要求,这样的现实需求推动着数据库技术从以前的专门的技术领域走向与生产实际相结合的领域,走向企业等生产业务决策等前台,要求数据库从简单的数据处理到信息服务,到业务本身管理,甚至到知识和决策,这就产生和发展了相应的技术。(二)数据库技术的系列化发展。数据库技术的发展不仅推动了社会应用的发展,而且也促成了新技术的诞生和应用,数据库技术的不断发展使得数据库技术呈现多元化,极大的带动了相关技术的发展与变革。例如新的数据模型理论形成成熟的技术产品,正如成熟的关系型数据库理论知识推动关系数据库发展一样,新的数据库基础理论也会推动数据库技术的大发展,数据库在高可靠性、高性能、高可伸缩性和高安全性方面将不断提高,在互联网方面结合新的技术实现不同数据库的数据互用互联,采用发展的网络数据库网络数据表示技术等,在不同的应用上将出现不同的数据技术来协同支持原有的数据库技术的应用,比如中间件等,这样可以扩大数据库技术的应用,形成灵活而集成的数据库技术。

六、结论

计算机数据库管理系统是实现数据库管理的有效技术之一,它具有良好的适用性,其技术也会得到不断的发展和完善,但在实际操作时,我们也应该加强数据库系统的安全防范,要不懈的进行相关的研究使其得到更好地发展。

参考文献:

篇6

系统名为数据库管理(Database Management Systems,简称 DBMS)指的是提供对各种数据进行管理服务的电脑软件系统,此服务有数据的对象定义、数据备份和存储、数据更新和访问、数据分析和统计、数据的安全保护、数据库的运行管理还有建和和维护数据库等。由于企业的信息化目的即是依靠现代的信息技术作为手段,收集、管理、加工和利用随企业生产以及经营过程产生而来的数据,用以提升企业生产的整体经营效率,使企业的竞争能力得到增强。所以,企业信息化所不可或缺的工具整是数据库,数据库也是大部分的企业的信息系统之核心。所以加速推动企业的信息化进程在于剖析数据库的管理系统现状以及未来发展趋势。

一、数据库管理系统的发展历史

数据库管理系统经历了四个发展阶段第一阶段是 60 年代早期的人工管理阶段,第二阶段是 70 年代的文件系统阶段,第三阶段是80 年代出现到90 年代初成为主流的关系数据库,第四阶段是目前新兴的面向对象的数据库。

1. 人工管理阶段

早期的数据管理是人工进行的,当时的计算机主要是用来科学计算的,输入数据运行后,不保存数据,只要计算后的结果。

2. 文件系统阶段

随着计算机技术的发展,上世纪 70 年代后,计算机超越了只进行科学计算阶段,已经能处理非数值数据。数据可以实现长久保存,并且实现了数据的逻辑结构和物理存储的分开,减少数据的物理组织。数据可以实现多个应用,实现数据的重用,不同的程序,在了解其文件数据结构的基础上可以重复应用。文件组织多样化,可以有索引、接散和散列等文件,缺点是数据冗余度大,文件和应用程序关联度大,不同程序应用时,重复定义重复存储,不能共享,造成冗余度大,数据联系弱,文件中的数据组织记录由字段组成,内部有结构,但是,文件之间是孤立的整体,也没有反映现实间事物的内在联系,在应用上,很难能适用不同的应用。

3. 关系数据库

随着80 年代到90 年代,一种建立在关系数据库模型基础上的数据库,并且借助于集合代数等概念和方法来处理数据库中的数据,称为关系数据库,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。目前主流的关系数据库有Oracle, SQL, Access, DB2, Sqlserver,Sybase等。

4. 面向对象数据库

面向对象数据库是指把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大限度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。

二、数据库管理系统的研究现状

1. 数据模型和数据序发展

数据库管理系统是随数据库系统发展而发展的。自数据管理进入系统管理后,上世纪六七十年代,先后发展产生了层次数据库系统、网状数据库系统和关系数据库系统。这 3 个系统都是建立在相应的数据模型理论上的,数据模型是一种限制世界数据特征的抽象,在现实世界、信息世界和机器世界分别表达描述,分别以数据、信息或记录等表示的。数据模型主要是数据结构、数据操作和数据约束等。

2. 数据库管理系统的形成

数据库管理系统为了数据库的建立、使用和管理维护而建立的。其功能主要有:数据定义;数据库操作;数据库运行管理;数据组织、存储和管理;数据库的建立和维护。数据库管理系统的基本特征:数据结构化统一管理。这样在统一的数据模型表示上,数据可以面向整个应用系统,容易维护扩展,数据冗余少,实现共享,较高的独立性,数据和程序独立,将数据的定义从程序中分离出去,数据库管理系统存储,从而简化了应用程序。数据库管理系统还提供了对安全性、完整性、并发和恢复的控制。

3. 数据库的智能化和集成化

数据库技术的广泛使用为企业和组织收集并积累了大量的数据。数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)、数据仓库(Data Warehousing) 和数据挖掘等技术的出现,促使数据库向智能化方向发展。同时企业应用越来越复杂, 会涉及应用服务器、Web 服务器、其他数据库、旧系统中的应用以及第三方软件等, 数据库产品与这些软件是否具有良好集成性往往关系到整个系统的性能。

三、数据库管理系统的发展趋势

1. 数据库向应用软件方向发展

随着用于在线事务处理 OLTP 的数据库管理系统的专业化发展,会出现管理要求不高,价格相对低廉的数据库管理系统。这些系统与其他应用软件进行集成,相当方便的指导初学者了解安装和管理,向导自动完成许多任务调用的智能功能,使得 DBMS 易于安装操作和管理。数据库开发商还进行远程管理功能的开发,富有经验的数据库管理人员可从其他地方来监视和管理数据库,在某些情形下甚至是数据库开发商来为用户处理问题,这使得DBMS 的管理要求降低,随着用户对应用开发商要求的增加这种趋势将会持续。

2. 数据库和网络结合起来

为了在激烈的竞争中取胜许多 DBMS开发商把产品发展方向定为 Internet 数据库。这些开发商正设法赋予数据库网络连接功能,扩充对网络上多媒体数据的存储和操作管理功能。通过设置 Internet 网络接口,如支持 HTTP 协议 Hypertext Transfer Protocol。DBMS提供许多与网络服务器功能相匹配的功能以实现与网络的连接,其趋势朝 DBMS 拥有网络地址的方向发展。DBMS 开发商认为 DBMS 是替代由网络服务器担负的数据和文件存储的最好工具。随着网络商业化的发展,将开发出在 DBMS 上进行存储的方法,并将取代目前把多媒体数据存放在网络服务器的做法,同时 DBMS 还会具有传输控制和数据集成能力。

3. 数据库的优化存储

以前企业信息管理的重点是把数据放入数据库保存,而现在则是从数据库中获得信息。DBMS正在进行数据存储的优化,如增加并行处理位图序列化改进队列算法,预合计改善批量装载能力等主要的功能。DBMS开发商已经开发出数据存储的优化技术,但要达到最终要求还有很长的路要走。在此过渡期主要的DBMS开发商转向建立新的数据存储功能,并作为其 DBMS 产品的可选功能。IBM 的 DB2,OLAP Server 把 DB2 与Hyperion Solutions公司的Essbase数据库集成起来。Oracle Express Server 采用从Information Resources购买的快递Express技术,它们都能存放和管理多维数据阵列并具有直接分析复杂相关数据的能力。

4. 数据库技术发展高端化

数据库技术一直是社会现实需要作为推动的,现代企业在全球化的竞争中,已经对信息化提出更高要求。这样的现实需求推动着数据库技术从以前的专门的技术领域走向与生产实际相结合的领域,走向企业等生产业务决策等前台。要求数据库从简单的数据处理到信息服务、到业务本身管理,甚至到知识和决策。这就产生和发展了相应的技术,比如数据挖掘技术、知识库专家系统、能处理和控制大量的生产信息和资源的数据库技术如 ERP。

参考文献:

[1]徐红梅. 数据库管理系统及其发展趋势[J]. 微型机与应用. 2006; (10):11-13

[2]萨师煊, 王珊. 数据库系统导论[M]. 北京:高等教育出版社. 2004;21-37

篇7

一、引言

医院的信息化建设就是医院在运用现代化的管理手段的基础上,充分利用计算机、网络、数据库等信息技术的资源对医院进行有效管理的过程。当前,信息技术在不断的发展,而医院在人们日常的生活与生产实践中又占据着重要的作用,因此,医院的信息化建设已经成为时展的必然趋势,对于提升医院的管理效率,并有效增强医院现代医院的竞争力发挥着重要的作用。

二、医院信息化建设存在的问题

近年来,一些发达国家的的医院已经普遍应用了信息化建设,以有效提高医院的工作效率与管理水平。但是,我国部分医院的信息化建设起步较晚,目前,在发展的过程中仍然存在着一定的问题。首先,在标准化问题上,由于每个医院所采取的信息化管理系统与管理平台会有所不同,在实际的运作过程中,由于缺乏统一的医疗信息管理标准,导致在相关数据的共享方面存在着问题;其次,由于部分医院缺乏专业的信息化工作的技术人员,从而导致医院的信息化管理水平较差。同时,由于国家对相关医院的经费投入不足,且缺乏长效的投入机制,使部分医院的现代信息化建设步伐明显放慢,得不到长期的发展。因此,为了解决我国部分医院在现代信息化建设过程中存在的相关问题,必须有效建立医院的信息数据库管理系统,进而提高医院的管理水平与工作效率。

三、医院信息数据库管理系统

如今,在医院的信息化建设过程中,其中较为重要的一部分就是医院的信息数据库管理系统,该系统主要是在有效利用计算机、网络与相关的通讯设备等的基础上形成的现代化的数字信息管理系统[1]。在医院,有效运用医院信息数据库的管理系统,能够对医院的相关数据进行有效的采集、分析、利用等,进而使医院的内部信息能够得到有效的管理,并为医院的相关管理人员进行决策提供必要的依据。在医院的信息数据库的管理系统中,被分为了许多的功能系统,且每个功能系统既可以相互独立存在,又必须与整个管理系统有机的融合在一起,从而有效提高医院的信息化管理系统的综合性与集成性,从整体上提高医院的管理效率。而在功能上,医院的信息数据库的管理系统主要分为了医疗、医院相关信息的管理与医学服务等方面的信息管理系统。同时,对于医院的信息数据库的管理系统,在硬件上必须包括计算机的操作系统、现代办公软件以及相关的通讯设备等。

四、医院信息数据库管理系统的应用研究

(一)计算机相关操作系统与办公软件的合理选择

由于时代的不断发展,计算机的相关操作系统也得到了飞速的发展,而目前我国医院在计算机操作系统普遍选用的是Unix操作系统,且医院的数据库同样选用的是较高级别的Oracle 10g[2]。在实际的使用过程中,由于系统的不断升级,对于新系统在功能操作方面出现的不同,极易导致医院的信息数据库的管理系统的相关管理人员在系统的使用方面出现问题。因此,对于该系统的有效操作,相关的管理人员要不断的学习新知识,对新旧功能进行对比,从而充分了解系统新功能的作用,进而针对性对实际操作中可能存在的问题进行有效分析,以形成新的操作思路,提高医院信息管理的效率。

(二)医院相关信息数据库的建立

有关信息数据库的建立是医院实现信息化建设的基础。因此,在创建信息数据库的时候,首先,必须严抓相关信息数据的录入这一环节。在这一环节中,医院要加强对相关数据录入人员的培训力度,一方面要教授他们有关建立数据库的专业知识,另一方面要教授相关管理人员掌握数据库的信息管理系统的操作方法,从而确保数据录入的完整性与正确性;其次,数据库的信息的采集环节。在这一环节中,医院要加强相关的数据录入工作人员的责任感,要求其按照规定将数据进行有效的分类、整理与记录。同时,在信息采集结束后,工作人员还要对相关数据进行核对,从而避免失误;最后,数据库的信息的编辑环节。在这一环节,要求工作人员能够对医院的相关信息进行整体的了解,从而将医院的信息进行准确的分类。

(三)医院的信息数据库的管理系统的安全维护

在实际的工作中,对信息数据库的管理系统进行有效的维护,能够有力的促进医院信息化建设步伐的加快。因此,在信息数据的安全性维护这一块,相关的管理人员要积极做好数据备份的工作。因为在实际的工作中,可能会由于系统的在硬件或软件上出现相关问题,导致数据丢失,因而在对数据进行备份后可以有效的将数据进行恢复,保证了信息数据的完整性[3]。同时,在实际的工作中,相关人员还需做好医院的信息数据库管理系统的硬件设备维护工作。医院可根据实际情况,建立相应的系统管理制度,用以规范系统管理人员的行为,对设备系统进行有效维护。此外,对医院的信息数据库管理系统中的软件设备的安全维护。由于时代在不断发展,医院的管理系统在实际的运作过程中,相关业务与用户的环境也在不断的变化,从而致使原有的软件系统可能无法解决现阶段出现的问题。因此,医院的信息数据库的管理系统中的相关工作人员就必须做好对系统中软件的更新工作,从而保证系统的长期正常运作。

五、结束语

如今,医院的信息数据库的管理系统在医院实际的工作中发挥了重要的作用,有效的提高了医院的现代化管理水平与工作效率,为医院的长期发展提供了保障。因此,在实际的工作中,医院除了要对系统进行安全维护,还需要不断的加强相关工作人员的综合素质和相关技能的学习,从而使医院的信息数据库管理系统能够发挥出其真正的作用。

参考文献:

[1]陈凌平,马宗庆,郭振华.医院信息系统安全与管理建设浅谈[J].中国医疗器械信息.2010,16(3):21-25.

篇8

【关键词】数据库技术 管理系统 信息数据

1 绪论

随着科学技术的迅猛发展和管理水平的不断提高,计算机已经被广泛应用在日常管理之中,它的运用不断改进着管理模式,使管理日趋程序化、规范化、现代化,对于一个企业来说,企业数据信息的纸介质管理水平与机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。而为了使数据在企业中能更有效的被利用、被管理,一如计算机辅助管理已是一种必然,对于现代企业管理,企业信息数据库的建立和管理是最重要、最实用的基础工作,企业信息数据库的建立为在机构内集成、组织和共享数据提供了基础。信息的收集和管理都需要更有效的数据库支持,完善的管理制度和基础准备,确保了企业信息数据库的建立和管理,从而更好的提高效率,提升企业竞争力。虽然现在有很多的软件工程公司已经成功研制和开发出很多大型的管理软件,但是对于中小型企业来讲,能够有一套结合自己实际情况,符合自己实际需要的管理软件应该是比较现实的。

2 企业信息数据库管理系统

根据对部分中小企业的实际调研以及充分考虑到企业自身的经济问题,参考目前能够提供的软件支持,符合中小型企业的信息管理系统应该具备以下功能:1、数据录入:用户按照所需要的工程规格输入条件,系统根据条件按照最地层数据表计算出本次操作所需要的数据加载到事先设置好的空数据表中。2、报表功能:将查找或者汇总完成的信息打印成报表,用于文件存档或者便于企业管理者管理数据信息。3、数据查询功能:用户给定查询的数据条件,提供用户对所需内容进行查询,提供查询的数据条件,比如:“名称 = 香皂”、“国标 包含 GB”、“数量 >= 300” 等,还可以直接从菜单中直接调取标准件表、图号册、外购件等专用表格,同时查到的数据能添加到专用的表中,进行多工程的数据管理。 4、数据备份功能:对物理表进行添加、修改、备份和删除等工作,便于数据库的长期正常运行。同时可以防止意外的数据丢失。 5、汇总功能:对数据进行分类查找和归纳,可以把相同的项按要求汇总到一起,以便于直观,清楚的管理数据信息,以便更方便进行工程汇总工作。6、系统安全控制功能:在登陆进系统时有权限的要求,高级的权限可以管理低级的权限,权限的设置便于系统的管理,有利于企业信息的保密工作。

3 使用信息化数据管理的优点

企业信息化是指将企业的生产过程、物料移动、事务处理、现金流动、客户交互等业务过程数字化,通过各种信息系统网络加工生成新的信息资源,提供给各层次的人们洞悉、观察各类动态业务中的一切信息,以便作出有利于生产要素组合优化的决策,使企业资源合理配置,以使企业能适应瞬息万变的市场经济竞争环境,求得最大的经济效益。那么计算机参与企业信息化数据管理到底有什么优势呢?(1)发挥最大使用价值-----友好的用户界面,直观易懂,操作方便,功能强大,可以涵盖公司主要的技术情况。 (2) 减少重复劳动-----全方位的快速查询减少重复劳动,通过计算机辅助管理, 减少了大量重复工作,工作效率也大大提高。 (3) 减少工作差错与负担-----数据管理中的一项重要工作是各种数据的计算、 统计、汇总,手工操作存在计算繁琐、效率低、准确率低等缺点。本套系统所实现的巨大功能使得以上工作既简单、方便又轻松自如。 (4) 自动生成各项统计表――可以针对查询到的数据进行各种报表的生成和打 印。 (5) 统计分析提供决策――计算机快速、自动、强大的统计汇总功能和丰富的 报表打印功能,使各项数据的统计、汇总、分析报表一应俱全。公司的决策人可以根据最新的详细情况对管理作出快速、准确的决策,提高公司的管理水平和竞争力。 (6) 可以将需要的数据输入,进而计算出将要进行的工程的一些基本信息。 (7) 可以限定权限,更好的做好保密工作。

4 企业信息数据库管理系统风险与问题

随着经济活动中信息的价值提升,企业的运营状况等一系列数据的安全性成为企业信息化建设进程中一个不容忽视的问题,现在的企业越来越多的应用到内部的应用系统,其数据库的后台安全、防护、维护等措施必须高度重视,而通常情况下非IT行业的企业内部,通常不具备较多数量的数据库管理人才,因此企业的数据库安全防护和维护问题相对困难。信息系统面临的威胁及风险主要包括以下几方面: (1)关键数据被破坏或丢失。如生产经营数据、财务数据、客户信息等被破坏或丢失。(2)关键业务系统中断运行。如服务器硬件故障、病毒与黑客破坏、人为误操作等。(3)重要的工作电脑大面积故障。如类似“冲击波”病毒的大面积感染或防病毒软件误杀毒,将使整个办公网络陷入停顿和瘫痪。

5 小结

本文只是对企业信息数据库管理系统做了简单的介绍,而不涉及如何去建立一个完整的企业信息数据库管理系统,目的是让企业管理者们明白企业信息化的必要性,以及企业信息数据库管理的优势,但同时又不能盲目的追丛,要明白它的风险与问题,提前作好防范。

篇9

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)16-4356-02

Database Management System and Implementation Issues

ZHANG Li

(Wuhan Institute of Computer Science and Engineering,Wuhan 430063,China)

Abstract: Database (Database) referred to as the DB, it is a data structure according to the computer data storage and management software system, it can not be directly used, such as salary management, personnel management or information management, transaction management, transaction management, but can providing technology and methods, application system design platform and design tools to make the relevant transaction management software is very easy to design. This paper is a database management system and implementation issues for analysis.

Key words: Database;Database Management System;Achieve

数据库管理系统简称DBMS(Database Management System),它是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。用户访问数据库中的数据是通过DBMS进行的,数据库管理员对数据库进行维护也是通过DBMS。DBMS它的功能很多,都是为了用户可以以不同的方法建立、查询以及修改数据库。定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库这些操作方便了。

1 数据库管理系统组成部分

按功能划分数据库管理系统可分为以下几个部分:1)模式翻译:提供数据定义语言(ddl)。把它书写的数据库模式的翻译作为内部表示。数据库的逻辑结构、完整性约束和物理储存结构在内部数据字典都有保存。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理的依据是数据库模式。2)交互式查询:交互式查询语言在此被提供。3)应用程序的编译:把应用程序(包含着访问数据库语句的)编译成目标程序(在DBMS支持下可运行的)。4)事务运行管理:事务的运行管理及运行日志、监控事务运行的安全性和检查数据完整性、事务的并发控制及系统恢复等功能在此被提供。 5)数据的组织与存取:数据在储存设备上的物理组织与存取方法的数据在此提供。6)数据库的维护:提供数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具并且为数据库管理员提供软件支持。

在各行各业中基于关系模型的数据库管理系统已作为商品化软件被应用。数据库系统在各户服务器结构的分布式多用户环境中的应用得到进一步扩展。随着新型数据模型及数据管理的实现技术的推进, 不断地进行更新和完善DBMS软件是DBMS的发展方向,同时拓宽了应用领域。

2 数据库管理系统的层次结构

数据库管理系统的层次结构根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层、语言翻译处理层、数据存取层、数据存储层、操作系统。

1)应用层

应用层是DBMS与终端用户和应用程序的界面层,处理的对象是各种各样的数据库应用。

2)语言翻译处理层

语言翻译处理层是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查等。

3)数据存取层

数据存取层处理的对象是单个元组,它将上层的集合操作转换为单记录操作

4)数据存储层

数据存储层处理的对象是数据页和系统缓冲区。

5)操作系统

操作系统是DBMS的基础。操作系统提供的存取原语和基本的存取方法通常是作为和DBMS存储层的接口。

3 面向对象数据库系统

随着计算机技术的不断发展,新的应用领域不断出现,而这些应用领域需要处理和管理非常复杂的数据对象,而关系数据库系统又难以胜任,从而促使人们对第五代DMS――面向对象数据库系统的研究与开发。关系数据库系统遵循了由理论研究的成熟再到开发实现的过程,所以具有整齐、规范、一致的特点。OODB则是理论研究和商业化开发齐头并进甚至理论落后于实践的局面。粗略地看OODB的研究与开发可分为4种不同的方式,即扩展关系数据库系统(Extended Rela-tional Database System)、持久程序设计语言(Persistent Programming Languages)、纯面向对象数据库系统(Pure Object -Oriented Database Systems)和数据库工具箱(DatabaseSystem Toolkits)。

扩展关系数据库系统是通过对关系数据库的基本数据类型的扩充来实现的。它保留了关系数据库系统的关系特征和查询语言SQL的基本特征,进而增加了抽象数据类型ADTs(Abstract Data Types)和用户自定义函数UDF(User Defined Functions),使其具有了面向对象的基本特点。因此现在一般把它称为对象关系型数据库系统。为了定义一个新的抽象数据类型ADT,用户需要用外部程序设计语言(如C++或C等)去定义ADT的结构表示和相应的函数UDF。一旦定义完成,用户可将其注册到数据库系统,以便让系统了解它的大小及相应的函数,这些函数中包括ADT实例的输入和输出函数。所以有人把对象关系型数据库系统称为第三代数据库管理系统(第一代为层次及网状型,第二代为关系型)。纯面向对象数据库系统是直接根据面向对象的基本特点,用全新的技术和方法去设计和实现数据库系统。

持久对象程序设计语言是从一般的面向对象程序设计语言(如C++,Smalltalk,CLOS,CLU,Trellis/Owl等)出发,对其增加了对象的持久性和程序执行的原子性控制。从而使程序设计人员不必去关心数据对象的存储问题以及存储对象与内存中临时对象之间的一致性问题。增加了程序设计语言对事务性应用管理的能力。虽然学术上的研究仍在进行,但至今尚没有一个商业化的系统出现。

但是,当前所有的复杂数据管理策略只能解决一部分的问题。人们长期需要的是完全的对象扩充集和健壮的数据管理功能,除此之外,在开始真正为复杂数据类型设计DBMS前,未来的DBMS设计还必须具有以下7种关键技术。

1)互可操作性标准

当数据库服务器移入另外的应用程序语义时, 关键就是DBMS对象扩充的互可操作性。如果复杂数据的管理产品有现成的时候,用户无需再重写代码,只需将现有的程序从一个DBMS系统移植到另一个就可以了。通过用4GL、Visual Basic和Java在服务器方支持另外的语言来消除标准不能发展到包含互可操作对象扩充此问题。在异种数据源之间处理扩充的手段受到了互可操作性的需要的影响。

2)外部数据完整性

在DBMS外使用外部文件系统存储确定的数据类型不会随着数据管理技术水平的提高而被不需要。DBMS服务器不仅访问存于外部文件系统的数据,而且还主动管理这些外部数据的安全性和完整性这些都是人们所希望的。例如IBM,它开发了DB2与外部文件系统间的连接以允许RDBMS控制存于文件系统的数据。RDBMS需要改进复杂数据处理的重要地方就是能对外部文件系统内信息进行更好的管理。

3)多平台支持

复杂数据高端、多处理机平台是未来的DBMS必须扩展的方向,如从数据仓库式服务器到流动人员膝上机的复杂数据处理。

4)应用程序支持

为利用未来数据库服务器的发展,需要集成能处理复杂数据的前端工具,许多4GL的数据连接策略采用开放数据库连接(ODBC)API。然而, 丰富的数据类型和其它扩充不被ODBC不支持。为满足这些功能, API必须发展到SQL3一级。当今,应用程序能从DBMS中取回传统的数字和字符,可能还有二进制大对象(BLOb)。将来,BLOb可作为类型化对象返回其应用程序。

5)拿来即用的组件

复杂数据应用程序被认可的关键是预制组件。DBMS供应商已提供了如图像数据类型库、函数和检索方法的基本扩充, 在定制应用程序用的构成块时,开发商能使用。DBMS的特有扩充由DBMS供应商与许多软件公司合作编写。为了在更高层次的商用功能上分层,由于这些努力产生基本组件并入实用软件包的“变形”组件。最终,用DBMS的扩充组件构成的完备的应用程序能被人们买到。

6)客户机方的优化

对于客户机方来说,重要的是对对象更有效的支持。为了避免多余的网络通信和改进客户机方性能,执行函数的能力和客户机高速缓存管理以及数据库外的优化技术都将包含在内。此外,与面向对象编程语言更好的结合也是其目的之一。

7)服务器方的优化

把并行操作应用到用户定义的对象、代码和索引结构上以及让复杂数据与实用工具更好地结合及更好的数据复制是DBMS必须懂得的。

虽然最终研制计算机的主要目的是为了帮助人们完成复杂的数学计算,但自从它的诞生开始就逐渐在数据管理方面担当了越来越重要的角色。与此同时计算机技术也已逐渐渗透到了人类社会的各个领域,为人们的信息交流和共享提供了有力的保障。数据库技术正是迎合了人们对数据管理的需求而产生的。由于应用领域对数据对象的需求越来越复杂,传统的数据库系统已不能满足人们的需要,从而导致人们对新型数据库系统面向对象数据库系统的研制与开发。

参考文献:

[1] 杨冬青,唐世渭,徐其钧,等译.数据库系统实现[M].北京:机械工业出版社,2001.

篇10

关键词:

产品设计数据库;图文档管理;通用零件库

潞安机械公司根据本单位的产品结构和设计研发现状,开发出切合本单位实际的产品数据库管理系统,促进了机械公司向专业化、规模化、数字化方向发展。即在现用的CAXA软件基础上引进了CAXA图文档数据管理系统,用来管理所有与产品相关的信息和所有与产品设计相关的过程。

1CAXA图文档管理系统的功能特点

CAXA图文档管理系统主要具备以下功能:文档管理、产品结构管理、设计检索和零件库等功能。主要解决的是文档内容的快速浏览、快速索引和查询,文档的安全性、一致性和版本管理,文档组织结构定义和管理等方面的问题。利用这些功能特点对图纸设计进行管理。

2CAXA图文档管理系统在实际中的应用

2.1明确责权范围,分权限管理CAXA图文档提供完备的权限管理模式,能将权限的设置工作分解到不同层次的组织管理者,在安全和效率的平衡上有一个很好的解决方案。为了方便日常管理,机械公司针对不同级别的工作人员进行不同的授权。总工程师具有最高权限:可以对产品的大类、产品、产品总装以及零部件进行建立、删除,数据及图纸的导入导出;工程师的权限:可以对产品、产品总装进行建立、删除;而普通科员的权限仅为浏览、创建零件、编辑、出入库、复制、打印等一些基本的应用功能。

2.2实现技术文件的共享和统一管理CAXA图文档把所有的产品图纸和工艺文件统一存放在服务器中,并清楚地记录了是谁,在什么时候上传的图纸等详细资料,并提供对图纸快速浏览的工具。以前产品图纸都存放在个人电脑中,一旦技术人员调离,查找图纸就十分困难。将图纸导入图文档,通过查询功能,就可以快速找到所需要的图纸。有时也会出现这样一种情况:客户传真来图纸订做产品,由于纸质图纸保存不当,一旦和客户发生争议就无据可循。现在由于把所有传真文件和产品图纸都存放到图文档中,有效地解决了这个问题。

2.3有序的文件版本控制在企业的生产运营过程中,产品图纸有时需要作变更设计,经多次变更设计后,图纸的变更信息不能及时反映到其它部门,而CAXA图文档有着很优秀的图纸版本控制功能,见图1。图文档可以记录每次修改时间、修改人、修改原因,当前版本是哪个,还可以查看所有的历史图纸,详细记录了图纸的所有变更过程。每一次对图纸、文件的出库、入库以及修改都会在文档的工作版本情况中产生一个新的文档版本,同时旧版本的文档信息仍旧保留在产品数据管理的数据库中,而且可以根据设计对象所处的不同状态,形成不同版本的状态名。其一般形式为a.1、a.2、a.3......,以此来记录产品图纸的设计过程和演变过程。

2.4实现清晰的产品结构在采用图文档管理系统以前,机械公司的产品组成关系比较笼统,经常出现图纸上标识的零配件与实际使用的不相符合等情况,图纸等资料只能靠熟悉情况的工作人员来进行管理。可是,在实际的生产过程中,一旦熟悉资料情况的工作人员不在时,其他有需要使用的工作人员则要花费大量时间和精力去查询已有图纸,这就大大降低了员工的工作效率。CAXA图文档的产品结构树中可以清晰明了地表示产品的组成关系,使得这个问题得到完美解决,有力地促进了企业的信息化管理。

2.5建立通用零件库模块化设计是产品设计开发过程中的重点和关键,即充分利用标准化的原理和方法,提高产品零部件的标准化程度,最终形成产品图纸的系列化和模块化。这种方法可以用最少种类的零件,设计出尽可能多的成品,使企业在运营中产品的总成本降到最低。借着开发图文档的机会,潞安机械公司通过对液压支架销轴类、立柱千斤顶,胶带机托辊等技术进行全面的分析和研究后,形成了液压支架销轴类、立柱千斤顶、托辊标准件等一系列的标准化的零件库,避免了在产品设计过程中重复出图纸,提高了产品的设计效率。

篇11

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)31-7402-02

在计算机的众多应用中,数据库的应用无疑是今计算机发展最快的应用之一,人们在实际的应用中越来越感受到目前的主流数据库技术不能更好的、更准确的反映客观现实世界。

客观现实世界的事物是四维的,每个事物都有其空间维和时间维。目前的主流数据库只是存储、管理、查询大量的海量数据,对于带有时间特征的数据还没有直接的方法进行管理。带有时间特征的数据库管理系统还没有像关系数据库那样成熟的产品。

目前时态数据库技术尚未完全成熟,数据库管理系统的研发商也不会鉴定的把时态处理功能加入现有的数据库管理系统中。因此,现在较可行的一个实现办法,就是依靠成熟的关系数据库管理系统数据库,再结合时态数据库的中间件进行时态数据库管理系统的管理。

1 时态数据库

1.1 时态数据库

时态数据库(Temporal Database),简称TDB,是具有时间维的数据库管理系统,不仅能刻画某个时刻的数据,还能反映数据的历史和未来。

传统的关系数据库是{属性}×{元组}的二维结构。不能反映被管理对象的历史。如果以年为时间粒度,则构成一个在时间维上的三维数据库。在传统的数据库中一般采用取时间间隔保存快照的方法。

1.2 时态数据库模型的现状

近三十年以来,欧洲、美国等国的学者在时态数据库方面作了大量的探索和研究,共提出了十三种TDB的研究模型。这十三种时态数据库的模型基于不同角度、不同的需求,分别、独立地建立了各自独立的理论体系,形成了自己独特一套概念、术语和数学模型。

其中比较有代表性的时态数据模型有:历史关系数据库模型、TempSQL模型、双时态数据模型。

2 时态数据库管理系统的实现技术

基于现在的研究现状,为了实现对时态数据的管理,人们往往利用现有的关系数据库,对数据流和控制流进行时态扩充。

时态数据定义语言是传统数据定义语言的时态扩展。比如,要建立一个学生的关系结构,执行“Create Table student”,系统将按传统数据定义建立关系结构,同时增加事务时间和有效时间存储结构,经过时态数据定义的编译,存放在数据字典中。

时态操纵语言是在传统数据操作语言上加上了时态扩展。用户在作带时态增、删、改时,系统根据时态关键字(如Overlap,When,Valid,After,Before等)作时态分析。当没有时态关键字的数据,系统按照默认的时态语义(Now)进行处理。这样传统的数据加上时态表达式求出的时间区间,就实现了时态数据库系统的管理模式。

时态查询语言也是传统查询语言SQL的时态扩展,其查询过程和传统的SQL语言相似。首先,查询处理器对用户语句作词法分析、语法分析,然后送给时态事务处理模块,将查询分解成一系列单独执行的时态事务,送到事务调度队列等候执行。

2.1 时态索引技术

为了加快时态数据库存取速度,研究者从不同的角度为不同的时态数据模型提出了各种各样的时态索引技术,表1列出了部分时态索引技术。时态索引技术基本上是对传统的B+树和R树的时态扩展。

2.2 时态查询语言

现有的时态数据模型大多是基于关系的,故大多数时态查询语言也是基于关系查询语言,尤其是SQL的扩展。

应该如何结合时间到SQL那样的语言,一般认为现有SQL数据模型已很接近具有时态应用所要求的支持,必要的另外支持主要是代数操作和语言的句法。这种观点的一个具体实现是IXSQL,它的数据模型与SQL的一样,但扩展了一种“一般时区”数据型DATEINTERVAL。其语言的代数操作不变地保留了传统的关系代数操作,但增加了两个新的操作:FOLD和UNFOLD。FOLD应用于一个时态关系,将所有其他属性的值相等、DATE型或DATEINTERVAL型属性的值可以合并(即构成单个DATEINTERVAL)的元组“叠合”成一单个元组,该元组的其他属性值不变,而那个(些)DATE或DATEINTERVAL型属性的值为各元组的该属性值的合并。UNFOLD为FOLD的逆操作。按SQL句法,可定义关于时区的新的谓词,因而还增加两个子句:REFORMAT和NORMALISE,以支持FOLD和UNFOLD。

2.3 时态查询处理的查询优化

在传统数据库应用中,查询涉及的谓词一般是等值连接、自然连接等,称之为等相性谓词,如果查询中包含了不等性谓词,就很难与其它谓词进行组合。而在时态查询中,具有几个不等性谓词合取的连接会经常出现,所以故其查询优化的复杂度就更高。

正是由于其查询的复杂度提高,其查询优化的可能性也就更大。时间是按一个正方向发展的,事务时间域就连续地伸展,那么最近的时间点就是该域中的最大值,这在查询优化和评价期都是可以加以利用的。同时时态查询优化还可以利用面向时间的完整性限制,如,Begin(t)<End(t)对每一元组t都成立这样一种判断等。

单个查询可以通过代换代数表达式以等价的更高效的表达式、改变与特定操作相联的存取方法、对操作采用专门的实现等技术来优化。第一种要求以一组“重说明”形式的“等价”的定义,在许多语言的代数中都标明了这种重说明,有的时态代数支持按标准关系代数定义的这种重说明,故可使用现有的查询优化。

对每一代数操作确定哪一种存取方法最好,这要求元数据——关于存储的时态数据统计和代价模型——对每一操作符实现或存取方法组合的执行代价,而对时态数据则还要求额外的元数据,如关系的有效期、元组的有效期、和元组的到达分布、时变属性的分布、时态数据的规则性和粒度,等等。

对时态操作符的代价模型需要专门开发,这方面的工作有的已进行,如Tquel的查询做了这方面的工作。

关于全局查询优化,要求一个查询的集合要同时被优化,这要通过产生一个比各单个评价计划的集合更高效的单一查询评价计划来达到该目的,采用“状态迁移网”似乎是一种好的方法。

3 结束语

时态数据库管理系统的研制以及将时态数据库管理系统推出商品化是当今数据库领域的一个研究方向,要研制成为一个商品化的时态数据库管理系统还需围绕时态数据库中的时态来解决这一关键问题。一般,在实现时态数据库管理系统之前,先需具有实现传统关系数据库管理系统原形的经验,在此基础上要扩展数据定义语言、数据操作语言、数据查询语言等,使之能够保存事务时间和有效时间。与传统的数据库系统不同,时态数据库的数据和事务是带有时态信息的,因而它的实现机制、实现技术不能沿用传统的数据库系统。本文分析了时态数据库实现的特点和困难,介绍了几种常见的解决方法,并分析总结了它们的性能。

参考文献:

[1] Tansel A,Clifford J,Gadia S,et al. Temporal Databases—Theory,Design and Implementation[M].The Benjamin Cummings Publishing Company,1993.

[2] Ben Z J.The Time Relational Model[D].Ph.D. Thesis,Computer Science Dept., ucla,1982.

[3] 何新贵.特种数据库技术[M].北京:科学出版社,2000.

篇12

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2016)166-0092-02

数据库管理系统应用非常广泛,尤其在信息化建设中的应用尤为突出。数据库系统经过长期的发展,在商业领域中的应用非常广泛。就我国而言,数据库管理系统一直受到国家宏观政策的扶持,如我国在863计划当中,根据实际情况设置了“数据库管理系统及其应用”。随着社会经济不断发展,各领域对技术提出了更高要求。因此加强对该问题的研究具有非常重要的现实意义,能够帮助相关主体了解更多关键技术,并掌握其实现方法。

1 查询优化关键技术

1.1 查询优化的一般准则

查询的效率在一定程度上可以通过查询优化的方法得到改善,然而无论是从策略上考虑,还是从改善程度方面考虑,这都不是最好的办法。查询优化一般准则主要有5个部分:准则一,选择运算尽可能优先的进行。这一准则能够在一定程度上节约时间成本。准则二,针对实践执行及连接等进行预处理,一般来说,在实践中,预处理可以采取两种方式,分排序合并及索引两种连接。准则三,将选择运算及投影运算同时进行。这一原则的遵循能够减少对关系的重复扫描。准则四,提取出公共子表达式。如果从外部读入子表达式速度较快,可以将其作为公共表达式,以便提高表达有效性。准则五,建立在笛卡尔积同基础之上,重构连接运算。在具体应用过程中,借助上述准则,能够有效节省更多时间,毋庸置疑效率也就快了。

1.2 查询优化规则系统

针对研究对象来说,其自身具有较为广泛的应用范围。综合来看,该系统Client/Server的结构为基础运行。整个体系结构由内存、逻辑及物理等部分构成。该数据库管理系统除了应用广泛之外在规则系统方面也相当强大。规则系统的使用,不仅能够实现对不明确试图的观察,且能够对试图进行相应的处理。比如重写系统,该系统存在于优化器和分解器之间的,系统传回的用户查询信息主要就是通过该系统来完成分析的。重写规则后,系统能够对传回的用户在内部进行相应的操作,满足用户需求。

1.3 查询优化预处理

一般在真正进行优化处理之前还有一项操作是需要完成的,那就是查询优化处理,这一处理放在这里的主要目的是让查询规划的效果更高。具体的查询优化处理主要包括3个方面,对集合操作的预处理、对条件表达式的预处理和对目标列的预处理。在进行目标列的预处理之前第一步要做的是将目标列补充完全,同时还应该保证查询树的顺序同表定义中的顺序保持一致性。在进行条件的预处理之前应该将条件表达式转变成析取范式或者合取范式,也可以将条件表达式NOT下推或者是想办法将NOT去除。在进行集合的预处理还有很多分类,如Intersect、Union、Except等。

1.4 查询优化的逻辑优化

逻辑优化其本质是一个物理层次的优化过程,主要是通过索引来进行的,最后,在逻辑优化基础上,完成查询计算全过程。逻辑优化体现在两个方面,一是“AND”;二是“OR”优化过程。

“AND”的优化过程。在进行“AND”的优化之前首先要完成的是将含有“AND”的逻辑表达式找出来,第二步要做的是通过查询,以此来判断我们能够使用的子查询表达式是否真实存在。如果没有,可以应用扫描模式完成逻辑运算。如果有,可以将索引的子查询表达式应用,将查询表达式计算出来,并充分利用运算结果,计算出剩余查询表达式。最终实现对整个逻辑的优化目标。

相比较来看,“OR”较“AND”比较来看,二者存在较强的一致性。详细来说,两种优化过程必须要做的都是需要在子查询表达式中找出是否存在可以使用的索引。若没有,而有多个子查询表达式的情况下,则为了得到中间结果,自查询表达式运算顺序需要经过相应的调整,并对中间结果进行相应的调整,最终才能够获取相应的结果。若有,那么中间计算结果可以通过索引的运用来获取。

2 实现数据库管理系统查询优化的算法

在数据库管理系统查询优化的实现过程中最基础、最关键的就是算法。在实践应用过程中,使用的算法不同,那么对应的查询优化结果也会有所差别,具有较强的针对性。本文主要从两个方面进行介绍。

2.1 存取方法和存储路径分析

检索数据的选择和执行计划的构造,建立在查询优化设备基础之上。针对OSCAR系统来安,其一般有顺序扫描、索引扫描以及利用TID进行存取3种类型。

其中针对顺序扫描来看,系统在运行中,会先对信息表中涉及的所有元组进行相应的处理,然后对每个元组进行检查,查看是否满足WHERE条件。不仅如此,还需要对每个信息表进行系统化扫描处理,基于此,全面扫描耗时相对较长。因此,为了能够提高扫描有效性,我们可以采取多块读取方法,更快地获取相应的结果。而针对索引扫描而言,该类型扫描更多的是为了检索有效性,采取对多列、单列索引的构建。在语句访问到索引具有唯一性时,系统可以直接将非表中的索引列数值读取出来。根据扫描方式具有的差异性来看,在执行中,可以采取唯一、范围两类。

利用TID进行存取。在进行单个记录的查询时,这种扫描方式是最方便和快捷的,第一步要做的是对数据库中的每一个元组规定唯一的TID,再利用这个TID检索表。其中每一个元组的TID的主要信息分为数据文件和元祖存在于数据库中的具置两方面。

2.2 SYSTEM-R代价估算算法分析

SYSTEM-R是一种代价估算算法,CPU和I/O的开销是这种算法考虑的重点,Cost=P+W*T公式是这种算法的数学表达式。其中W表示权重,P代表I/O开销,而T 代表的是CPU的开销。这个式子可以解释为在一次的查询中CPU和I/O的开销的重视度问题。

P和W的数值在每一次的查询优化时的索引中都是不一样的,其原因主要是选择因子的存在。当然我们在算法SYSTEM-R代价估算中,可以将其分为三种情况:其一,当r.field=value时,而选择因子为I/(定义在r.field上的索引表中的T);其二,当r.field>value时,选择因字固化为(r.field的最大值-value)/(r.field的最大值r.field的最小值);其三,当r.field

3 数据库管理系统中查询优化的实现

3.1 性能设计

查询优化是一项综合性工作,很多语句之间的差异仅仅是常数变化,而查询语句却是一致的。因此出于提高数据库查询有效性的考虑,可以将常数指定到某一范围当中,针对具有同一查询语句的语句进行常数更换。而针对同一模式的语句,在实践中,仅需要采取一次语法分析,便能够节省很多实践。在查询优化过程中,第一步要做的是缓冲查询语句。其中不仅要获取查询对应的计划,且需要将新的查询计划保持好,以此来提高系统运行有效性。

3.2 体系结构设计

数据库体系的机构主要有3个环节,第一环节包括网络通信库、查询计划优化模块和DBA命令处理模块3个部分;第二环节是SPC查询缓冲模块;第三环节是查询执行模块。每个环节中的模块进行信息交换都是通过参数来完成的,例如在SPC查询缓冲模块发出查询计划后,查询执行模块将会进入到运行模式当中。

3.3 关键算法

为了能够进一步提升查询有效性,实现对查询结果的调整和优化。本文引入hash函数,保持语法数、查询语句。该函数更具灵活性,能够直接与对应的表保持一致。通过对实践结果观察能够发现,利用该字符串,不仅能够促使该函数效能达到最佳状态,且查询系统整体效率也得到了优化。因此,可以使用hash函数,以此来提高查询有效性,为用户提供更加优质的服务。

4 结论

在业务需求显示出越来越强劲的势头下,数据库管理系统在未来的发展过程中必须要有更快的运行速度和更为强大的功能。虽然我国自主研发的数据库管理系统与国外的差距依然很大,但是我们应该从核心技术出发,深入研究,尽可能缩小与国际一流水平之间的差距,甚至赶超国际一流水平,逐渐使数据库管理系统世界化、全球化。

友情链接