CN106484739A - 数据库的结构比较方法和装置 - Google Patents
数据库的结构比较方法和装置 Download PDFInfo
- Publication number
- CN106484739A CN106484739A CN201510555585.8A CN201510555585A CN106484739A CN 106484739 A CN106484739 A CN 106484739A CN 201510555585 A CN201510555585 A CN 201510555585A CN 106484739 A CN106484739 A CN 106484739A
- Authority
- CN
- China
- Prior art keywords
- data base
- data
- information
- base
- dictionary information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (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
本发明公开了一种数据库的结构比较方法,包括步骤:获取第一数据库和第二数据库的数据库信息;根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。本发明还公开了一种数据库的结构比较装置。本发明提供了一种操作简单的数据库的结构差异的对比方法,能够比较出两个数据库的结构之间的具体差异信息。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种数据库的结构比较方法和装置。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库。任何应用程序数据的存储都离不开数据库,对于大型的应用程序可能会创建多个数据库分门别类存储不同的信息,随着发展,应用程序已发布的版本会不断的升级(比如从V1.0版本升级到V1.1版本),而版本之间的升级往往会涉及到数据库的结构的变化,这种变化通过编写数据库升级脚本来体现。开发和测试人员所期望的是从V1.0升级上来的V1.1版本和全新安装的V1.1版本的功能和数据库的结构应该完全保持一致。这就需要对比升级上来的V1.1版本和全新安装的V1.1版本的数据库的结构是否存在差异,以便分析V1.0版本升级到V1.1版本哪些功能存在故障的风险。
目前存在的数据库的结构比较方法主要有:①直接对比数据库的脚本文件SQL(Structured Query Language,结构化查询语言);②通过比较字节码库的方法比较数据库版本升级前后结构的向前和向后相容性,以帮助应用程序分析在先前的数据库版本下运行的数据库是否可以在升级后的数据库版本下运行,该方法侧重点是比较数据库版本升级带来的结构上的变化影响,比如JAR(Java Archive,Java归档文件)文件的变化对原有用户数据库正确运行是否有影响;③使用dump工具获取两份数据库的结构,针对SQL文件,采用AWK技术解析两个数据库的结构之间的差异和变化,以SQL脚本的形式呈现差异。目前这些数据库的结构对比方法存在的不足之处主要有:操作复杂且比较结果不具体,无法比较出数据库的结构之间的具体差异信息。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据库的结构比较方法及装置,旨在解决现有的数据库的结构对比方法操作复杂,无法直观呈现数据库的结构的具体差异信息的技术问题。
为实现上述目的,本发明提供的一种数据库的结构比较方法,包括步骤:
获取第一数据库和第二数据库的数据库信息;
根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
优选地,所述将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息步骤包括:
判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构和所述第二数据库的结构的第一差异信息;
将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
优选地,所述获取第一数据库和第二数据库的数据库信息的步骤包括:
获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
获取所述第一数据库和所述第二数据库的用户名和密码;
将所述IP地址以及所述用户名和密码作为数据库信息。
优选地,所述根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息的步骤包括:
根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
优选地,所述将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息的步骤之后,还包括:
输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
此外,为实现上述目的,本发明还提供一种数据库的结构比较装置,所述数据库的结构比较装置包括:
获取模块,用于获取第一数据库和第二数据库的数据库信息;
读取模块,用于根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
对比模块,用于将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
优选地,所述对比模块包括:
判断单元,用于判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
第一处理单元,用于将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息;
对比单元,用于将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
第二处理单元,用于将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
第三处理单元,用于将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
优选地,所述获取模块包括:
第一获取单元,用于获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
第二获取单元,用于获取所述第一数据库和所述第二数据库的用户名和密码;
第四处理单元,用于将所述IP地址以及所述用户名和密码作为数据库信息。
优选地,所述读取模块包括:
第一建立单元,用于根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
第二建立单元,用于根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
读取单元,用于根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
优选地,所述数据库的结构比较装置还包括输出模块,用于输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
本发明通过根据获取第一数据库和第二数据库的数据库信息,读取所述第一数据库和所述第二数据库对应的数据字典信息,将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。提供了一种操作简单的数据库的结构差异的对比方法,能够比较出两个数据库的结构之间的具体差异信息。
附图说明
图1为本发明数据库的结构比较方法第一实施例的流程示意图;
图2为本发明实施例中将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息的一种流程示意图;
图3为本发明数据库的结构比较方法第二实施例的流程示意图;
图4为本发明数据库的结构比较装置第一实施例的功能模块示意图;
图5为本发明实施例中对比模块的一种功能模块示意图;
图6为本发明实施例中获取模块的一种功能模块示意图;
图7为本发明实施例中读取模块的一种功能模块示意图;
图8为本发明数据库的结构比较装置第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据库的结构比较方法。
参照图1,图1为本发明数据库的结构比较方法第一实施例的流程示意图。
在本实施例中,所述数据库的结构比较方法包括:
步骤S10,获取第一数据库和第二数据库的数据库信息;
移动终端获取第一数据库和第二数据的数据库信息。所述移动终端为用于对比两个数据库之间结构的差异的设备,包括但不限于计算机、平板电脑。在本实施例中,所述移动终端为计算机。所述第一数据库和所述第二数据库包括但不限于SqlServer、oracle、sysbase或MySQL。所述数据库信息包括但不限于所述第一数据库和所述第二数据库所在的计算机的IP(InternetProtocol,网络之间互连的协议)地址,所述第一数据库和所述第二数据库的数据库名称、数据库类型以及访问数据库所需的用户名和密码。所述第一数据库和所述第二数据库不是所述计算机系统的数据库以及数据库版本的本身,而是需要对比的用户数据库。如所述第一数据库为计算机A中的某个应用程序从1.0版本上升到1.1版本之后的数据库,称为源数据库,所述第二数据库为计算机B中的所述应用程序新安装的1.1版本的数据库,称为目的数据库。
步骤S20,根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
所述计算机根据所述第一数据库的数据库信息读取所述第一数据库的数据字典信息;并根据所述第二数据库的数据库信息读取所述第二数据库的数据字典信息。所述数据字典信息存放有数据库所有的相关信息,如包括数据库中所有模式对象的信息:表、视图、索引、存储过程、触发器等。所述计算机存储其读取的所述第一数据库和所述第二数据库的数据字典信息。如所述计算机将所述第一数据库的数据字典信息存储到srcDbInfo.XML,将所述第二数据库数据字典信息存储到decDbInfo.XML,其中文件名称可以随意命名,具体的,所述计算机按照如下层次结构存储所述第一数据库和所述第二数据库的数据字典信息:
<DATABASES>
<DATABASE nameORsid="uep"type="Oracle"host="192.168.1.23"username="test1"password="pass1"port="1521"discript="">
<TABLES/>
<TABLE name=""pkname=""pkcolumn=""colOrder="">
<COLUMN name=""type=""length=""nullable=""defaultvalue=""/>
<INDEX name=""column=""/>
</TABLE>
</TABLES>
<VIEWS>
<VIEW name="">
<COLUMN name=""type=""/>
</VIEW>
</VIEWS>
<PROCEDUES>
<TRIGGERS/>
<USERDTYPES/>
<FUNCTIONS/>
<USERS/>
</DATABASE>
这是一种按照数据库、表、视图、存储过程、触发器、用户定义类型等元素存储的树状结构,其中每个子元素又可以包含属性和子元素定义。需要说明的是,本发明并不限制存储方式,本发明所提供的只是一种示例。
所述第一数据库和所述第二数据库中根据存储信息的类型的不同,含有对应的子数据库。如在所述第一数据库中,存储A类信息的数据库为A1数据库,存储B类信息的数据库为B1数据库;在所述第二数据库中,存储A类信息的数据库为A2数据库,存储B类信息的数据库为B2数据库。当所述数据库信息是A类信息时,所述计算机根据所述第一数据库的A类信息读取A1数据库的数据字典信息,并根据所述第二数据库的A类信息读取A2数据库的数据字典信息。
步骤S30,将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
所述计算机将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。如所述计算机将所述第一数据库中的A1数据库中数据字典信息与所述第二数据库中的A2数据库的数据字典信息进行对比,即将所述A1数据库的数据字典信息中的表、视图、索引、存储过程、触发器等对象与所述A2数据库的数据字典信息中的表、视图、索引、存储过程、触发器等对象逐一进行对比,得到所述第一数据库中A1数据库的结构和所述第二数据库中A2数据库的结构的差异信息。
本实施例通过根据获取第一数据库和第二数据库的数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息,将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。提供了一种操作简单的数据库的结构差异的对比方法,能够比较出两个数据库的结构之间的具体差异信息。
参照图2,图2为本发明实施例中将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息的一种流程示意图。
在本实施例中,步骤S30包括:
步骤S31,判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
当所述计算机读取到所述第一数据库的数据字典信息和所述第二数据库的数据字典信息时,判断所述第一数据库与所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中。如所述计算机要对比的是所述第一数据库中B1数据库和所述第二数据库中B2数据库中的数据字典信息,所述数据字典信息具体为表、视图、存储过程、触发器、函数、用户类型等,则所述计算机判断所述表、视图、存储过程、触发器、函数、用户类型等是否同时存在所述B1数据库和所述B2数据库中。
步骤S32,将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息;
当所述计算机判定要对比的数据字典信息未同时存在所述第一数据库和所述第二数据库中,则将未同时存在所述第一数据库和所述第二数据库中的数据字典信息作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息,并将所述第一差异信息存储起来。如所述计算机侦测到所述B1数据库的数据字典信息中不存在视图,而所述B2数据库的数据字典信息中存在视图,则将所述数据字典信息中的视图作为所述第一数据库中B1数据库的结构与所述第二数据库中B2数据库的结构的第一差异信息。
步骤S33,将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
当所述计算机判定要对比的数据字典信息同时存在于所述第一数据库和所述第二数据库中时,将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比。如所述计算机侦测到所述第一数据库的B1数据库中的数据字典信息中含有表,同时侦测到所述第二数据库的B2数据库中的数据字典信息中也含有表,则将所述B1数据库中的表和所述B2数据库中的表对应的信息进行对比,如将所述B1数据库中表的字段顺序、字段类型、约束关系等与所述B2数据库中表的字段顺序、字段类型、约束关系等进行对比。
步骤S34,将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
步骤S35,将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
当所述计算机判定所述第一数据库和所述第二数据库中的数据字典信息对应的信息中含有不同的信息时,将所述第一数据库的数据字典信息对应的信息与所述第二数据库的数据字典信息中对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息,并将所述第二差异信息存储起来。如当所述计算机判定所述B1数据库中的表的字段顺序与所述B2数据库中的表的字段顺序不同,则将所述B类信息中数据字典信息的表的字段顺序作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息。所述计算机将所得的第一差异信息和第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
本实施例中通过将所述第一数据库的数据字典信息和所述第二数据库的数据字典信息相比较,详细地呈现出任意两个数据库的结构的具体差异信息。
参照图3,图3为本发明数据库的结构比较方法第二实施例的流程示意图,基于第一实施例提出本发明数据库的结构比较方法第二实施例。
在本实施例中,步骤S10包括:
步骤S11,获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
所述计算机获取所述第一数据库和所述第二数据库的IP地址,所述第一数据库的IP地址是指所述第一数据库所在服务器的IP地址,即安装有所述第一数据库版本的计算机的IP地址,所述第二数据库的IP地址是指所述第二数据库所在服务器的IP地址,即安装有所述第二数据库版本的计算机的IP地址。所述第一数据库的IP地址和所述第二数据库的IP地址可以相同也可以不同。如当安装所述第一数据库版本的计算机与安装所述第二数据库版本的计算机是不同的计算机时,所述第一数据库和所述第二数据库的IP地址是不同的;当安装所述第一数据库版本的计算机和安装所述第二数据库版本的计算机是同一台计算机时,所述第一数据库和所述第二数据库的IP地址是相同的。
步骤S12,获取所述第一数据库和所述第二数据库的用户名和密码;
步骤S13,将所述IP地址以及所述用户名和密码作为数据库信息。
所述计算机获取所述第一数据库和所述第二数据库的用户名和密码,所述第一数据库和所述第二数据库的用户名和密码是用来访问所述第一数据库和所述第二数据库的,从所述第一数据库和所述第二数据库中提取要对比的数据字典信息。同时,所述计算机还获取所述第一数据库和所述第二数据库的数据库名、数据库类型等。所述计算机将所述IP地址,用户名和密码,数据库名、数据库类型等对应作为所述第一数据库和所述第二数据库的数据库信息。所述计算机将所述第一数据库和所述第二数据库的数据库信息按照一定的规则配置到可访问的文件中,如配置到XML(Extensible MarkupLanguage,可扩展标识语音)文件中,或者配置到properties文件等,在本实施例中,所述计算机将所述数据库信息配置到所述XML文件中。所述按照一定的规则配置表示的是根据文件类型解析规则进行配置。如所述计算机根据XML文件类型解析规则配置所述数据库信息,则得到如下所示的XML格式的文件:
<?XML version="1.0"encoding="GB2312"?>
<DATABASES>
<DATABASE source="src">
<DB type="Sql server"nameORsid="TEST1"username="user1"password="pass1"/>
<DB type="Sql server"nameORsid="TEST2"username="user2"password="pass2"/>
<DB type="Oracle"nameORsid="sid"username="user3"password="pass3"/>
<DB type="Oracle"nameORsid="sid"username="user4"password="pass4"/>
</DATABASE>
<DATABASE source="des">
<DB type="Sql server"nameORsid="TEST1"username="user1"password="pass1"/>
<DB type="Sql server"nameORsid="TEST2"username="user2"password="pass2"/>
<DB type="Oracle"nameORsid="sid"username="user3"password="pass3"/>
<DB type="Oracle"nameORsid="sid"username="user4"password="pass4"/>
</DATABASE>
</DATABASES>
在上述XML格式的文件中,当source的取值为“src”时,表示第一数据库的配置,即源数据库的配置,当source的取值为“des”时,表示第二数据库的配置,即目的数据库的配置;一个<DB/>标签就代表一个用户数据库的配置信息,其中type指示数据库类型,在本实施例中,配置的是oracle数据库或SqlServer数据库,但是不限于此;nameORsid表示数据库名或实例名;username和password分别指示数据库登录用户名和密码。
进一步地,所述步骤S20包括:
步骤S21,根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
步骤S22,根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
所述计算机根据所述第一数据库的IP地址,用户名和密码。基于JDBC(Java Data Base Connectivity,java数据库连接)API(Application ProgrammingInterface,应用程序编程接口)建立与所述第一数据库的连接,并根据所述第二数据库的IP地址,用户名和密码,基于JDBC API建立与所述第二数据库的连接。如当需要对比的是所述第一数据库中A1数据库的数据字典信息和所述第二数据库中A2数据库的数据字典信息时,所述计算机根据所述第一数据库中IP地址,和所述A1数据库的用户名和密码,基于JDBC API建立与所述第一数据库中A1数据库的连接;所述计算机根据所述第二数据库中IP地址,和所述A2数据库的用户名和密码,基于JDBC API建立与所述第二数据库中A2数据库的连接。
步骤S23,根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
所述计算机根据其与所述第一数据库和所述第二数据库建立的连接,对应读取所述第一数据库和所述第二数据库中需要对比的数据库的数据字典信息。如当所述第一数据库和所述第二数据库中需要对比的数据库是A1数据库和A2数据库,则所述计算机读取所述A1数据库的数据字典信息和所述A2数据库的数据字典信息。在本实施例中,所述计算机利用SQL语句读取所述第一数据库和所述第二数据库中所需对比的相关信息,如提取的信息包括:表名,主键名及主键列,字段名称,字段类型长度,是否为NULL,是否有默认值,字段顺序,索引名称,索引列,视图名称,列名及类型,存储过程,触发器,函数,用户定义类型等对象信息。具体的,所述计算机利用SQL语句读取数据字典信息所用到的部分SQL语句列举如下:
a)查询字段信息(包括字段名称、字段类型、字段长度、是否为空):
select column_name,data_type,data_length,nullable,data_default fromuser_tab_columns where table_name='表名'order by column_id
b)查询索引字段信息:
select index_name from user_indexes where table_name='表名'andindex_name not in(select distinct au.constraint_name from user_cons_columns cu,user_constraints au where cu.constraint_name=au.constraint_name andau.constraint_type='P'and au.table_name='表名')
c)查询主键信息:
select cu.*from user_cons_columns cu,user_constraints au wherecu.constraint_name=au.constraint_name and au.constraint_type='P'andau.table_name='表名'order by position
进一步地,所述步骤S30之后,还包括:
步骤S40,输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
所述计算机将所述第一数据库的结构与所述第二数据库的结构的差异信息输出到其可读文件中,即可以访问的文件中。如可以输出到txt文本,excel文本或者word文本等中。如所述计算机将所述第一数据库的结构和所述第二数据库的结构的差异信息输出至comparedResult.txt文本文件中,所述txt文件内容格式定义如下所示:
***************数据库:TEST的比较结果***************
------------Table的比较结果------------
表CURRENTALARM的字段顺序有差异:
src:(ALARMKEY,AID,ID)
des:(ALARMKEY,ID,AID)
表CURRENTALARM中,属性不同的列有:
RELATIONFLAG(src=int_4_null_,des=int_4_null_0)
表CHANNEL中,源数据库中不存在索引:UQ_MONITOR(channelSrc,channelMulticast)
表HISTOR主键有差异:
(src=PK_ALARM(ALARMKEY),des=PK_HISTORYALARM(ALARMCLEAREDTIME,ALARMKEY))
源数据库中不存在的表有:TABLE1,TABLE2
..........................................
------------数据表比较结果------------
------------视图比较结果------------
.............
------------视图比较结果------------
............
本实施例通过配置文件的方式管理需要比较的数据库,可以配置比较多个数据库,操作方便;使用JDBC与要比较的数据库进行连接,所述JDBC提供了连接各种数据库的能力,提高了数据库的可维护性和可扩展性;将所得到的差异信息输出至计算机的可读文件中,方便研发人员和测试人员查看分析,以便完善数据库版本,升级脚本,避免应用程序版本升级后的某些功能不可用的风险。
本发明进一步提供一种数据库的结构比较装置。
参照图4,图4为本发明数据库的结构比较装置第一实施例的功能模块示意图。
在本实施例中,所述数据库的结构比较装置包括:
获取模块10,用于获取第一数据库和第二数据库的数据库信息;
移动终端获取第一数据库和第二数据的数据库信息。所述移动终端为用于对比两个数据库之间结构的差异的设备,包括但不限于计算机、平板电脑。在本实施例中,所述移动终端为计算机。所述第一数据库和所述第二数据库包括但不限于SqlServer、oracle、sysbase或MySQL。所述数据库信息包括但不限于所述第一数据库和所述第二数据库所在的计算机的IP(InternetProtocol,网络之间互连的协议)地址,所述第一数据库和所述第二数据库的数据库名称、数据库类型以及访问数据库所需的用户名和密码。所述第一数据库和所述第二数据库不是所述计算机系统的数据库以及数据库版本的本身,而是需要对比的用户数据库。如所述第一数据库为计算机A中的某个应用程序从1.0版本上升到1.1版本之后的数据库,称为源数据库,所述第二数据库为计算机B中的所述应用程序新安装的1.1版本的数据库,称为目的数据库。
读取模块20,用于根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
所述计算机根据所述第一数据库的数据库信息读取所述第一数据库的数据字典信息;并根据所述第二数据库的数据库信息读取所述第二数据库的数据字典信息。所述数据字典信息存放有数据库所有的相关信息,如包括数据库中所有模式对象的信息:表、视图、索引、存储过程、触发器等。所述计算机存储其读取的所述第一数据库和所述第二数据库的数据字典信息。如所述计算机将所述第一数据库的数据字典信息存储到srcDbInfo.XML,将所述第二数据库数据字典信息存储到decDbInfo.XML,其中文件名称可以随意命名,具体的,所述计算机按照如下层次结构存储所述第一数据库和所述第二数据库的数据字典信息:
<DATABASES>
<DATABASE nameORsid="uep"type="Oracle"host="192.168.1.23"username="test1"password="pass1"port="1521"discript="">
<TABLES/>
<TABLE name=""pkname=""pkcolumn=""colOrder="">
<COLUMN name=""type=""length=""nullable=""defaultvalue=""/>
<INDEX name=""column=""/>
</TABLE>
</TABLES>
<VIEWS>
<VIEW name="">
<COLUMN name=""type=""/>
</VIEW>
</VIEWS>
<PROCEDUES>
<TRIGGERS/>
<USERDTYPES/>
<FUNCTIONS/>
<USERS/>
</DATABASE>
这是一种按照数据库、表、视图、存储过程、触发器、用户定义类型等元素存储的树状结构,其中每个子元素又可以包含属性和子元素定义。需要说明的是,本发明并不限制存储方式,本发明所提供的只是一种示例。
所述第一数据库和所述第二数据库中根据存储信息的类型的不同,含有对应的子数据库。如在所述第一数据库中,存储A类信息的数据库为A1数据库,存储B类信息的数据库为B1数据库;在所述第二数据库中,存储A类信息的数据库为A2数据库,存储B类信息的数据库为B2数据库。当所述数据库信息是A类信息时,所述计算机根据所述第一数据库的A类信息读取A1数据库的数据字典信息,并根据所述第二数据库的A类信息读取A2数据库的数据字典信息。
对比模块30,用于将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
所述计算机将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。如所述计算机将所述第一数据库中的A1数据库中数据字典信息与所述第二数据库中的A2数据库的数据字典信息进行对比,即将所述A1数据库的数据字典信息中的表、视图、索引、存储过程、触发器等对象与所述A2数据库的数据字典信息中的表、视图、索引、存储过程、触发器等对象逐一进行对比,得到所述第一数据库中A1数据库的结构和所述第二数据库中A2数据库的结构的差异信息。
本实施例通过根据获取第一数据库和第二数据库的数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息,将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。提供了一种操作简单的数据库的结构差异的对比方法,能够比较出两个数据库的结构之间的具体差异信息。
参照图5,图5为本发明实施例中对比模块的一种细化功能模块示意图。
在本实施例中,所述对比模块30包括:
判断单元31,用于判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
当所述计算机读取到所述第一数据库的数据字典信息和所述第二数据库的数据字典信息时,判断所述第一数据库与所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中。如所述计算机要对比的是所述第一数据库中B1数据库和所述第二数据库中B2数据库中的数据字典信息,所述数据字典信息具体为表、视图、存储过程、触发器、函数、用户类型等,则所述计算机判断所述表、视图、存储过程、触发器、函数、用户类型等是否同时存在所述B1数据库和所述B2数据库中。
第一处理单元32,用于将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息;
当所述计算机判定要对比的数据字典信息未同时存在所述第一数据库和所述第二数据库中,则将未同时存在所述第一数据库和所述第二数据库中的数据字典信息作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息,并将所述第一差异信息存储起来。如所述计算机侦测到所述B1数据库的数据字典信息中不存在视图,而所述B2数据库的数据字典信息中存在视图,则将所述数据字典信息中的视图作为所述第一数据库中B1数据库的结构与所述第二数据库中B2数据库的结构的第一差异信息。
对比单元33,用于将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
当所述计算机判定要对比的数据字典信息同时存在于所述第一数据库和所述第二数据库中时,将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比。如所述计算机侦测到所述第一数据库的B1数据库中的数据字典信息中含有表,同时侦测到所述第二数据库的B2数据库中的数据字典信息中也含有表,则将所述B1数据库中的表和所述B2数据库中的表对应的信息进行对比,如将所述B1数据库中表的字段顺序、字段类型、约束关系等与所述B2数据库中表的字段顺序、字段类型、约束关系等进行对比。
第二处理单元34,用于将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
第三处理单元35,用于将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
当所述计算机判定所述第一数据库和所述第二数据库中的数据字典信息对应的信息中含有不同的信息时,将所述第一数据库的数据字典信息对应的信息与所述第二数据库的数据字典信息中对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息,并将所述第二差异信息存储起来。如当所述计算机判定所述B1数据库中的表的字段顺序与所述B2数据库中的表的字段顺序不同,则将所述B类信息中数据字典信息的表的字段顺序作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息。所述计算机将所得的第一差异信息和第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
本实施例中通过将所述第一数据库的数据字典信息和所述第二数据库的数据字典信息相比较,详细地呈现出任意两个数据库的结构的具体差异信息。
参照图8,图8为本发明数据库的结构比较装置第二实施例的功能模块示意图,基于第一实施例提出本发明数据库的结构比较装置第二实施例。
在本实施例中,参照图6,图6为本发明实施例中获取模块的一种细化功能模块示意图。
所述获取模块10包括:
第一获取单元11,用于获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
所述计算机获取所述第一数据库和所述第二数据库的IP地址,所述第一数据库的IP地址是指所述第一数据库所在服务器的IP地址,即安装有所述第一数据库版本的计算机的IP地址,所述第二数据库的IP地址是指所述第二数据库所在服务器的IP地址,即安装有所述第二数据库版本的计算机的IP地址。所述第一数据库的IP地址和所述第二数据库的IP地址可以相同也可以不同。如当安装所述第一数据库版本的计算机与安装所述第二数据库版本的计算机是不同的计算机时,所述第一数据库和所述第二数据库的IP地址是不同的;当安装所述第一数据库版本的计算机和安装所述第二数据库版本的计算机是同一台计算机时,所述第一数据库和所述第二数据库的IP地址是相同的。
第二获取单元12,用于获取所述第一数据库和所述第二数据库的用户名和密码;
第四处理单元13,用于将所述IP地址以及所述用户名和密码作为数据库信息。
所述计算机获取所述第一数据库和所述第二数据库的用户名和密码,所述第一数据库和所述第二数据库的用户名和密码是用来访问所述第一数据库和所述第二数据库的,从所述第一数据库和所述第二数据库中提取要对比的数据字典信息。同时,所述计算机还获取所述第一数据库和所述第二数据库的数据库名、数据库类型等。所述计算机将所述IP地址,用户名和密码,数据库名、数据库类型等对应作为所述第一数据库和所述第二数据库的数据库信息。所述计算机将所述第一数据库和所述第二数据库的数据库信息按照一定的规则配置到可访问的文件中,如配置到XML(Extensible MarkupLanguage,可扩展标识语音)文件中,或者配置到properties文件等,在本实施例中,所述计算机将所述数据库信息配置到所述XML文件中。所述按照一定的规则配置表示的是根据文件类型解析规则进行配置。如所述计算机根据XML文件类型解析规则配置所述数据库信息,则得到如下所示的XML格式的文件:
<?XML version="1.0"encoding="GB2312"?>
<DATABASES>
<DATABASE source="src">
<DB type="Sql server"nameORsid="TEST1"username="user1"password="pass1"/>
<DB type="Sql server"nameORsid="TEST2"username="user2"password="pass2"/>
<DB type="Oracle"nameORsid="sid"username="user3"password="pass3"/>
<DB type="Oracle"nameORsid="sid"username="user4"password="pass4"/>
</DATABASE>
<DATABASE source="des">
<DB type="Sql server"nameORsid="TEST1"username="user1"password="pass1"/>
<DB type="Sql server"nameORsid="TEST2"username="user2"password="pass2"/>
<DB type="Oracle"nameORsid="sid"username="user3"password="pass3"/>
<DB type="Oracle"nameORsid="sid"username="user4"password="pass4"/>
</DATABASE>
</DATABASES>
在上述XML格式的文件中,当source的取值为“src”时,表示第一数据库的配置,即源数据库的配置,当source的取值为“des”时,表示第二数据库的配置,即目的数据库的配置;一个<DB/>标签就代表一个用户数据库的配置信息,其中type指示数据库类型,在本实施例中,配置的是oracle数据库或SqlServer数据库,但是不限于此;nameORsid表示数据库名或实例名;username和password分别指示数据库登录用户名和密码。
进一步地,参照图7,图7为本发明实施例中读取模块的一种细化功能模块示意图。
所述读取模块20包括:
第一建立单元21,用于根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
第二建立单元22,用于根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
所述计算机根据所述第一数据库的IP地址,用户名和密码。基于JDBC(Java Data Base Connectivity,java数据库连接)API(Application ProgrammingInterface,应用程序编程接口)建立与所述第一数据库的连接,并根据所述第二数据库的IP地址,用户名和密码,基于JDBC API建立与所述第二数据库的连接。如当需要对比的是所述第一数据库中A1数据库的数据字典信息和所述第二数据库中A2数据库的数据字典信息时,所述计算机根据所述第一数据库中IP地址,和所述A1数据库的用户名和密码,基于JDBC API建立与所述第一数据库中A1数据库的连接;所述计算机根据所述第二数据库中IP地址,和所述A2数据库的用户名和密码,基于JDBC API建立与所述第二数据库中A2数据库的连接。
读取单元23,用于根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
所述计算机根据其与所述第一数据库和所述第二数据库建立的连接,对应读取所述第一数据库和所述第二数据库中需要对比的数据库的数据字典信息。如当所述第一数据库和所述第二数据库中需要对比的数据库是A1数据库和A2数据库,则所述计算机读取所述A1数据库的数据字典信息和所述A2数据库的数据字典信息。在本实施例中,所述计算机利用SQL语句读取所述第一数据库和所述第二数据库中所需对比的相关信息,如提取的信息包括:表名,主键名及主键列,字段名称,字段类型长度,是否为NULL,是否有默认值,字段顺序,索引名称,索引列,视图名称,列名及类型,存储过程,触发器,函数,用户定义类型等对象信息。具体的,所述计算机利用SQL语句读取数据字典信息所用到的部分SQL语句列举如下:
b)查询字段信息(包括字段名称、字段类型、字段长度、是否为空):
select column_name,data_type,data_length,nullable,data_default fromuser_tab_columns where table_name='表名'order by column_id
b)查询索引字段信息:
select index_name from user_indexes where table_name='表名'andindex_name not in(select distinct au.constraint_name from user_cons_columns cu,user_constraints au where cu.constraint_name=au.constraint_name andau.constraint_type='P'and au.table_name='表名')
c)查询主键信息:
select cu.*from user_cons_columns cu,user_constraints au wherecu.constraint_name=au.constraint_name and au.constraint_type='P'andau.table_name='表名'order by position
进一步地,所述数据库的结构比较装置还包括输出模块40。
所述输出模块40,用于输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
所述计算机将所述第一数据库的结构与所述第二数据库的结构的差异信息输出到其可读文件中,即可以访问的文件中。如可以输出到txt文本,excel文本或者word文本等中。如所述计算机将所述第一数据库的结构和所述第二数据库的结构的差异信息输出至comparedResult.txt文本文件中,所述txt文件内容格式定义如下所示:
***************数据库:TEST的比较结果***************
------------Table的比较结果------------
表CURRENTALARM的字段顺序有差异:
src:(ALARMKEY,AID,ID)
des:(ALARMKEY,ID,AID)
表CURRENTALARM中,属性不同的列有:
RELATIONFLAG(src=int_4_null_,des=int_4_null_0)
表CHANNEL中,源数据库中不存在索引:UQ_MONITOR(channelSrc,channelMulticast)
表HISTOR主键有差异:
(src=PK_ALARM(ALARMKEY),des=PK_HISTORYALARM(ALARMCLEAREDTIME,ALARMKEY))
源数据库中不存在的表有:TABLE1,TABLE2
..........................................
------------数据表比较结果------------
------------视图比较结果------------
............
------------视图比较结果------------
............
本实施例通过配置文件的方式管理需要比较的数据库,可以配置比较多个数据库,操作方便;使用JDBC与要比较的数据库进行连接,所述JDBC提供了连接各种数据库的能力,提高了数据库的可维护性和可扩展性;将所得到的差异信息输出至计算机的可读文件中,方便研发人员和测试人员查看分析,以便完善数据库版本,升级脚本,避免应用程序版本升级后的某些功能不可用的风险。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据库的结构比较方法,其特征在于,所述数据库的结构比较方法包括以下步骤:
获取第一数据库和第二数据库的数据库信息;
根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
2.如权利要求1所述的数据库的结构比较方法,其特征在于,所述将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息步骤包括:
判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息;
将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
3.如权利要求1所述的数据库的结构比较方法,其特征在于,所述获取第一数据库和第二数据库的数据库信息的步骤包括:
获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
获取所述第一数据库和所述第二数据库的用户名和密码;
将所述IP地址以及所述用户名和密码作为数据库信息。
4.如权利要求3所述的数据库的结构比较方法,其特征在于,所述根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息的步骤包括:
根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
5.如权利要求1至4任一项所述的数据库的结构比较方法,其特征在于,所述将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息的步骤之后,还包括:
输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
6.一种数据库的结构比较装置,其特征在于,所述数据库的结构比较装置包括:
获取模块,用于获取第一数据库和第二数据库的数据库信息;
读取模块,用于根据所述数据库信息,对应读取所述第一数据库和所述第二数据库的数据字典信息;
对比模块,用于将所述第一数据库的数据字典信息与所述第二数据库的数据字典信息进行对比,得到所述第一数据库的结构与所述第二数据库的结构的差异信息。
7.如权利要求6所述的数据库的结构比较装置,其特征在于,所述对比模块包括:
判断单元,用于判断所述第一数据库和所述第二数据库要进行对比的数据字典信息是否同时存在所述第一数据库和所述第二数据库中;
第一处理单元,用于将未同时存在所述第一数据库和所述第二数据库中的数据字典信息,作为所述第一数据库的结构与所述第二数据库的结构的第一差异信息;
对比单元,用于将同时存在所述第一数据库和所述第二数据库中的数据字典信息对应的信息进行对比;
第二处理单元,用于将所述第一数据库和所述第二数据库中数据字典信息对应的不同的信息,作为所述第一数据库的结构与所述第二数据库的结构的第二差异信息;
第三处理单元,用于将所述第一差异信息和所述第二差异信息作为所述第一数据库的结构与所述第二数据库的结构的差异信息。
8.如权利要求6所述的数据库的结构比较装置,其特征在于,所述获取模块包括:
第一获取单元,用于获取所述第一数据库和所述第二数据库的网络之间互连的协议IP地址;
第二获取单元,用于获取所述第一数据库和所述第二数据库的用户名和密码;
第四处理单元,用于将所述IP地址以及所述用户名和密码作为数据库信息。
9.如权利要求8所述的数据库的结构比较装置,其特征在于,所述读取模块包括:
第一建立单元,用于根据所述第一数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第一数据库的连接;
第二建立单元,用于根据所述第二数据库的IP地址、用户名和密码,基于Java数据库连接建立与所述第二数据库的连接;
读取单元,用于根据所建立的连接,对应读取所述第一数据库和所述第二数据库的数据字典信息。
10.如权利要求6至9任一项所述的数据库的结构比较装置,其特征在于,所述数据库的结构比较装置还包括输出模块,用于输出所述第一数据库的结构与所述第二数据库的结构的差异信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510555585.8A CN106484739A (zh) | 2015-09-01 | 2015-09-01 | 数据库的结构比较方法和装置 |
PCT/CN2016/084547 WO2017036211A1 (zh) | 2015-09-01 | 2016-06-02 | 数据库的结构比较方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510555585.8A CN106484739A (zh) | 2015-09-01 | 2015-09-01 | 数据库的结构比较方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484739A true CN106484739A (zh) | 2017-03-08 |
Family
ID=58186565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510555585.8A Pending CN106484739A (zh) | 2015-09-01 | 2015-09-01 | 数据库的结构比较方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106484739A (zh) |
WO (1) | WO2017036211A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784102A (zh) * | 2017-10-27 | 2018-03-09 | 中国电子科技集团公司第二十八研究所 | 一种基于Oracle数据库的数据差异比较方法 |
CN107918679A (zh) * | 2018-01-04 | 2018-04-17 | 国网福建省电力有限公司 | 数据仓库模型技术层面差异比对方法 |
CN108304522A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市买买提信息科技有限公司 | 一种数据库之间差异的比对方法、装置及终端设备 |
CN109002472A (zh) * | 2018-06-13 | 2018-12-14 | 平安科技(深圳)有限公司 | 一种数据库差异的识别方法及装置 |
CN109165214A (zh) * | 2018-06-29 | 2019-01-08 | 铜陵市世纪朝阳数码科技有限责任公司 | 一种多点信息数据录入方法 |
CN109918299A (zh) * | 2019-02-27 | 2019-06-21 | 洛阳中科汇成科技有限公司 | 一种对比数据库结构差异的方法 |
CN111190986A (zh) * | 2019-12-31 | 2020-05-22 | 武汉中海庭数据技术有限公司 | 一种地图数据对比方法和装置 |
CN112417085A (zh) * | 2020-11-27 | 2021-02-26 | 平安普惠企业管理有限公司 | 报文对比方法、装置、计算机设备及存储介质 |
CN113254456A (zh) * | 2021-06-29 | 2021-08-13 | 山东浪潮通软信息科技有限公司 | 一种数据库的数据信息对比方法、系统、设备及存储介质 |
CN113760911A (zh) * | 2021-09-01 | 2021-12-07 | 上海哔哩哔哩科技有限公司 | 索引差异测试方法及系统 |
WO2021254106A1 (zh) * | 2020-06-15 | 2021-12-23 | 华为技术有限公司 | 数据库设计方法、装置及相关设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612693A (zh) * | 2020-12-11 | 2021-04-06 | 广州朗国电子科技有限公司 | 自动校验应用软件版本的方法、装置及存储介质 |
CN118349540B (zh) * | 2024-06-17 | 2024-08-09 | 浙江工企信息技术股份有限公司 | 一种数据库结构快速拟合方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788282B2 (en) * | 2004-09-16 | 2010-08-31 | International Business Machines Corporation | Methods and computer programs for database structure comparison |
CN101499069B (zh) * | 2008-02-02 | 2013-06-05 | 中兴通讯股份有限公司 | 内存数据库文件的更新方法及更新装置 |
CN102096671A (zh) * | 2009-12-14 | 2011-06-15 | 深圳速浪数字技术有限公司 | 一种boss数据库升级脚本的生成方法和设备 |
CN102467529B (zh) * | 2010-11-11 | 2013-08-21 | 金蝶软件(中国)有限公司 | 一种元数据同步方法和系统 |
CN103294724B (zh) * | 2012-03-05 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种数据库结构的管理方法及系统 |
CN103995854A (zh) * | 2014-05-13 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种设备跨版本升级方法和装置 |
-
2015
- 2015-09-01 CN CN201510555585.8A patent/CN106484739A/zh active Pending
-
2016
- 2016-06-02 WO PCT/CN2016/084547 patent/WO2017036211A1/zh active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784102A (zh) * | 2017-10-27 | 2018-03-09 | 中国电子科技集团公司第二十八研究所 | 一种基于Oracle数据库的数据差异比较方法 |
CN107918679A (zh) * | 2018-01-04 | 2018-04-17 | 国网福建省电力有限公司 | 数据仓库模型技术层面差异比对方法 |
CN108304522A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市买买提信息科技有限公司 | 一种数据库之间差异的比对方法、装置及终端设备 |
CN109002472A (zh) * | 2018-06-13 | 2018-12-14 | 平安科技(深圳)有限公司 | 一种数据库差异的识别方法及装置 |
WO2019237574A1 (zh) * | 2018-06-13 | 2019-12-19 | 平安科技(深圳)有限公司 | 一种数据库差异的识别方法及装置 |
CN109165214A (zh) * | 2018-06-29 | 2019-01-08 | 铜陵市世纪朝阳数码科技有限责任公司 | 一种多点信息数据录入方法 |
CN109918299A (zh) * | 2019-02-27 | 2019-06-21 | 洛阳中科汇成科技有限公司 | 一种对比数据库结构差异的方法 |
CN111190986A (zh) * | 2019-12-31 | 2020-05-22 | 武汉中海庭数据技术有限公司 | 一种地图数据对比方法和装置 |
WO2021254106A1 (zh) * | 2020-06-15 | 2021-12-23 | 华为技术有限公司 | 数据库设计方法、装置及相关设备 |
CN112417085A (zh) * | 2020-11-27 | 2021-02-26 | 平安普惠企业管理有限公司 | 报文对比方法、装置、计算机设备及存储介质 |
CN113254456A (zh) * | 2021-06-29 | 2021-08-13 | 山东浪潮通软信息科技有限公司 | 一种数据库的数据信息对比方法、系统、设备及存储介质 |
CN113760911A (zh) * | 2021-09-01 | 2021-12-07 | 上海哔哩哔哩科技有限公司 | 索引差异测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017036211A1 (zh) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484739A (zh) | 数据库的结构比较方法和装置 | |
US20230334032A1 (en) | Creating data in a data store using a dynamic ontology | |
US10984913B2 (en) | Blockchain system for natural language processing | |
US8601438B2 (en) | Data transformation based on a technical design document | |
US8271870B2 (en) | Document analysis, commenting, and reporting system | |
US6996798B2 (en) | Automatically deriving an application specification from a web-based application | |
CN101021890A (zh) | 一种对页面数据进行校验的方法、系统和服务器 | |
US20070143321A1 (en) | Converting recursive hierarchical data to relational data | |
US20130204610A1 (en) | Quasi Natural Language Man-Machine Conversation Device Base on Semantic Logic | |
US11971997B2 (en) | Systems and methods for automated system requirement analysis | |
GB2413664A (en) | Extracting chemical data from text documents | |
US10133766B2 (en) | Accessing and editing virtually-indexed message flows using structured query langauge (SQL) | |
US20080077552A1 (en) | Systems and methods for analyzing multiple states in one or more groups of data | |
CN103678396B (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN112307052A (zh) | 一种数据管理方法、服务系统、终端及存储介质 | |
US10262263B2 (en) | Retrieving database score contextual information | |
US20150278386A1 (en) | Universal xml validator (uxv) tool | |
CN106020923A (zh) | SELinux策略的编译方法及系统 | |
CN114764558A (zh) | 一种sql方言转换方法、装置、系统及存储介质 | |
CN116955314A (zh) | 数据库统一维护管控方法、装置、设备及存储介质 | |
CN117667978B (zh) | 一种使用中文指令操作数据库的计算机系统 | |
US9940351B2 (en) | Creating XML data from a database | |
Mironov et al. | Validation of the XML documents in Web-applications based on situation-oriented databases (DTD, XML SCHEMA, RELAX NG) | |
US20230385561A1 (en) | Data driven translation and translation validation of digital content | |
CN114090428A (zh) | 信息处理方法、装置、计算机可读存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170308 |