数据库系统管理方法技术方案

技术编号:2830964 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据库系统管理方法,包括:于数据库系统中设置翻译管理系统的步骤;应用程序将待执行的应用指令语句发送至翻译管理系统的步骤;翻译管理系统将通用指令翻译成与目标数据库相适应的数据库语言的步骤;翻译管理系统将翻译后的相应数据库语言发送给数据库管理系统的步骤;数据库管理系统执行指令,并将结果返回给用户应用程序的步骤。采用本发明专利技术数据库系统管理方法,不管应用程序使用的是哪种类型的数据库产品,应用程序发送给翻译管理系统的语句都是相同的,由翻译管理系统获取当前使用的数据库类型并翻译成与各数据库相对应的查询或更新语句,从而达到了不需要修改代码即可实现同一个应用程序在不同数据库上运行的目的。

【技术实现步骤摘要】

本专利技术涉及数据库系统管理领域,尤其涉及一种实现多类型数据库之间 操作的管理方法。
技术介绍
当前市场上有多种不同的数据库产品,包括SQL SERVE, ORACLE, DB2等, 一般数据库实现查询的步骤包括1)用户对应用程序发出指令;2)应用程 序将接收到的指令发送到数据库管理系统(DBMS); 3)数据库管理系统(DBMS) 调用相应的查询语句对数据库(DB)进行操作;4)数据库管理系统将查询到 的结果返回至应用程序完成查询功能。虽然各种数据库系统都实现了 SQL-92标准,但它们同时都或多或少地扩 展了该标准,拥有一些独特的SQL (Structured Query Language)语法结构。 也就是说适用于某种数据库的查询或更新语句不一定适用于另 一种数据库, 这给普通的应用程序带来一些困难应用程序想从一种数据库环境中转到另 一种数据库环境,必须同时改变程序中包含的查询或更新语句,使其与各类 型的数据库相对应。
技术实现思路
本专利技术的目的在于提供一种,其可以实现同 一应用 程序在不同类型数据库之间进行操作。本专利技术所述的的,包括在该数据库系统中设置有翻 译管理系统,还包括应用程序将待执行的通用指令语句发送至翻译管理系统的步骤;翻译管理系统将通用指令翻译成与目标数据库相适应的数据库语言的步骤;翻译管理系统将翻译后的相应数据库语言发送给数据库管理系统的步骤;数据库管理系统执行指令,并将结果返回给用户应用程序的步骤。优选地,本专利技术还包括在所述通用指令语句中设置 注释语句,所述翻译管理系统针对该注释语句进行翻译,并将其翻译为与目 标数据库相适应的执行指令语句。所述翻译管理系统将通用指令翻译成目标数据库相适应的数据库语言包括接收通用指令语句步骤;查询并获取目标数据库类型的步骤;判断是否包含注释语句的步骤;分析注释语句内容的步骤;判断是否包含目标数据库特有元素的步骤;翻译特有元素,使其与目标数据库相适应;采用本专利技术,不管应用程序使用的是哪种类型的数 据库产品,应用程序发送给翻译管理系统的语句都是相同的,由翻译管理系统获取当前使用的数据库类型并翻译成与各数据库相适应的数据库语言,从 而达到了不需要修改代码即可实现同 一个应用程序在不同数据库上运行的目 的。附图说明图l采用本专利技术实施例翻译管理系统构成示意图2是本专利技术实施例的流程图3是本专利技术实施例的翻译流程图4是本专利技术实施例执行查询功能的流程图5是本专利技术实施例执行更新功能的流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。具体实施例方式本实施例数据库系统包括数据库管理系统,翻译管理系统。 其中,数据库管理系统包括模式翻译模块、应用程序编译模块、交互式 查询模块、数据的组织与存取模块、事务运行管理模块以及数据库维护模块。 模式翻译模块用于提供数据定义语言(DDL),数据库的各种数据操作(如 查找、修改、插入和删除等)和数据库的维护管理都是通过其用它书写的凄t据 库模式为依据进行。应用程序编译模块把包含着访问数据库语句的应用程序,编译成在数 据库管理系统支持下可运行的目标程序。交互式查询模块用于提供易使用的交互式查询语言,如SQL语言。数据库管理系统负责执行查询命令,并将查询结果显示在屏幕上。数据的组织与存取模块用于提供数据在外围储存设备上的物理组织与 存取方法。事务运行管理模块用于提供事务运行管理及运行日志,事务运行的安 全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。数据库维护模块用于为数据库管理员提供软件支持,包括数据安全控 制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。如图1所示,翻译管理系统包括通用SQL语句的语句判断模块,其用于判断通用SQL语句是否合法;语句解析模块,其用于解析通用SQL语句中的构成元素; 语句翻译模块,其用于将通用SQL语句翻译成目标数据库上适用的特定SQL语句。如图2所示,本实施例的包括S101:应用程序将待执行的通用指令发送至翻译管理系统的步骤;S102:翻译管理系统将通用指令翻译成与目标数据库相适应的数据库语5 ,S103翻译管理系统将翻译后的相应数据库语言发送给数据库管理系统; S104:数据库管理系统执行指令,并将结果返回给用户应用程序。本实施例数据库管理方法在通用指令语句中设置注释语句,上述翻译管 理系统针对该注释语句进行翻译,并将其翻译为与目标数据库相适应的数据 库语言。如图3所示,上述翻译管理系统管理方法通过以下具体步骤实现翻译处理在S201步骤中,用户通过应用程序向数据库发出应用指令,应用程序将 上述应用指令发送至数据库管理系统;在S202步骤中,数据库管理系统针对该通用应用指令进行查询并获取目 标数据库类型;在S203步骤中,数据库管理系统针对上述应用指令语句进行判断,确认 该应用指令语句中是否包含注释语句;在S204和S205步骤中,数据库管理系统针对注释语句的内容进行分析, 并判断该注释语句是否包含与目标数据库相对应的特有元素;在S206步骤中,翻译管理系统翻译与目标数据库相对应的特有元素,使 其与目标数据库相适应;在S207步骤中,翻译管理系统翻译通用指令语句的其他部分。图4和图5是采用本专利技术实现数据库系统查询和更新功能的流程图。如图4所示,数据库系统通过以下具体步骤实现查询操作在S301步骤中,外部系统发送通用查询SQL语句至翻译管理系统;在S302步骤中,翻译管理系统的语句判断模块判断通用查询SQL语句的合法性;在S303步骤中,翻译管理系统的语句解析模块解析通用查询SQL语句, 获取目标数据库类型;在S304步骤中,翻i奪管理系统的翻译模快;f艮据目标数据库类型将通用查 询SQL语句翻译成目标数据库上合适的查询SQL语句;在S305步骤中,将翻译模快翻译的结果语句发送到数据库中执行查询操如图5所示,数据库系统通过以下具体步骤实现更新操作 在S401步骤中,外部系统发送通用更新SQL语句至翻译管理系统; 在S402步骤中,翻译管理系统的语句判断模块判断通用更新SQL语句的 合法性;在S403步骤中,翻译管理系统的语句解析模块解析通用更新SQL语句, 获取目标数据库类型;在S404步骤中,翻译管理系统的翻译模快根据目标数据库类型将通用更 新SQL语句翻译成目标数据库上合适的更新SQL语句;在S405步骤中,将翻译模快翻译的结果语句发送到数据库中执行更新操作。一般的做法中,应用程序每支持一种特有的数据库元素就必须在通用SQL 语法中增加相应的语法结构进行支持,做不到灵活的扩展。本实施例使用注释的方式对特有的数据库元素进行支持,实现扩展特有 数据库元素的同时不修改通用SQL的语法结构。以下是通用SQL-92的一个语法结构SELECT [ ALL | DISTINCT ] [ WITH TIES ]]I { table_name I view—name I table—alias }.*{ column—name I ^IDENTITY I $R0WGUID } I udt—column—name [ { . I :: } { { property—name Ifield_name }I method—name ( ar本文档来自技高网...

【技术保护点】
一种数据库系统管理方法,该数据库系统中设置有翻译管理系统,还包括:应用程序将待执行的通用指令语句发送至翻译管理系统的步骤;翻译管理系统将通用指令翻译成与目标数据库相适应的数据库语言的步骤;翻译管理系统将翻译后的相应数据库语言发送给数据库管理系统的步骤;数据库管理系统执行指令,并将结果返回给用户应用程序的步骤。

【技术特征摘要】
1.一种数据库系统管理方法,该数据库系统中设置有翻译管理系统,还包括应用程序将待执行的通用指令语句发送至翻译管理系统的步骤;翻译管理系统将通用指令翻译成与目标数据库相适应的数据库语言的步骤;翻译管理系统将翻译后的相应数据库语言发送给数据库管理系统的步骤;数据库管理系统执行指令,并将结果返回给用户应用程序的步骤。2. 如权利要求1所述的数据库系统管理方法,其特征在于,在所述通用 指令语句中设置注释语句的步骤,所述翻译管理系统针对该注释语句进行翻 译,并将其翻译为与目标数据库相适应的执行指令语句。3. 如权利要求1或2所述的数据库系统管理方法,其特征在于,所述翻 译管理系统将通用指令翻译成目标数据库相适应的数据库语言的步骤包括接收通用指令语句的步骤; 查询并获取目标数据库类型的步骤; 判断是否包含注^i吾句的步骤; 分析注释语句内容的步骤;判断是否包含目标数据库特有元素的步骤; 翻译特有元素,使其与目标数据库相适应的步骤。4...

【专利技术属性】
技术研发人员:潘国林
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1