CN105335436A - 一种升级数据库结构的方法和设备 - Google Patents
一种升级数据库结构的方法和设备 Download PDFInfo
- Publication number
- CN105335436A CN105335436A CN201410392369.1A CN201410392369A CN105335436A CN 105335436 A CN105335436 A CN 105335436A CN 201410392369 A CN201410392369 A CN 201410392369A CN 105335436 A CN105335436 A CN 105335436A
- Authority
- CN
- China
- Prior art keywords
- data structure
- database
- benchmark database
- data storehouse
- destination data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明涉及计算机技术领域,特别涉及一种升级数据库结构的方法和设备,用以解决现有技术中存在的对于数据库应用系统在进行版本升级时可能产生的数据库数据结构的升级,操作过程复杂并且无法实现跨版本升级的问题。本发明实施例的方法包括:在对目的数据库进行升级操作时,确定基准数据库的数据结构;将确定的基准数据库的数据结构和目的数据库的数据结构进行比较;在基准数据库的数据结构和目的数据库的数据结构存在差异时,根据基准数据库的数据结构更新目的数据库的数据结构。本发明实施例提供了一种升级数据库结构的方法,简化了数据库结构升级的操作过程、实现了跨版本升级,大大提高了升级数据库结构的工作效率,方便了用户的使用。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种升级数据库结构的方法和设备。
背景技术
数据库应用系统(DBAS,DatabaseApplicationSystem)是在数据库管理系统(DBMS,DatabaseManagementSystem)支持下建立的计算机应用系统。数据库应用系统是由数据库系统、应用程序系统、用户组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件和应用界面。上述7个部分以一定的逻辑层次结构方式组成一个有机的整体,它们的结构层次关系是:应用系统、应用开发工具软件、数据库管理系统、操作系统、硬件。例如,以数据库为基础的财务管理系统、人事管理系统、图书管理系统等等。无论是面向内部业务和管理的管理信息系统,还是面向外部,提供信息服务的开放式信息系统,从实现技术角度而言,都是以数据库为核心的计算机应用系统。
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分数据库管理系统提供DDL(DataDefinitionLanguage,数据定义语言)和DML(DataManipulationLanguage,数据操作语言),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
数据库(Database)是按照数据结构来组织数据、存储数据和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
现有技术中数据库应用系统在进行版本升级时,或多或少都会涉及数据库数据结构的改变,在对用户生产环境的数据库应用系统升级的同时,也必须对数据库的数据结构进行升级,保证数据库应用系统的版本和数据结构版本的一致性。
目前,对于数据库数据结构的升级,主要通过如下方式实现:当新数据结构只存在较小的改变时,用户或数据库管理员通过使用数据库管理工具(如SQL(StructuredQueryLanguage,结构化查询语言)Server企业管理器)对旧数据结构进行修改;当新数据结构存在较大的改变时,首先需要开发人员在开发环境编写SQL语句保存成SQL文件,然后在用户生产环境使用数据库管理系统提供的SQL运行环境对旧数据结构进行升级。
同时,现有技术在进行数据库管理系统开发时,开发人员仅记录针对上一版本的数据库数据结构进行修改的地方,因此对数据库的数据结构升级存在版本依赖,新版本只能基于它的上一版本进行升级,这就需要用户从正在使用的版本逐个升级到最新版本。
由于目前对于数据库应用系统在进行版本升级时可能产生的数据库数据结构变化的升级,操作过程复杂并且无法实现跨版本升级,大大降低了升级数据库结构的工作效率,为用户使用带来了不便。
发明内容
本发明提供一种升级数据库结构的方法和设备,用以解决现有技术中存在的对于数据库应用系统在进行版本升级时可能产生的数据库数据结构的升级,操作过程复杂并且无法实现跨版本升级的问题。
本发明实施例提供的一种升级数据库的方法包括:
在对目的数据库进行升级操作时,确定基准数据库的数据结构;
将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
由于本发明实施例在升级数据库时,能够确定最新版本数据库即基准数据库的数据结构,与需要升级的任何版本的数据库的数据结构所有存在差异的地方,这样任何版本的数据库的数据结构不需要依赖上一版本的数据库数据结构,只需要通过基准数据库的数据结构进行更新,就可以升级到最新版本的数据结构,从而实现了跨版本升级。
同时本发明实施例提供了获取基准数据库数据结构、数据结构比较和数据结构更新的方法,从而简化了数据库的升级操作过程,大大提高了升级数据库结构的工作效率,方便了用户的使用。
较佳地,在对目的数据库进行升级操作时,确定基准数据库的数据结构,包括:
在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
由于本发明实施例将基准数据库的数据结构放入到安装包或升级包中,直接嵌入到数据库应用系统中,通过数据库应用系统的数据库升级程序对目的数据库进行升级,提高了升级目的数据库数据结构的效率,简化了升级操作。
较佳地,根据所述基准数据库的数据结构更新所述目的数据库的数据结构,包括:
根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名的表的一个或多个字段;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
本发明实施例保证了升级后的目的数据库的表对象同基准数据库的表对象的一致性,保证了升级后的数据库应用系统访问目的数据库的表对象不存在问题。
较佳地,根据所述基准数据库的数据结构更新所述目的数据库的数据结构,包括:
删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
本发明实施例保证了升级后的目的数据库的非表对象同基准数据库的非表对象的一致性,保证了升级后的数据库应用系统访问目的数据库的非表对象不存在问题。
较佳地,所述基准数据库的数据结构包括所述基准数据库中全部或部分的表对象以及全部的非表对象。
本发明实施例提供的一种升级数据库结构的设备,包括:
确定模块,用于在对目的数据库进行升级操作时,确定基准数据库的数据结构;
比较模块,用于将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
更新模块,用于在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
较佳地,确定模块具体用于:
在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
较佳地,更新模块具体用于:
根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名表的一个或多个字段;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
较佳地,更新模块具体用于:
删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
较佳地,基准数据库的数据结构包括所述基准数据库中全部或部分的表对象以及全部的非表对象。
附图说明
图1a为本发明实施例一升级数据库的工作原理示意图;
图1b为本发明实施例二升级数据库的方法流程示意图;
图2为本发明实施例三基准数据库和目的数据库的表对象比较、更新的方法流程示意图;
图3为本发明实施例四目的数据库的非表对象更新的方法流程示意图;
图4为本发明实施例五升级数据库的方法流程示意图;
图5为本发明实施例六升级数据库的设备结构示意图。
具体实施方式
本发明实施例在对目的数据库进行升级操作时,确定基准数据库的数据结构;将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。由于本发明实施例在升级数据库时,能够确定最新版本数据库即基准数据库的数据结构,与需要升级的任何版本的数据库的数据结构所有存在差异的地方,这样任何版本的数据库的数据结构不需要依赖上一版本的数据库数据结构,只需要通过基准数据库的数据结构进行更新,就可以升级到最新版本的数据结构,从而实现了跨版本升级。同时本发明实施例提供了获取基准数据库数据结构、数据结构比较和数据结构更新的方法,从而简化了数据库的升级操作过程,大大提高了升级数据库结构的工作效率,方便了用户的使用。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1a所示,本发明实施例一升级数据库的工作原理,从基准数据库中导出数据结构,封装成数据结构描述文件;将数据结构描述文件作为应用程序安装包或升级包的一部分;启动安装或升级后的数据库应用系统,导入数据结构描述文件中的数据结构到目的数据库端,完成目的数据库的数据结构初始化或数据结构升级。
如图1b所示,本发明实施例二升级数据库的方法包括:
步骤100,在对目的数据库进行升级操作时,确定基准数据库的数据结构;
步骤101,将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
步骤102,在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
本发明实施例中基准数据库可以是即将进行版本发布的数据库应用系统所依赖的数据库。
本发明实施例中目的数据库指的是:在用户生产环境,数据库应用系统所依赖的数据库。
本发明实施例中数据库应用系统是以数据库为核心的计算机应用系统,数据库管理系统是数据库应用系统正常运行所依赖的基础支撑系统软件。
本发明实施例数据库应用系统包括但不限于下列数据库应用系统:
财务管理系统、人事管理系统和图书管理系统。
本发明实施例数据库管理系统包括但不限于下列数据库管理系统:
Sybase数据库管理系统、DB2数据库管理系统、Oracle数据库管理系统、MySQL数据库管理系统、MSSQLServer数据库管理系统、Informix数据库管理系统、PostgreSQL数据库管理系统。
较佳地,步骤100中,在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
本发明实施例可以是在开发环境中将基准数据库的数据结构加入到程序安装包或升级包中;也可以是在开发环境中将基准数据库的数据结构不放置于程序安装包或升级包中,而是单独存放在一个文件中。
较佳地,所述基准数据库的数据结构包括所述基准数据库中全部或部分的表对象以及所有的非表对象。
本发明实施例数据结构包括数据库的表对象和非表对象。
例如:将数据结构从基准数据库导出时,数据结构中存在一张user表,该表用于存储数据库应用系统的所有用户信息,该表为基准数据库的表对象。
本发明实施例中目的数据库和基准数据库的非表对象包括但不限于下列非表对象:
视图、主键、外键、索引、触发器、序列、用户自定义函数、用户自定义存储过程。
在实施中,将基准数据库的数据结构导入目的数据库端前,需要将基准数据库的数据结构和目的数据库的数据结构进行比较,通过比较结果使用基准数据库的数据结构更新目的数据库的数据结构。
在进行数据库的数据结构更新时,可以分为对表对象进行更新,以及对非表对象进行更新,下面分别进行介绍。
情况一、对表对象进行更新:
方式一、步骤102中,根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;
具体的实施步骤为:将基准数据库的数据结构导入到目的数据库端前,首先比较基准数据库和目的数据库的表对象,若在比较过程中出现新增表的情况,即:在基准数据库中含有的,但在目的数据库中没有的表,将此表新增到目的数据库中。
例如:数据库应用系统升级后,启动数据库应用系统,将基准数据库的所有表对象放在第一数组中,将目的数据库的所有表对象放到第二数组中,对两个数组中的表对象进行逐一的比较,发现在第一数组中有一张名为balance表,在第二数组中没有查询到与此同名的表,将balance表添加到目的数据库中。
方式二、步骤102中,根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名表的一个或多个字段;
具体的实施步骤为:将基准数据库的数据结构导入到目的数据库端前,首先比较基准数据库和目的数据库的表对象,若在比较过程中出现同名表的情况,将两张同名表进行字段比较操作,若在比较过程中出现新增字段的情况,即:在基准数据库表中含有的,但在目的数据库表中没有的字段,将该字段添加到目的数据库表中。
例如:数据库应用系统升级后,启动数据库应用系统,将基准数据库的所有表对象放在第一数组中,将目的数据库的所有表对象放到第二数组中,对两个数组中的表对象进行逐一的比较,发现在第一数组中有一张名为quality表,在第二数组中查询到与此同名的表,将两张同名的quality表的字段进行逐一的比较,比较结果为:在基准数据库中的quality表中存在一个名为inertia字段,在目的数据库中的quality表中没有查询到与此同名的字段,将inertia字段添加到目的数据库quality表中。
方式三、步骤102中,根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
具体的实施步骤为:比较基准数据库和目的数据库的表对象,若在比较过程中出现同名表的情况,将两张同名表进行字段比较操作,若在比较过程中出现同名字段,将两个同名字段进行字段长度比较,若在比较过程中出现字段长度不相同的情况,将目的数据库表中同名字段长度更新为基准数据库表中同名字段的长度。
例如:数据库应用系统升级后,启动数据库应用系统将基准数据库的所有表对象放在第一数组中,将目的数据库的所有表对象放到第二数组中,对两个数组中的表对象进行逐一的比较,发现在第一数组中有一张名为quality表,在第二数组中查询到与此同名的表,将两张同名的quality表的字段进行逐一的比较,两张表中都存在名为density的字段,将两同名字段进行长度比较,比较结果为:基准数据库的quality表中density字段小数点位数为4位,而目的数据库的quality表中density字段小数点位数为2位,将目的数据库的quality表中density字段小数点位数修改为4位。
基准数据库和目的数据库的表对象比较、更新的具体步骤参见图2。
情况二、对非表对象进行更新。
较佳地,步骤102中,删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
例如:数据库应用系统升级后,启动数据库应用系统,删除目的数据库的所有的视图、索引、触发器等非表对象,然后在目的数据库中创建基准数据库中所有的非表对象。
对目的数据库的非表对象更新的具体步骤参见图3。
如图2所示,本发明实施例三基准数据库和目的数据库的表对象比较、更新的方法包括:
步骤200、将基准数据库的全部表对象放入第一表数组。
步骤201、将目的数据库的全部表对象放入第二表数组。
步骤202、将第一表数组中的第一个数组元素作为当前数组元素。
步骤203、判断第一表数组中当前数组元素中的表是否在第二表数组的数组元素中存在同名的表,如果是,则执行步骤207;否则,执行步骤204。
步骤204、在目的数据库中创建在基准数据库中有的,在目的数据库中没有的表。
步骤205、判断第一表数组是否存在下一个数组元素,如果是,则执行步骤206;否则,结束本流程。
步骤206、将第一表数组中下一个数组元素作为当前数组元素,执行步骤203。
步骤207、将第一表数组的当前数组元素中表的所有字段放入第一字段数组。
步骤208、将第二表数组的当前数组元素中表的所有字段放入第二字段数组。
步骤209、将第一字段数组中的第一个数组元素作为当前数组元素。
步骤210、判断第一字段数组中当前数组元素中的字段是否在第二字段数组的数组元素中存在同名的字段,如果是,则执行步骤211;否则,执行步骤213。
步骤211、判断第一字段数组中当前数组元素中的字段长度是否等于第二字段数组中当前数组元素中的字段长度,如果是,则执行步骤214;否则,执行步骤212。
步骤212、根据基准数据库中同名表的同名字段的长度修改目的数据库的同名表的同名字长度,执行步骤214。
步骤213、在目的数据库中创建在基准数据库中有的,在目的数据库中没有的同名表的字段。
步骤214、判断第一字段数组中的数组元素是否存在下一个数组元素,如果是,则执行步骤215;否则,执行步骤205。
步骤215、将第一字段数组中的下一个数组元素作为当前数组元素,执行步骤210。
如图3所示,本发明实施例四目的数据库的非表对象更新的方法包括:
步骤300、启动安装或升级后的数据库应用系统。
步骤301、删除目的数据库中所有的视图、索引、触发器等非表对象。
步骤302、在目的数据库中创建基准数据库中所有的视图、索引、触发器等非表对象。
如图4所示,本发明实施例五升级数据库的方法包括:
步骤400,将基准数据库的数据结构导出封装成数据结构描述文件。
步骤401,将数据结构描述文件加入程序安装包或升级包。
步骤402,启动安装或升级后的数据库应用系统。
步骤403,根据基准数据库的表对象更新目的数据库的表对象,新增表、新增字段和修改字段长度。
步骤404,删除目的数据库的全部非表对象。
步骤405,在目的数据库中创建基准数据库的所有非表对象。
基于同一发明构思,本发明实施例中还提供了一种升级数据库的设备,由于图5的升级数据库的设备对应的方法为本发明实施例一种升级数据库的方法,因此本发明实施例方法的实施可以参见系统的实施,重复之处不再赘述。
如图5所示,本发明实施例六的升级数据库的设备包括:
确定模块500,用于在对目的数据库进行升级操作时,确定基准数据库的数据结构;
比较模块501,用于将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
更新模块502,用于在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
较佳地,所述确定模块500具体用于:
在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
较佳地,所述更新模块502具体用于:
根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名表的一个或多个字段;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
较佳地,所述更新模块502具体用于:
删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
较佳地,基准数据库的数据结构包括所述基准数据库中全部或部分的表对象和全部的非表对象。
从上述内容可以看出:本发明实施例在对目的数据库进行升级操作时,确定基准数据库的数据结构;将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异后,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。由于本发明实施例在升级数据库时,能够确定最新版本数据库即基准数据库的数据结构,与需要升级的任何版本的数据库的数据结构所有存在差异的地方,这样任何版本的数据库的数据结构不需要依赖上一版本的数据库数据结构,只需要通过基准数据库的数据结构进行更新,就可以升级到最新版本的数据结构,从而实现了跨版本升级。同时本发明实施例提供了获取基准数据库数据结构、数据结构比较和数据结构更新的方法,从而简化了数据库的升级操作过程,大大提高了升级数据库数据结构的工作效率,方便了用户的使用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种升级数据库结构的方法,其特征在于,该方法包括:
在对目的数据库进行升级操作时,确定基准数据库的数据结构;
将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
2.如权利要求1所述的方法,其特征在于,在对目的数据库进行升级操作时,确定基准数据库的数据结构,包括:
在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
3.如权利要求1所述的方法,其特征在于,根据所述基准数据库的数据结构更新所述目的数据库的数据结构,包括:
根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名表含有的一个或多个字段;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
4.如权利要求1所述的方法,其特征在于,根据所述基准数据库的数据结构更新所述目的数据库的数据结构,包括:
删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
5.如权利要求1所述的方法,其特征在于,所述基准数据库的数据结构包括所述基准数据库中全部或部分的表对象以及全部的非表对象。
6.一种升级数据库结构的设备,其特征在于,该升级数据库的设备包括:
确定模块,用于在对目的数据库进行升级操作时,确定基准数据库的数据结构;
比较模块,用于将确定的所述基准数据库的数据结构和所述目的数据库的数据结构进行比较;
更新模块,用于在所述基准数据库的数据结构和所述目的数据库的数据结构存在差异时,根据所述基准数据库的数据结构更新所述目的数据库的数据结构。
7.如权利要求6所述的升级数据库结构的设备,其特征在于,所述确定模块具体用于:
在对目的数据库进行升级操作时,从程序安装包或升级包中确定基准数据库的数据结构。
8.如权利要求6所述的升级数据库结构的设备,其特征在于,所述更新模块具体用于:
根据所述基准数据库的数据结构,确定所述基准数据库中含有的,但所述目的数据库中没有的表,并将确定的表增加到所述目的数据库中;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第一特定表,并更新所述第一特定表,在第一特定表追加字段,其中所述第一特定表缺少所述基准数据库中同名表含有的一个或多个字段;以及
根据所述基准数据库的数据结构,确定所述目的数据库中第二特定表,并修改所述第二特定表的字段长度,其中所述第二特定表为与所述基准数据库中同名的表存在同名的字段,但字段长度不同的表。
9.如权利要求6所述的升级数据库结构的设备,其特征在于,所述更新模块具体用于:
删除所述目的数据库的所有非表对象,根据所述基准数据库的数据结构,在所述目的数据库中创建非表对象,以使更新后的所述目的数据库中的非表对象与所述基准数据库中的非表对象相同。
10.如权利要求6所述的升级数据库结构的设备,其特征在于,基准数据库的数据结构包括所述基准数据库中全部或部分的表对象以及全部的非表对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410392369.1A CN105335436A (zh) | 2014-08-11 | 2014-08-11 | 一种升级数据库结构的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410392369.1A CN105335436A (zh) | 2014-08-11 | 2014-08-11 | 一种升级数据库结构的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105335436A true CN105335436A (zh) | 2016-02-17 |
Family
ID=55285965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410392369.1A Pending CN105335436A (zh) | 2014-08-11 | 2014-08-11 | 一种升级数据库结构的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335436A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339500A (zh) * | 2016-09-09 | 2017-01-18 | 浪潮软件股份有限公司 | 一种异地数据库对比工具及方法 |
CN106802817A (zh) * | 2016-12-29 | 2017-06-06 | 杭州迪普科技股份有限公司 | SQLite数据库的升级方法及装置 |
CN110879811A (zh) * | 2019-11-18 | 2020-03-13 | 山东浪潮通软信息科技有限公司 | 一种在运行时进行数据与程序一致性自检的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174204A (zh) * | 2006-10-31 | 2008-05-07 | 中兴通讯股份有限公司 | 数据版本升级的装置 |
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103810257A (zh) * | 2014-01-24 | 2014-05-21 | 华为技术有限公司 | 一种升级软件数据库的方法、装置及设备 |
-
2014
- 2014-08-11 CN CN201410392369.1A patent/CN105335436A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174204A (zh) * | 2006-10-31 | 2008-05-07 | 中兴通讯股份有限公司 | 数据版本升级的装置 |
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN100570604C (zh) * | 2006-11-13 | 2009-12-16 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103810257A (zh) * | 2014-01-24 | 2014-05-21 | 华为技术有限公司 | 一种升级软件数据库的方法、装置及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339500A (zh) * | 2016-09-09 | 2017-01-18 | 浪潮软件股份有限公司 | 一种异地数据库对比工具及方法 |
CN106802817A (zh) * | 2016-12-29 | 2017-06-06 | 杭州迪普科技股份有限公司 | SQLite数据库的升级方法及装置 |
CN110879811A (zh) * | 2019-11-18 | 2020-03-13 | 山东浪潮通软信息科技有限公司 | 一种在运行时进行数据与程序一致性自检的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163739B2 (en) | Database table format conversion based on user data access patterns in a networked computing environment | |
US11288267B2 (en) | Pluggable storage system for distributed file systems | |
EP2605157B1 (en) | Change data capturing during an upgrade | |
US11093459B2 (en) | Parallel and efficient technique for building and maintaining a main memory, CSR-based graph index in an RDBMS | |
CN102770849B (zh) | 当应用基于用户的安全性时优化数据高速缓存 | |
US10216826B2 (en) | Database query system | |
US9280568B2 (en) | Zero downtime schema evolution | |
US10977224B2 (en) | Dynamic modeling of data in relational databases | |
US9740713B1 (en) | Dynamic modeling of data in relational databases | |
US10585909B2 (en) | Task-execution in a DBMS using stored procedures | |
US11354284B2 (en) | System and method for migration of a legacy datastore | |
US11347723B2 (en) | Automated suspension and rebuilding of database indices | |
US20150317331A1 (en) | Unified platform for application development | |
CN105653716A (zh) | 一种基于分类-属性-值的数据库构造方法和构造系统 | |
WO2019005761A1 (en) | SYSTEMS AND METHODS FOR CREATING AND DELETING TENANTS IN A DATABASE | |
CN105335436A (zh) | 一种升级数据库结构的方法和设备 | |
US10860579B2 (en) | Query planning and execution with reusable memory stack | |
Vakharia et al. | Shared foundations: Modernizing meta’s data lakehouse | |
US11301451B1 (en) | Database object type for querying and transactional consumption of changes in queries results | |
US11762855B1 (en) | Incremental maintenance of query results | |
TWI484358B (zh) | 資料庫之移轉系統、方法及其電腦可讀取之媒體 | |
US9910868B1 (en) | Systems and methods for database index optimization | |
CN116450609A (zh) | 基于统一语法在异构数据源上建模的方法及设备 | |
Bird et al. | Oracle Database 2 Day+ Data Warehousing Guide, 11g Release 1 (11.1) B28314-01 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160217 |