CN1889076A - 定制数据库模式的移植差异检测方法和系统 - Google Patents

定制数据库模式的移植差异检测方法和系统 Download PDF

Info

Publication number
CN1889076A
CN1889076A CNA2005100810194A CN200510081019A CN1889076A CN 1889076 A CN1889076 A CN 1889076A CN A2005100810194 A CNA2005100810194 A CN A2005100810194A CN 200510081019 A CN200510081019 A CN 200510081019A CN 1889076 A CN1889076 A CN 1889076A
Authority
CN
China
Prior art keywords
database
database schema
xml
xml file
difference
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
Application number
CNA2005100810194A
Other languages
English (en)
Inventor
李鹏
孙冰江
王克非
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CNA2005100810194A priority Critical patent/CN1889076A/zh
Priority to US11/475,287 priority patent/US7496596B2/en
Publication of CN1889076A publication Critical patent/CN1889076A/zh
Priority to US12/353,216 priority patent/US7991742B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据库模式移植差异检测方法和系统,用于使用XML技术检测数据库移植前后的定制的数据库模式的差异,所述方法包括以下步骤:从一个版本的基准数据库提取数据库模式,并且将其保存在第一XML文件中;从所述版本的定制的数据库提取数据库模式,并且将其保存在第二XML文件中;比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件中;以及比较差异XML文件与新的数据库,以便检测移植后定制的数据库模式的状态。检测状态包括移植后定制的数据库模式是否丢失或者被改变以及是否与新版本的数据库模式冲突。

Description

定制数据库模式的移植差异检测方法和系统
技术领域
本发明涉及数据库移植前后的模式差异检测方法和系统,特别涉及基于XML技术的定制的数据库移植前后的模式差异检测方法和系统。
背景技术
多数软件为客户提供移植(migration)机制,用于使客户能够使用软件在更高版本提供的新特征并且从更高版本软件的高性能获益。移植最重要的部分之一是数据库移植,其可分成两个部分:数据库模式(DB schema)移植和数据移植。这里讨论的是数据库模式移植,包括表、视图、列、索引、主键、外键、触发器等。在本发明人进行的IBM WebSphere商务移植(IBMWebSphere Commerce migration)的测试过程中,客户经常反映数据库移植对于定制的数据库模式(customized DB schema)出现失败的情况,存在至少一个如下问题:
问题1.在数据库移植后定制的数据库模式丢失。例如,假定客户定义了表T(T不是定制的表)上的列C,在移植到更高版本产品的过程中,表T被丢掉或者重新创建。同时,列C丢失。
问题2.定制的数据库模式与新版本的数据库模式冲突。例如,假定客户定义了前一版本的表T。新版本也具有称为T的表。在此情形,定制的表和新版本的表之间在定义上的差异在移植过程中将被忽略。
目前还没有有效的方法可以在移植前检测冲突并且验证定制数据库模式移植。
发明内容
本发明的目的在于提供一种数据库模式移植差异检测方法和系统,能够在移植前方便和正确地检测定制数据库模式是否与新版本的数据库存在数据库模式冲突并且验证定制数据库模式的移植是否会丢失或者被改变。
为了实现上述目的,本发明提供一种数据库模式移植差异检测方法,用于使用XML技术检测数据库移植前后的定制的数据库模式的差异,所述方法包括以下步骤:从一个版本的基准数据库提取数据库模式,并且将其保存在第一XML文件中;从所述版本的定制的数据库提取数据库模式,并且将其保存在第二XML文件中;比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件中;以及比较差异XML文件与新的数据库,以便检测移植后定制的数据库模式的状态。
本发明还提供一种数据库模式移植差异检测系统,用于使用XML技术检测数据库移植前后的定制的数据库模式的差异,所述系统包括:第一数据库模式提取模块,用于从一个版本的基准数据库提取数据库模式,并且将其保存在第一XML文件中,并且从所述版本的定制的数据库提取数据库模式,并且将其保存在第二XML文件中;第一XML比较模块,用于比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件中;以及比较检测模块,用于比较差异XML文件与新的数据库,以便检测移植后定制的数据库模式的状态。
本发明具有如下优点:
1)不需要客户提供使用XML表示的定制的数据库模式,这可由本发明自动完成。
2)通过采用XML技术,可以容易和灵活地获得定制的数据库模式,并且比较定制的数据库模式与移植的数据库的数据库模式。
3)可以自动和准确地检测和定位数据库模式冲突。
对于内部客户,如移植测试人员,本发明将会帮助他们验证是否可通过移植工具正确地将原数据库模式移植到新版本的数据库模式。对于外部客户,本发明将会使真正的客户在移植前从数据库模式冲突警告获益。
附图说明
图1显示根据本发明的实施例的系统示意图,说明了本发明的结构和总工作流。
图2说明图1中的数据库模式提取模块21的实现。
图3说明图1中的XML比较模块22的实现。
图4说明图1中的数据库模式差异检测模块23的实现。
图5说明表模型、行模型和列模型之间的树关系。
图6说明从行模型和系统表之间的比较得到错误列表。
图7说明根据本发明的实施例的系统的框图。
具体实施方式
本发明的思想源于对XML数据和数据库之间的比较结果的分析,从而提出一种基于XML比较以及XML和数据库之间的比较的方案。
基于这一点,本发明提出的方案大致是这样的:首先,从同一版本的基准数据库(fresh database)和定制的数据库提取数据库模式,然后将其保存在第一和第二XML文件中;其次,通过比较在上一步生成的两个XML文件,可获得差异模式(delta schema),它包含定制的数据库模式的信息并且也是XML文件;最后,通过比较差异模式的XML文件与包含新版本的数据库模式的第三XML文件,可在移植前发现数据库模式冲突;而通过比较差异模式的XML文件与移植的数据库,可获知数据库移植后定制的数据库模式是否丢失。也就是说,本发明提出的方案可以检测数据库移植后定制的数据库模式的状态:移植后定制的数据库模式是否与新版本的数据库模式冲突(换言之,在移植前能够获知定制的数据库模式是否与新版本的数据库模式冲突),以及数据库移植后定制的数据库模式是否丢失或者被改变。新版本的数据库或者移植后的定制数据库都可视为一个新的数据库,本发明是通过比较差异模式的XML文件与新的数据库来实现上述检测的。
以下,参照附图来详细说明本发明的实施方式。
参照图1,本发明的系统包括数据库模式提取模块(如ExtractSchema命令)21、XML比较模块(如XMLComparison命令)22以及数据库模式差异检测模块(如CheckSchema命令)23。
数据库模式提取模块(如ExtractSchema命令)21从前一版本的基准数据库(fresh database)1提取数据库模式,并且将其保存在XML文件(第一XML文件,如purePreSchema.xml)11中。运行ExtractSchema命令21,可从前一版本的客户数据库2提取数据库模式,并且将其保存在XML文件(第二XML文件,如cusPreSchema.xml)12中。
XML比较模块(如XMLComparison命令)22比较上述两个XML文件11和12(如purePreSchema.xml和cusPreSchema.xml)并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件(如cusDeltaPreSchema.xml)14中,该差异XML文件14表示定制的数据库模式并且包含存在于cusPreSchema.xml文件12中但不存在于purePreSchema.xml文件11中的数据库模式信息;由此,可获得XML格式的定制的数据库模式。
数据库模式差异检测模块(如CheckSchema命令)23比较差异XML文件14与移植的数据库3。CheckSchema命令23从差异XML文件14读取数据库模式信息,然后识别(检测)移植后是定制的数据库模式丢失还是对定制的数据库模式进行了任何改变(例如,数据库模式中的字段发生了变化)。
图7说明了根据本发明的实施例的系统的框图。图7中与图1中相同的标号表示相同的组件,以下省略其详细描述。图7中的比较检测模块20包含第二数据库模式提取模块21B、第二XML比较模块22B以及数据库模式差异检测模块23。
第一数据库模式提取模块21A从前一版本的基准数据库1和客户数据库2分别提取数据库模式,产生第一XML文件和第二XML文件;然后由第一XML比较模块22A比较第一XML文件和第二XML文件,得到差异XML文件。
比较检测模块20可用于比较差异XML文件和新版本的基准数据库5,具体地,由比较检测模块20中的第二数据库模式提取模块21B从新版本的基准数据库5提取数据库模式,产生包含新版本的数据库模式信息的第三XML文件;然后由比较检测模块20中的第二XML比较模块22B比较差异XML文件和第三XML文件,这可检测出定制数据库的移植是否存在任何数据库模式冲突。
比较检测模块20还可用于比较差异XML文件和定制的数据库3,具体地,由比较检测模块20中的数据库模式差异检测模块23进行比较,这可检测移植后定制数据库是发生数据库模式丢失还是数据库模式改变。
图7中的输出模块25用于将比较检测模块20的检测结果(定制数据库的移植是否存在任何数据库模式冲突或者移植后定制数据库是发生数据库模式丢失还是数据库模式改变)呈现给用户,其提示示例将在下面说明。
虽然图7中分开显示第一数据库模式提取模块21A和第二数据库模式提取模块21B以及第一XML比较模块22A和第二XML比较模块22B,但是它们也可以各自实现为同一模块。
根据本发明的系统可构建在数据库中,如集成于通用的DBMS中,或者作为可扩展的模块,用于在移植前检测数据库移植的状态。
下面,参照图1说明本发明的数据库模式移植差异检测方法。
本发明的方法首先从前一版本的基准数据库1提取数据库模式,并且将其保存在第一XML文件11中;然后从所述前一版本的定制的数据库2提取数据库模式,并且将其保存在第二XML文件12中;比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件14中。如上所述,这可获得XML格式的定制的数据库模式。接着可进行下面的步骤1和3或者步骤2,以便解决在背景技术中提到的两个问题。其中,通过运行步骤2可解决问题1,这对内部客户验证数据库模式移植是有用的。通过运行步骤1和步骤3可解决问题2,外部客户将会由此获益。
步骤1:运行数据库模式提取模块21(ExtractSchema命令),从新版本的基准数据库3(未显示)提取新版本的基准数据库模式,并且将其保存在XML文件(如pureNewSchema.xml)13中。
步骤2:运行数据库模式差异检测模块23(CheckSchema命令)来比较差异XML文件14与移植的数据库,这可检测移植后是任何数据库模式丢失还是数据库模式改变。
步骤3:运行XML比较模块22(XMLComparison命令)来比较cusDeltaPreSchema.xml与pureNewSchema.xml这两个XML文件(14和13),这可在移植前检测定制数据库的移植是否存在任何数据库模式冲突。
在完成步骤1和3或者步骤2后,可用将检测结果呈现给用户。
以下详细说明图1中各模块的实现。
参照图2,说明图1中的数据库模式提取模块21的实现。数据库模式提取模块21对数据库9进行数据库模式数据检索,提取数据库模式数据,保存在数据库模式XML文件10中,从而形成XML格式的数据库模式。这里,数据库9可代表图1中的基准数据库1和定制的数据库2,数据库模式XML文件10代表图1中的XML文件11、12和13。
可通过使用JDBC/XML的基于Java的技术提取和存储从不同数据库管理系统(DBMS)检索的数据库模式信息。
首先,对于某一DBMS的一组SQL语句从DBMS的系统类别(SystemCategory)检索必要的数据库模式信息。例如,使用查询从数据库检索一个特定数据库模式所有者的所有表的信息。根据不同DBMS使用相应的一组SQL语句。对于DB2,可使用:
SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA=′$SCHEMAOWNER′.
对于Oracle数据库,可使用:
SELECT TNAME,TABTYPE FROM SYS.TAB
对于DB2 390,可使用:
SELECT NAME FROM SYSIBM.SYSTABLES WHERECREATOR=′$SCHEMAOWNER′
最好将支持这3种数据库类型的对应SQL语句独立存储在各自的属性文件中,并且使之易于扩展以支持其它类型的数据库。
然后,将数据库模式信息以XML格式存储。作为例子,可构造如下的XML节点来存储表的信息。该XML应该便于比较并且包含描述数据库模式对象足够的详细信息。
<schema>
   <tables>
    <table TABNAME=″EG VIEWREG″/>
   </tables>
</schema>
接着,一个Java程序根据不同的输入参数使用JDBC驱动连接到特定数据库。将在前面的属性文件中定义的SQL语句读入串中,并且在特定数据库上本地或远程运行该SQL语句。从DBMS获得结果集合,过滤每个记录并使用前一步骤定义的适当格式将其存储到XML文件中。对于其它数据库模式对象,包括列、索引、主键、外键、存储过程,可进行如上相同的处理。到此,需要的数据库模式被提取,并且以XML格式存储。
实现数据库模式提取模块21的关键在于对不同DBMS构造SQL语句,同时满足数据库模式比较精度的要求。以XML格式表示的数据库模式也是软件架构的重要部分。
数据库模式提取是数据库模式验证的基础。如上所述,数据库模式提取模块21可完成3种任务:从前一版本的基准数据库1提取数据库模式;从前一版本的定制的数据库2提取定制的(由用户改变的)数据库模式;以及从新版本的基准数据库提取更新的新数据库模式。
图3说明图1中的XML比较模块22的实现。XML比较模块22分别从任意两个数据库模式XML文件101和102中解析数据库模式数据,然后进行比较,滤除两个XML文件中的相同内容,将差异(Delta XML)保存在XML文件140中,XML文件140中包含了两个XML文件101和102中的数据库模式差异。容易理解,这里的数据库模式XML文件101和102可代表图1中的XML文件11和12,还可代表图1中的XML文件13和差异XML文件14;而这里的XML文件140可代表图1中的差异XML文件14。
图4说明图1中的数据库模式差异检测模块23的实现。数据库模式差异检测模块23可进行XML文件和数据库之间的比较。如图4所示,数据库模式差异检测模块23从数据库模式XML文件10中解析数据库模式数据,并且对数据库9进行数据库模式数据检索,得到需要的数据库模式数据,然后与来自数据库模式XML文件10的数据库模式数据进行比较,最后将比较结果进行格式化输出,获得输出结果40。同样容易理解,这里的数据库模式XML文件10可对应图1中的差异XML文件14,而数据库9可对应图1中的移植的数据库3,输出结果40可对应图1中的数据库模式丢失报告41。
容易理解,结果输出可以独立于数据库模式差异检测模块23而单独实现,因而,数据库模式丢失报告41或者数据库模式冲突报告42可以作为此单独实现的输出模块的结果,如图7中的输出模块25。
可通过两种方式实现数据库模式的比较:比较方式一,使用特定规则比较两个XML文件,并且将差异转存入新的XML文件;比较方式二,将数据库模式的XML文件中的元素实例化为逻辑Java对象,如表模型、列模型、行模型等,然后调用适当的Java对象方法从目标数据库检测出数据库模式差异。比较方式一和比较方式二分别对应于XML比较模块22和数据库模式差异检测模块23。
比较方式一进行XML文件比较:
1.设置比较规则,仅仅转存存在于定制数据库模式XML文件中但不存在于基准数据库模式XML文件中的节点。相同的节点必须具有相同的节点名、相同的属性和值。
2.将两个XML文件初始化为DOM树。
3.按顺序得到第一个DOM树中的每个节点,并且检查其是否存在于第二个DOM树中。
4.使用在数据库模式提取时设置的统一格式在新的XML文件中存储不同节点。
比较方式二进行XML文件和目标数据库之间的比较:
1.首先将数据库模式XML文件初始化为DOM树,然后将DOM树中的每个叶子节点初始化为Java对象,例如:
<table TABNAME=″EG VIEWREG″/>
2.使用系统类别表名{SYSCAT.TABLES}和特定数据库模式所有者名(db2admin)初始化表模型的java类。将每个叶子节点的属性(TABNAME=″EG_VIEWREG″)初始化为列模型,然后创建包括至少一个列模型的行模型对象。如图5所示,说明了表模型、行模型和列模型之间的树关系。
3.参照图6,调用行模型的方法Differ()得到行模型和系统表之间的行差异。
4.对所有行模型运行类似的过程,将所有差异存储在图6所示的错误列表中。
5.格式化错误列表中的内容,并且显示数据库模式差异的消息,还可将其写入错误日志。
在执行上述获得XML格式的定制的数据库模式的步骤后,可得到诸如下列的XML文件:
       <?xml version=″1.0″encoding=″UTF-8″?>

       <schema>

       <tables>

       <table TABNAME=″EG_VIEVVREG″/>

       ...

       </tables>

       <columns>

       <column TABNAME=″JUNK″COLNAME=″COL1″TYPENAME=″CHARACTER″LENGTH=″5″

  NULLS=″Y″SCALE=″0″/>

       ...

       <indices>

       <index COLNAMES=″+CATENTRY_ID_CHILD+CATRELTYPE_ID″

  TABNAME=″CATENTREL″UNIQUERULE=″D″COLCOUNT=″2″INDEXTYPE=″REG″/>

      <index COLNAMES=″+ADDRESS_ID″TABNAME=″ST_ADDRESS″UNIQUERULE=″P″

  COLCOUNT=″1″INDEXTYPE=″REG″/>

      ...

      </indices>

      <primarykeys>

      <primarykey TABNAME=″ST_CATENTRY_RESOURCE″TYPE=″P″/>

      <primarykey TABNAME=″ST_ORDER_STATUS″TYPE=″P″/>

      ...

      </primarykeys>

      <foreignkeys>
        <!-- SIPO <DP n="8"> -->
        <dp n="d8"/>
      <foreignkey CONSTNAME=″R_1499″TABNAME=″ST_CATENTRY_RESOURCE″
  TYPE=″F″/>

      <foreignkey CONSTNAME=″R_1498″TABNAME=″ST_CATENTRY_RESOURCE″

  TYPE=″F″/>

      <foreignkey CONSTNAME=″R_1490″TABNAME=″ST_ORDER_STATUS″TYPE=″F″/>

      ...

      </foreignkeys>

      <storedprocedures>

      <storedprocedure PROCNAME=″PROCEDURE1″PARM COUNT=″1″

  PROGRAM_TYPE=″S″/>

      ...

      </storedprocedures>

      </schema>
对于问题1的解决,可得到类似下列的数据库模式丢失提示:
[SCHEMA]***************
fk does not exist in this database:userdb
CONSTNAME=′R_1498′AND TABNAME=′ST_CATENTRY_RESOURCE′AND TYPE=′F′
[SCHEMA]***************
fk does not exist in this database:userdb
CONSTNAME=′R_1471′AND TABNAME=′ST_ORDER_STATUS′AND TYPE=′F′
对于问题2的解决,可得到类似下列的数据库模式冲突提示:
SCHEMA]***************
fk conflict
CONSTNAME=′R_1498′AND TABNAME=′ST_CATENTRY_RESOURCE′AND TYPE=′F′
[SCHEMA]**************
fk conflict
CONSTNAME=′R_1471′AND TABNAME=′ST_ORDER_STATUS′AND TYPE=′F′
本发明并不限于上述实施方式,如附图和上述描述中提到的各种命令仅仅是示例性的,在不脱离本发明的精神和范围的情况下,可以进行各种变形和修改。

Claims (8)

1.一种数据库模式移植差异检测方法,用于使用XML技术检测数据库移植前后的定制的数据库模式的差异,所述方法包括以下步骤:
从一个版本的基准数据库提取数据库模式,并且将其保存在第一XML文件中;
从所述版本的定制的数据库提取数据库模式,并且将其保存在第二XML文件中;
比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件中;以及
比较差异XML文件与新的数据库,以便检测移植后定制的数据库模式的状态。
2.根据权利要求1所述的方法,其中所述新的数据库是移植后的定制的数据库,并且比较差异XML文件与新的数据库包括以下步骤:
从差异XML文件读取数据库模式信息,然后比较该数据库模式信息与从移植后的定制的数据库检索的数据库模式信息,从而检测移植后定制的数据库模式是否丢失或者被改变。
3.根据权利要求1所述的方法,其中所述新的数据库是新版本的基准数据库,并且比较差异XML文件与新的数据库包括以下步骤:
从新版本的基准数据库提取数据库模式,并且将其保存在第三XML文件中;以及
比较差异XML文件与第三XML文件,从而检测移植后定制的数据库模式是否与新版本的数据库模式冲突。
4.根据权利要求1-3的任何一个所述的方法,还包括将检测结果呈现给用户。
5.一种数据库模式移植差异检测系统,用于使用XML技术检测数据库移植前后的定制的数据库模式的差异,所述系统包括:
第一数据库模式提取模块,用于从一个版本的基准数据库提取数据库模式,并且将其保存在第一XML文件中,并且从所述版本的定制的数据库提取数据库模式,并且将其保存在第二XML文件中;
第一XML比较模块,用于比较上述两个XML文件并且滤除两个XML文件中的相同内容,然后将差异保存在差异XML文件中;以及
比较检测模块,用于比较差异XML文件与新的数据库,以便检测移植后定制的数据库模式的状态。
6.根据权利要求5所述的系统,其中所述新的数据库是移植后的定制的数据库,并且所述比较检测模块包括:
数据库模式差异检测模块,用于从差异XML文件读取数据库模式信息,然后比较该数据库模式信息与从移植后的定制的数据库检索的数据库模式信息,从而检测移植后定制的数据库模式是否丢失或者被改变。
7.根据权利要求5所述的系统,其中所述新的数据库是新版本的基准数据库,并且所述比较检测模块包括:
第二数据库模式提取模块,用于从新版本的基准数据库提取数据库模式,并且将其保存在第三XML文件中;以及
第二XML比较模块,用于比较差异XML文件与第三XML文件,从而检测移植后定制的数据库模式是否与新版本的数据库模式冲突。
8.根据权利要求5-7的任何一个所述的系统,还包括输出模块,用于将检测结果呈现给用户。
CNA2005100810194A 2005-06-27 2005-06-27 定制数据库模式的移植差异检测方法和系统 Pending CN1889076A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNA2005100810194A CN1889076A (zh) 2005-06-27 2005-06-27 定制数据库模式的移植差异检测方法和系统
US11/475,287 US7496596B2 (en) 2005-06-27 2006-06-26 Detecting migration differences of a customized database schema
US12/353,216 US7991742B2 (en) 2005-06-27 2009-01-13 System for detecting migration differences of a customized database schema

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2005100810194A CN1889076A (zh) 2005-06-27 2005-06-27 定制数据库模式的移植差异检测方法和系统

Publications (1)

Publication Number Publication Date
CN1889076A true CN1889076A (zh) 2007-01-03

Family

ID=37568842

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100810194A Pending CN1889076A (zh) 2005-06-27 2005-06-27 定制数据库模式的移植差异检测方法和系统

Country Status (2)

Country Link
US (2) US7496596B2 (zh)
CN (1) CN1889076A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882159A (zh) * 2010-06-18 2010-11-10 中兴通讯股份有限公司 数据库的检测方法及装置
CN102236579A (zh) * 2010-04-26 2011-11-09 捷达世软件(深圳)有限公司 对象传输打包系统及方法
CN104965735A (zh) * 2015-06-18 2015-10-07 北京京东尚科信息技术有限公司 用于生成升级sql脚本的装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889076A (zh) * 2005-06-27 2007-01-03 国际商业机器公司 定制数据库模式的移植差异检测方法和系统
US20070187451A1 (en) * 2006-02-14 2007-08-16 Chun-Yuan Chang Pliers type stapler
US7730056B2 (en) * 2006-12-28 2010-06-01 Sap Ag Software and method for utilizing a common database layout
US8606799B2 (en) 2006-12-28 2013-12-10 Sap Ag Software and method for utilizing a generic database query
US8417731B2 (en) 2006-12-28 2013-04-09 Sap Ag Article utilizing a generic update module with recursive calls identify, reformat the update parameters into the identified database table structure
US7925636B2 (en) * 2007-06-08 2011-04-12 Hewlett-Packard Development Company, L.P. Repository system and method
US8768978B2 (en) * 2007-07-30 2014-07-01 Hewlett-Packard Development Company, L.P. Single-operation on-line schema evolution
US8671390B2 (en) * 2007-11-01 2014-03-11 Microsoft Corporation Resolving conflicts when importing an application customization
US8719693B2 (en) * 2008-02-22 2014-05-06 International Business Machines Corporation Method for storing localized XML document values
US9594582B2 (en) 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
US8442937B2 (en) * 2009-03-31 2013-05-14 Microsoft Corporation Access to line-of-business databases in declarative workflow
US8458204B2 (en) * 2009-09-22 2013-06-04 Siemens Product Lifecycle Management Software Inc. System and method for customized file comparison
US8667015B2 (en) * 2009-11-25 2014-03-04 Hewlett-Packard Development Company, L.P. Data extraction method, computer program product and system
US8429124B2 (en) * 2010-12-21 2013-04-23 Neustar Information Services, Inc. On demand multi-location large database synchronization system
WO2013012690A1 (en) * 2011-07-15 2013-01-24 Integware, Inc. Software automated data and data model upgrade system
US8612405B1 (en) 2011-09-30 2013-12-17 Emc Corporation System and method of dynamic data object upgrades
US9164751B2 (en) * 2011-09-30 2015-10-20 Emc Corporation System and method of rolling upgrades of data traits
CN103198011B (zh) * 2012-01-09 2016-08-03 阿里巴巴集团控股有限公司 一种探测java程序文件扰动的方法及装置
US9201911B2 (en) 2012-03-29 2015-12-01 International Business Machines Corporation Managing test data in large scale performance environment
JP2014086048A (ja) * 2012-10-26 2014-05-12 Toshiba Corp 検証装置、検査方法およびプログラム
GB2513329A (en) * 2013-04-23 2014-10-29 Ibm Method and system for scoring data in a database
US9026502B2 (en) 2013-06-25 2015-05-05 Sap Se Feedback optimized checks for database migration
WO2015016807A1 (en) * 2013-07-29 2015-02-05 Hewlett-Packard Development Company, L.P. Database analysis and validation
US10585862B2 (en) 2014-02-28 2020-03-10 Red Hat, Inc. Efficient data migration with reversible database schema modification
KR101547466B1 (ko) * 2014-03-28 2015-08-26 고려대학교 산학협력단 오라클 데이터베이스에서 데이터를 복원하는 방법 및 장치
US10185727B1 (en) * 2015-12-30 2019-01-22 Amazon Technologies, Inc. Migrating data between databases
WO2017146731A1 (en) * 2016-02-26 2017-08-31 Entit Software Llc Differences in hierarchical levels of information technology workflows
US10685011B2 (en) * 2017-02-02 2020-06-16 International Business Machines Corporation Judgement of data consistency in a database
JP6892192B2 (ja) * 2017-08-23 2021-06-23 アズビル株式会社 データベースの管理装置、および、データベースの管理方法
US10740286B1 (en) * 2017-08-28 2020-08-11 Amazon Technologies, Inc. Migration task validation before data migration
US11204940B2 (en) * 2018-11-16 2021-12-21 International Business Machines Corporation Data replication conflict processing after structural changes to a database
US11232084B2 (en) * 2020-06-26 2022-01-25 Microsoft Technology Licensing, Llc Schema agnostic migration of delineated data between relational databases

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772180B1 (en) * 1999-01-22 2004-08-03 International Business Machines Corporation Data representation schema translation through shared examples
US6792605B1 (en) * 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US7310653B2 (en) * 2001-04-02 2007-12-18 Siebel Systems, Inc. Method, system, and product for maintaining software objects during database upgrade
US7379978B2 (en) * 2002-07-19 2008-05-27 Fiserv Incorporated Electronic item management and archival system and method of operating the same
GB0217201D0 (en) * 2002-07-24 2002-09-04 Beach Solutions Ltd XML database differencing engine
US20040153968A1 (en) * 2002-10-24 2004-08-05 Jennie Ching Method and system for user customizable asset metadata generation in a web-based asset management system
US20040194016A1 (en) * 2003-03-28 2004-09-30 International Business Machines Corporation Dynamic data migration for structured markup language schema changes
US20040268230A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for differential document delivery based on delta description specifications
US20050204347A1 (en) * 2004-03-12 2005-09-15 International Business Machines Corporation Method for generating XSLT documents from multiple versions of a UML model or XML schemas created from multiple versions of a UML model
US7281018B1 (en) * 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
CN1889076A (zh) * 2005-06-27 2007-01-03 国际商业机器公司 定制数据库模式的移植差异检测方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236579A (zh) * 2010-04-26 2011-11-09 捷达世软件(深圳)有限公司 对象传输打包系统及方法
CN101882159A (zh) * 2010-06-18 2010-11-10 中兴通讯股份有限公司 数据库的检测方法及装置
WO2011157213A1 (zh) * 2010-06-18 2011-12-22 中兴通讯股份有限公司 数据库的检测方法及装置
CN104965735A (zh) * 2015-06-18 2015-10-07 北京京东尚科信息技术有限公司 用于生成升级sql脚本的装置
CN104965735B (zh) * 2015-06-18 2018-10-19 北京京东尚科信息技术有限公司 用于生成升级sql脚本的装置

Also Published As

Publication number Publication date
US20090119319A1 (en) 2009-05-07
US7991742B2 (en) 2011-08-02
US7496596B2 (en) 2009-02-24
US20060294120A1 (en) 2006-12-28

Similar Documents

Publication Publication Date Title
CN1889076A (zh) 定制数据库模式的移植差异检测方法和系统
US8606803B2 (en) Translating a relational query to a multidimensional query
CN100565510C (zh) 数据访问层类生成器
CN1299223C (zh) 提供关系数据的一致性层次抽象化
US6829606B2 (en) Similarity search engine for use with relational databases
CN100535894C (zh) 数据库对象脚本生成方法和系统
US7143078B2 (en) System and method for managed database query pre-optimization
JP4222947B2 (ja) マルチメディア・コンテンツ管理オブジェクトを表現するための方法、プログラム、及びシステム
CN1768325A (zh) 公开内容的抽象数据库抽象中的规则应用管理
KR20060045622A (ko) 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈
US20090144319A1 (en) External system integration into automated attribute discovery
US20080222129A1 (en) Inheritance of attribute values in relational database queries
US20060235899A1 (en) Method of migrating legacy database systems
US7539672B2 (en) Apparatus, system, and method for direct retrieval of hierarchical data from SAP using dynamic queries
CN1705945A (zh) 全局查询相关属性
CN1794232A (zh) Crm数据库的安全视图
CN1975731A (zh) 用于管理对数据库中数据的访问的系统和方法
CN101105795A (zh) 基于网络行为的个性化推荐方法和系统
WO2006102227A2 (en) Systems and methods for manipulation of inexact semi-structured data
US20090043733A1 (en) Systems and methods for efficiently storing, retrieving and querying data structures in a relational database system
CN101044472A (zh) 数据系统中的语义识别方法和系统
US20230315619A1 (en) Lineage-driven source code generation for building, testing, deploying, and maintaining data marts and data pipelines
US8639717B2 (en) Providing access to data with user defined table functions
JP5927886B2 (ja) クエリシステム及びコンピュータプログラム
EP3042354B1 (en) Metadata automated system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication