CN105229618A - 数据协调支援装置和数据协调支援方法 - Google Patents
数据协调支援装置和数据协调支援方法 Download PDFInfo
- Publication number
- CN105229618A CN105229618A CN201380076749.8A CN201380076749A CN105229618A CN 105229618 A CN105229618 A CN 105229618A CN 201380076749 A CN201380076749 A CN 201380076749A CN 105229618 A CN105229618 A CN 105229618A
- Authority
- CN
- China
- Prior art keywords
- information
- row
- data harmonization
- primary key
- coordination
- 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
- 238000000034 method Methods 0.000 title claims description 40
- 238000000605 extraction Methods 0.000 claims description 83
- 230000008569 process Effects 0.000 description 28
- 239000000284 extract Substances 0.000 description 23
- 230000009471 action Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000009825 accumulation Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000005055 memory storage Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- BPPVUXSMLBXYGG-UHFFFAOYSA-N 4-[3-(4,5-dihydro-1,2-oxazol-3-yl)-2-methyl-4-methylsulfonylbenzoyl]-2-methyl-1h-pyrazol-3-one Chemical compound CC1=C(C(=O)C=2C(N(C)NC=2)=O)C=CC(S(C)(=O)=O)=C1C1=NOCC1 BPPVUXSMLBXYGG-UHFFFAOYSA-N 0.000 description 1
- 241001091551 Clio Species 0.000 description 1
- 235000013290 Sagittaria latifolia Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 235000015246 common arrowhead Nutrition 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种数据协调支援装置,以在数据协调中高效地检测作为协调对象的表与哪个表之间存在参照关系。数据协调支援装置对于作为协调对象的表以外的各个表,从相应的表包含的多个列中确定成为主关键字的第1列和没有成为主关键字的第2列。数据协调支援装置从作为协调对象的表以外的表中,提取作为协调对象的表包含与第1列相似的第3列且作为协调对象的表包含与第2列相似的第4列的表。数据协调支援装置输出推荐信息,该推荐信息推荐将作为协调对象的表与提取出的表的组合用于数据协调。
Description
技术领域
本发明涉及数据协调支援装置和数据协调支援方法。
背景技术
伴随着系统间的协调或者系统彼此的合并,需要不同系统的数据库间的数据协调或者同一数据库内的各个表间的数据协调。在数据协调中需要定义如下的数据协调关系:可以从哪个表(即,协调方表)的列中提取保存在作为协调对象的表(即,协调对象表)的列中的数据。
要想定义数据协调关系,需要通过某种手段检测表间的列的对应关系。进而,需要能够根据协调方表通过表操作制作作为协调对象表的列的组合的表布局。如果无法实施这种数据构造的转换,则无法在协调对象表中保存数据。当不存在布局与协调对象表一致的协调方表,从2个以上的协调方表中收集数据来制作协调对象表的情况下,仅通过表间的列的相似性来判断对应关系是不充分的。实际上需要能够针对这2个以上的协调方表实施结合(例如,JOIN)操作。
如上所述,在数据协调中,需要结合(例如,JOIN)协调方表来生成协调对象表。由此,要想定义数据协调关系,需要事先确定表间的参照关系。但是,在一般的数据库中,虽然已被施加主关键字限制,但是没有被施加外部参照限制,表间的参照关系往往不明确。因此,以往是人工提取表间的参照关系。需要理解数据库技术和业务内容的高级技术人员劳动密集型地实施该作业。
作为自动提取表间的参照关系的技术,存在使用数据库的表的记录(即,实际数据)的技术(例如,参照非专利文献1)。
作为相似的自动提取列的对应关系的技术,存在所谓的模式(schema)匹配技术(例如,参照非专利文献2)。
现有技术文献
非专利文献
非专利文献1:LingLingYan,ReneeJ.Miller,LauraM.Haas,andRonaldFagin,“Data-DrivenUnderstandingandRefinementofSchemaMappings”,SIGMOD’01Proceedingsofthe2001ACMSIGMODinternationalconferenceonManagementofdata,2001
非专利文献2:RonaldFagin,LauraM.Haas,MauricioHernandez,ReneeJ.Miller,LucianPopa,andYannisVelegrakis,“Clio:SchemaMappingCreationandDataExchange”,LectureNotesinComputerScienceVolume5600,2009
发明内容
发明要解决的课题
在非专利文献1中,读入数据库的表的记录,估计记录间的关系性和表间的结合关系,从而自动提取表间的参照关系。要想提高参照关系的提取精度,需要使用全部记录。在该情况下,需要对大量记录进行处理。在针对大规模的系统执行这种处理的情况下,无法使处理时间短于实用的时间的可能性较高。必然不得不缩减作为处理对象的系统。
也可以为了减少要使用的记录数而活用采样技术。但是,考虑表间的参照关系进行采样是很难的。采样的结果是,原本存在参照关系的表有可能看起来不存在参照关系。
如上所述,非专利文献1这样的必须使用记录的技术存在因记录的量而使能够应用的系统的范围受到限制这样的课题。
在非专利文献2这样的模式匹配技术中,能够仅从表定义信息这样的元数据中提取相似的列的对应关系。因此,当与使用记录的技术进行比较时,存在只需较少的处理数据量这样的优点。能够将大规模的系统整体作为处理对象。
但是,模式匹配技术是寻找相似的列的技术。因此,无法为了自动提取表间的参照关系而直接使用。特别是在数据库内存在大量同义的列的情况下,将会检测出大量从模式匹配技术的观点来看是正确的对应关系但并不是参照关系的对应关系。
并且,在模式匹配技术中存在如下的课题:未考虑到为了进行数据协调而需要根据协调方表通过表操作制作协调对象表的布局这一点。
本发明的目的在于,例如在数据协调中高效地检测作为协调对象的表与哪个表之间存在参照关系。
用于解决课题的手段
本发明的一个方式的数据协调支援装置是对具有多个表的数据库的数据协调进行支援的装置,数据协调支援装置具有:信息存储部,其存储主关键字信息和属性信息,其中,该主关键字信息表示所述多个表分别包含的多个列的各个列是否成为主关键字,该属性信息表示保存在所述多个表分别包含的多个列的各个列中的数据的属性;表选择部,其选择所述多个表中的作为数据协调的协调对象的1个表;列确定部,其对于所述多个表中的由所述表选择部选择出的表以外的各个表,根据存储在所述信息存储部中的主关键字信息,从相应的表包含的多个列中,确定成为主关键字的第1列和没有成为主关键字的第2列;表提取部,其从所述多个表中的由所述表选择部选择出的表以外的表中,根据存储在所述信息存储部中的属性信息,提取在由所述表选择部选择出的表中包含与由所述列确定部确定的第1列相似的第3列且在由所述表选择部选择出的表中包含与由所述列确定部确定的第2列相似的第4列的表;以及信息输出部,其输出推荐信息,该推荐信息推荐将由所述表选择部选择出的表与由所述表提取部提取出的表的组合用于数据协调。
发明效果
根据本发明的一个方式,数据协调支援装置能够在数据协调中高效地检测作为协调对象的表与哪个表之间存在参照关系。
附图说明
图1是示出实施方式1的数据协调支援装置的结构的框图。
图2是示出实施方式1的协调方信息的例子的表。
图3是示出实施方式1的数据协调支援装置的动作的例子的流程图。
图4是示出实施方式1的参照方信息和主关键字定义信息的例子的表。
图5是示出实施方式1的模式匹配的结果的例子的表。
图6是示出实施方式1的参照关系信息的例子的表。
图7是示出实施方式1的数据协调支援装置的动作的例子的流程图。
图8是示出实施方式1的非外部关键字定义信息和非主关键字定义信息的例子的表。
图9是示出实施方式1的模式匹配的结果的例子的表。
图10是示出实施方式1的协调关系信息的例子的表。
图11是示出实施方式1的数据协调支援装置的动作的例子的流程图。
图12是示出实施方式1的提取结果的例子的表。
图13是示出实施方式1的数据协调支援装置的动作的例子的流程图。
图14是示出实施方式1的输入信息和推荐信息的例子的表。
图15是示出实施方式1的数据协调支援装置的硬件结构的例子的图。
具体实施方式
以下,使用附图对本发明的实施方式进行说明。
实施方式1
图1是示出本实施方式的数据协调支援装置100的结构的框图。
在图1中,数据协调支援装置100是对具有多个表的数据库的数据协调进行支援的装置。由数据协调支援装置100支援的数据协调可以是数据库的不同实例(instance)间的数据协调,也可以是相同实例的不同模式间的数据协调,还可以是相同模式的不同表间的数据协调。
数据协调支援装置100具有信息存储部101、表选择部102、列确定部103、表提取部104、信息蓄积部105以及信息输出部106。
虽然在图1中未图示,但是,数据协调支援装置100具有处理装置、存储装置、输入装置、输出装置等硬件。由数据协调支援装置100的各部使用硬件。例如,处理装置是为了由数据协调支援装置100的各部进行数据或者信息的运算、加工、读取、写入等而使用的。存储装置是为了存储该数据或者信息而使用的。输入装置是为了输入该数据或者信息而使用的。输出装置是为了输出该数据或者信息而使用的。
信息存储部101使用存储装置存储协调方信息111和协调对象信息112。
协调方信息111是定义作为数据协调的协调方的数据库(即,协调方数据库)的多个表(即,协调方表)的信息。协调方信息111包含协调方数据库的主关键字信息和属性信息。协调方数据库的主关键字信息是表示包含在多个协调方表的各个表中的多个列的各个列是否是主关键字的信息。协调方数据库的属性信息是表示包含在多个协调方表的各个表中的多个列的各个列中保存的数据的属性(例如,列名、数据类型)的信息。
协调对象信息112是定义作为数据协调的协调对象的数据库(即,协调对象数据库)的多个表(即,协调对象表)的信息。协调对象信息112包含协调对象数据库的主关键字信息和属性信息。协调对象数据库的主关键字信息是表示包含在多个协调对象表的各个表中的多个列的各个列是否是主关键字的信息。协调对象数据库的属性信息是表示包含在多个协调对象表的各个表中的多个列的各个列中保存的数据的属性(例如,列名、数据类型)的信息。
协调方信息111和协调对象信息112经由输入装置输入,存储在信息存储部101中。
表选择部102选择多个协调对象表中的1个协调对象表。
例如,表选择部102读取存储在信息存储部101中的协调对象信息112。表选择部102从由读取出的协调对象信息112定义的协调对象表中选择1个协调对象表。
关于协调方数据库和协调对象数据库的多个表中的由表选择部102选择出的协调对象表以外的各个表,列确定部103根据上述的主关键字信息,从包含在相应的表中的多个列中确定作为主关键字的第1列和不作为主关键字的第2列。
例如,列确定部103读取存储在信息存储部101中的协调方信息111和协调对象信息112。关于由读取出的协调方信息111定义的协调方表的各个表,列确定部103根据包含在读取出的协调方信息111中的主关键字信息来确定第1列和第2列。并且,关于由读取出的协调对象信息112定义的协调对象表中的由表选择部102选择出的协调对象表以外的各个协调对象表,列确定部103根据包含在读取出的协调对象信息112中的主关键字信息来确定第1列和第2列。
关于协调方数据库和协调对象数据库的多个表中的由表选择部102选择出的协调对象表以外的各个表,表提取部104根据上述的属性信息提取满足以下的条件(1)和(2)的表,输出提取结果141。
(1)由表选择部102选择出的协调对象表包含与由列确定部103确定的第1列相似的第3列。
(2)由表选择部102选择出的协调对象表包含与由列确定部103确定的第2列相似的第4列。
在本实施方式中,关于由列确定部103确定出2个以上的第1列的表,表提取部104提取在由表选择部102选择出的协调对象表中对于全部的第1列单独存在第3列的表。例如,设在某协调方表中存在2个第1列。如果在由表选择部102选择出的协调对象表中,存在与该2个第1列的一方相似的第3列以及与该2个第1列的另一方相似的另一第3列,则其协调方表满足上述的条件(1)。另外,不仅协调方表,而且与由表选择部102选择出的协调对象表不同的协调对象表也有可能满足上述的条件(1)。
在本实施方式中,关于由列确定部103确定出2个以上的第2列的表,表提取部104仅将在由表选择部102选择出的协调对象表中对于最多的第2列单独存在第4列的表包含在提取结果141中。例如,设在某协调方表中存在5个第2列。设在由表选择部102选择出的协调对象表中,存在与该5个第2列中的1个相似的第4列以及与该5个第2列的另一方相似的另一第4列。关于其它的协调方表,不存在多于2个的第4列,并且,关于与由表选择部102选择出的协调对象表不同的协调对象表,如果不存在多于2个的第4列,则其协调方表满足上述的条件(2)。另外,不仅协调方表,而且与由表选择部102选择出的协调对象表不同的协调对象表也有可能满足上述的条件(2)。
在本实施方式中,表提取部104能够将属于与由表选择部102选择出的协调对象表相同模式的表、属于与由表选择部102选择出的协调对象表相同实例的不同模式的表、属于与由表选择部102选择出的协调对象表不同实例的模式的表这3种表包含在提取结果141中。
信息蓄积部105使用存储装置存储参照关系信息151和协调关系信息152。
参照关系信息151是表示在由表选择部102选择出的协调对象表与由表提取部104提取出的表之间带来参照关系的列的组的信息。即,参照关系信息151是表示第1列与第3列的组的信息。
协调关系信息152是表示在由表选择部102选择出的协调对象表与由表提取部104提取出的表之间除了带来参照关系的列以外对应的列的组的信息。即,参照关系信息151是表示第2列与第4列的组的信息。
参照关系信息151和协调关系信息152由表提取部104制作而存储到信息蓄积部105。参照关系信息151和协调关系信息152也可以由表提取部104作为最终的提取结果141输出,还可以暂时保存在信息蓄积部105中用于决定最终的提取结果141。
信息输出部106根据从表提取部104输出的提取结果141生成推荐信息161,该推荐信息161推荐在数据协调中使用由表选择部102选择出的协调对象表与由表提取部104提取出的表的组合。信息输出部106经由输出装置输出已生成的推荐信息161。
信息输出部106在从表提取部104输出的提取结果141中包含上述的3种表中的至少2种表的情况下,输出如下的信息作为推荐信息161,该信息按照表的种类,推荐在数据协调中使用由表选择部102选择出的协调对象表与由表提取部104提取出的表的组合。
输出装置可以是在画面上显示推荐信息161的显示装置,也可以是使用推荐信息161来执行某种处理的计算机。
以下,对数据协调支援装置100的动作(即,本实施方式的数据协调支援方法)的例子进行说明。
图2是表示协调方信息111的例子的表。
在图2中,协调方信息111如上所述是定义协调方表的信息。协调方信息111作为通过DDL(DataDefinitionLanguage:数据定义语言)或者XML(eXtensibleMarkupLanguage:可扩展标记语言)记述的文件而预先存储在信息存储部101中。或者,协调方信息111通过发行SQL语句等从协调方数据库取得并存储在信息存储部101中。协调方信息111包含表所在信息201和表定义信息202。
表所在信息201包含实例名、模式名、表名的信息。例如,在表所在信息201中定义有在“订购系统”这样的实例的“SVR001”这样的模式中存在“店铺”表。
表定义信息202存储在由表所在信息201定义的每个协调方表中。表定义信息202包含列名、数据类型、主关键字的信息(即,属性信息和主关键字信息)。例如,在位于“订购系统”的“SVR001”的“店铺”表的表定义信息202中,定义有该“店铺”表包含“店铺ID”、“店铺名”“地址”、“店长职员ID”这样的列,“店铺ID”单独地成为主关键字。
虽然未图示,但是,协调对象信息112也是与图2所示的协调方信息111相同形式的信息。
图3是示出数据协调支援装置100的动作的例子的流程图。图4是示出后述的参照方信息211和主关键字定义信息212的例子的表。图5是示出模式匹配的结果221的例子的表。图6是示出参照关系信息151的例子的表。
在步骤S11中,表选择部102从信息存储部101读取协调对象信息112。表选择部102经由输出装置在画面上显示由协调对象信息112定义的协调对象表的列表。表选择部102经由输入装置受理观察该列表后的用户的操作。表选择部102根据用户的操作选择1个协调对象表。表选择部102按照与表定义信息202相同的形式,生成定义选择出的协调对象表的参照方信息211。
例如,表选择部102对于位于“订购系统”的“SVR001”的“订货明细表”,生成图4所示的参照方信息211。在该参照方信息211中,定义有位于“订购系统”的“SVR001”的“订货明细表”包含“订货细节ID”、“订货ID”、“店铺ID”、“订货数”、“店铺名”这样的列,“订货细节ID”和“订货ID”成为主关键字。
表选择部102将参照方信息211传送到表提取部104。
在步骤S12中,列确定部103从信息存储部101读取协调方信息111。列确定部103按照由包含在协调方信息111中的表所在信息201定义的每个协调方表,参照包含在协调方信息111中的表定义信息202。列确定部103根据各协调方表的表定义信息202,确定作为各协调方表的主关键字的列(即,第1列)。列确定部103生成将表定义信息202仅缩减到特定列的主关键字定义信息212。
例如,列确定部103对于位于“订购系统”的“SVR001”的“店铺”表生成图4所示的主关键字定义信息212。在该主关键字定义信息212中,定义有位于“订购系统”的“SVR001”的“店铺”表作为主关键字包含“店铺ID”这样的列。
列确定部103对于各协调方表将主关键字定义信息212传送到表提取部104。
列确定部103对于协调对象信息112也进行相同的处理,按照每个协调对象表生成主关键字定义信息212。但是,列确定部103对于在步骤S11中选择出的协调对象表不生成主关键字定义信息212。
列确定部103对于各协调对象表将主关键字定义信息212传送到表提取部104。
在步骤S13中,表提取部104对于各协调方表设定从表选择部102传送来的参照方信息211与从列确定部103传送来的主关键字定义信息212的组。表提取部104对于各协调对象表也设定从表选择部102传送来的参照方信息211与从列确定部103传送来的主关键字定义信息212的组。
在步骤S14中,表提取部104选择在步骤S13中设定的组中的、尚未执行步骤S14~S17的处理的组。表提取部104执行选择出的组的参照方信息211与主关键字定义信息212的模式匹配。例如,表提取部104得到图5所示的模式匹配的结果221。在图5中,模式匹配的结果221采用在0~1.0之间表示主关键字定义信息212的列与参照方信息211的列之间的相似度的表的形式。在图5的例子中,主关键字定义信息212的“店铺ID”列与参照方信息211的“订货数”列的相似度是0。另一方面,主关键字定义信息212的“店铺ID”列与参照方信息211的“店铺ID”列的相似度是1.0。
在步骤S15中,表提取部104从在步骤S14中得到的模式匹配的结果221中提取相似度比预先确定的阈值高的列的组(即,第1列与第3列的组)。当主关键字定义信息212存在多个列的情况下,表提取部104对于主关键字定义信息212的全部列,必须以参照方信息211的列没有重复的方式提取列的组。在对于主关键字定义信息212的同一列,相似度比阈值高的列的组为2个以上的情况下,表提取部104选择相似度最高的列的组。在相似度比阈值高的列的组1个都没有的情况下,表提取部104不提取列的组而进入步骤S18。在图5的例子中,当设阈值为0.8时,表提取部104提取主关键字定义信息212的“店铺ID”列与参照方信息211的“店铺ID”列的组。
当存在步骤S15中提取出的列的组的情况下,在步骤S16中,表提取部104生成表示提取出的列的组的参照关系信息151。表提取部104将参照关系信息151保存在信息蓄积部105中。
例如,表提取部104生成图6所示的参照关系信息151。该参照关系信息151包含参照对象实例名、参照对象模式名、参照对象表名、参照对象列名、参照方实例名、参照方模式名、参照方表名、参照方列名的信息。在该参照关系信息151中,定义有位于“订购系统”的“SVR001”的“店铺”表与位于“订购系统”的“SVR001”的“订货明细”表之间存在参照关系。并且,定义有“店铺”表的“店铺ID”列是参照对象,“订货明细”表的“店铺ID”列是参照方(即,外部关键字)。
在步骤S17中,数据协调支援装置100进行图7所示的动作。
在步骤S18中,表提取部104判定是否存在步骤S13中设定的组中的尚未执行步骤S14~S17的处理的组。在存在这种组的情况下,表提取部104返回到步骤S14。在不存在这种组的情况下,表提取部104结束处理。
图7是示出步骤S17中的数据协调支援装置100的动作的例子的流程图。图8是示出后述的非外部关键字定义信息231和非主关键字定义信息232的例子的表。图9是示出模式匹配的结果241的例子的表。图10是示出协调关系信息152的例子的表。
在步骤S21中,表选择部102从信息蓄积部105读取参照关系信息151。表选择部102生成将在步骤S11中生成的参照方信息211仅缩减到由参照关系信息151定义的参照方列以外的列的非外部关键字定义信息231。
例如,表选择部102对于位于“订购系统”的“SVR001”的“订货明细表”,生成图8所示的非外部关键字定义信息231。在该非外部关键字定义信息231中,定义有位于“订购系统”的“SVR001”的“订货明细表”作为非外部关键字包含“订货细节ID”、“订货ID”、“订货数”、“店铺名”这样的列,“订货细节ID”和“订货ID”成为主关键字。
表选择部102将非外部关键字定义信息231传送到表提取部104。
在步骤S22中,列确定部103从信息蓄积部105读取参照关系信息151。列确定部103对于由参照关系信息151定义的参照对象表,参照在步骤S12中读取到的协调方信息111或者协调对象信息112中包含的表定义信息202。列确定部103根据参照对象表的表定义信息202确定未成为参照对象表的主关键字的列(即,第2列)。列确定部103生成将表定义信息202仅缩减到已确定的列的非主关键字定义信息232。
例如,列确定部103对于位于“订购系统”的“SVR001”的“店铺”表,生成图8所示的非主关键字定义信息232。在该非主关键字定义信息232中,定义有位于“订购系统”的“SVR001”的“店铺”表作为非主关键字包含“店铺名”、“地址”、“店长职员ID”这样的列。
列确定部103将非主关键字定义信息232传送到表提取部104。
在步骤S23中,表提取部104设定从表选择部102传送来的非外部关键字定义信息231与从列确定部103传送来的非主关键字定义信息232的组。
在步骤S24中,表提取部104执行在步骤S23中设定的组的非外部关键字定义信息231与非主关键字定义信息232的模式匹配。例如,表提取部104得到图9所示的模式匹配的结果241。在图9中,模式匹配的结果241与图5的例子同样地成为在0~1.0之间表示非主关键字定义信息232的列与非外部关键字定义信息231的列之间的相似度的表的形式。在图9的例子中,非主关键字定义信息232的“店铺名”列与非外部关键字定义信息231的“订货细节ID”列之间的相似度为0。另一方面,非主关键字定义信息232的“店铺名”列与非外部关键字定义信息231的“店铺名”列之间的相似度为1.0。
在步骤S25中,表提取部104从在步骤S24中得到的模式匹配的结果241中提取相似度比预先确定的阈值高的列的组(即,第2列与第4列的组)。在非主关键字定义信息232存在多个列的情况下,表提取部104必须以非外部关键字定义信息231的列不存在重复的方式提取列的组。在对于非主关键字定义信息232的同一列,相似度比阈值高的列的组为2个以上的情况下,表提取部104选择相似度最高的列的组。在相似度比阈值高的列的组1个都没有的情况下,表提取部104不提取列的组而结束处理。在图9的例子中,当设阈值为0.8时,表提取部104提取非主关键字定义信息232的“店铺名”列与非外部关键字定义信息231的“店铺名”列的组。表提取部104对于非主关键字定义信息232的“地址”列和“店长职员ID”列不提取列的组。
当存在步骤S25中提取出的列的组的情况下,在步骤S26中,表提取部104生成表示提取出的列的组的协调关系信息152。表提取部104将协调关系信息152保存在信息蓄积部105中。
例如,表提取部104生成图10所示的协调关系信息152。该协调关系信息152包含协调方列名、协调对象列名的信息。协调关系信息152与图6所示的参照关系信息151合成。即,将参照关系信息151与协调关系信息152合成而得到的信息包含参照对象实例名、参照对象模式名、参照对象表名、参照对象列名、协调方列名、参照方实例名、参照方模式名、参照方表名、参照方列名、协调对象列名的信息。在该合成而得到的信息中,定义有位于“订购系统”的“SVR001”的“店铺”表的“店铺名”列为协调方,位于“订购系统”的“SVR001”的“订货明细”表的“店铺名”列为协调对象。在协调方与协调对象的组为2个以上的情况下,按照相同顺序存储协调方列名和协调对象列名。例如,设“店铺”表的“店铺名”列与“订货明细”表的“店铺名”列为组,“店铺”表的“地址”列与“订货明细”表的“地址”列为组。如果按照“店铺名”、“地址”的顺序存储协调方列名,则协调对象列名也按照“店铺名”、“地址”的顺序进行存储。
图11是示出图3的动作后的数据协调支援装置100的动作的例子的流程图。图12是示出提取结果141的例子的表。
在步骤S31中,表提取部104从信息蓄积部105读取参照关系信息151和协调关系信息152。表提取部104根据参照对象表和参照方表属于哪种模式,对参照关系信息151和协调关系信息152所示的参照对象列与参照方列的组(即,第1列与第3列的组)进行分组。具体而言,表提取部104将参照对象列与参照方列的组分成参照对象表与参照方表属于相同模式的组群、参照对象表与参照方表属于相同实例的不同模式的组群、参照对象表与参照方表属于不同实例的模式的组群这3个组群。
在步骤S32中,表提取部104选择上述的3个组群中的尚未执行步骤S32、S33的处理的组群。表提取部104在步骤S31中提取分到选择出的组群的组中的、对应的协调方列与协调对象列的组的个数最多的组。
在步骤S33中,表提取部104按照与将参照关系信息151和协调关系信息152合成而得到的信息相同的形式,输出表示在步骤S32中提取出的参照对象列与参照方列的组的提取结果141。
例如,表提取部104输出图12所示的提取结果141。在该提取结果141中,示出位于“订购系统”的“SVR001”的“店铺”表与位于“订购系统”的“SVR001”的“订货明细”表之间存在参照关系。并且,示出“店铺”表的“店铺ID”列是参照对象,“店铺名”是协调方,“订货明细”表的“店铺ID”列是参照方(即,外部关键字),“店铺名”是协调对象。
在步骤S34中,表提取部104判定是否存在上述的3个组群中的尚未执行步骤S32、S33的处理的组群。在存在这种组群的情况下,表提取部104返回到步骤S32。在不存在这种组群的情况下,表提取部104结束处理。
图13是示出图11的动作后的数据协调支援装置100的动作的例子的流程图。图14是示出后述的输入信息251和推荐信息161的例子的表。
在步骤S41中,信息输出部106经由输入装置取得为了检索参照对象而由用户输入的输入信息251。
例如,信息输出部106取得图14所示的输入信息251。在该输入信息251中,示出对于位于“订购系统”的“SVR001”的“订货明细”表的“店铺ID”列,用户希望检索参照对象。在省略列名的情况下,信息输出部106也可以解释成对于“订货明细”表的全部列,用户希望检索参照对象。
在步骤S42中,信息输出部106参照在步骤S33中从表提取部104输出的提取结果141。信息输出部106从提取结果141中提取与在步骤S41中取得的输入信息251一致的信息。具体而言,信息输出部106提取由提取结果141所示的参照方实例、参照方模式、参照方表、参照方列的组合中的与输入信息251所示的实例、模式、表、列的组合一致的组合。
在步骤S43中,信息输出部106判定是否存在步骤S42中提取出的信息。在存在提取出的信息的情况下,信息输出部106进入步骤S44。在不存在提取出的信息的情况下,信息输出部106进入步骤S45。
在步骤S44中,信息输出部106根据在步骤S42中提取出的信息,关于上述的3个组群的各个组群,生成推荐与输入信息251对应的参照对象的推荐信息161。信息输出部106经由输出装置输出推荐信息161,结束处理。
例如,信息输出部106在画面中显示图14所示的推荐信息161。在该推荐信息161中,示出对于参照对象表和参照方表属于相同模式的组群(即,“同一模式”),推荐位于“订购系统”的“SVR001”的“店铺”表的“店铺ID”列作为参照对象。并且,示出只要从位于“订购系统”的“SVR001”的“店铺”表的“店铺名”列中,提取保存在输入信息251所示的“订货明细”表的“店铺名”列中的数据即可。
在步骤S45中,信息输出部106经由输出装置输出通知不存在与输入信息251对应的参照对象的信息,结束处理。
在本实施方式中,能够通过以上说明的动作仅根据数据库的定义信息来确定表间的参照关系和作为外部关键字的列。此外,能够确定在存在参照关系的表间共同的列,提取最适合用于数据协调的表(即,能够用于数据协调的列数最多的表)。即,根据本实施方式,能够在数据协调中高效地检测作为协调对象的表与哪个表之间存在参照关系。此外,能够高效地检测只要从哪个表的列提取保存在作为协调对象的表的列中的数据即可。
如上所述,在本实施方式中,关于由列确定部103确定出2个以上的第2列的表,表提取部104仅将在由表选择部102选择出的协调对象表中对于最多的第2列单独存在第4列的表包含在提取结果141中。在本实施方式的变形例中,关于由列确定部103确定出2个以上的第2列的表,表提取部104能够将在由表选择部102选择出的协调对象表中对于第2多的第2列单独存在第4列的表也包含在提取结果141中。或者,能够不仅包含“第2个”而且包含到“上位第n个”。能够设定“n”为大于2的任意数。
图15是示出实施方式1的数据协调支援装置100的硬件结构的例子的图。
在图15中,数据协调支援装置100是计算机,具有LCD901(LiquidCrystalDisplay)、键盘902(K/B)、鼠标903、FDD904(FlexibleDiskDrive)、CDD905(CompactDiscDrive)、打印机906这样的硬件设备。这些硬件设备被缆线或信号线连接。也可以取代LCD901而使用CRT(CathodeRayTube)或者其它的显示装置。也可以取代鼠标903而使用触摸面板、触摸垫、轨迹球、图形输入板或者其它的指示设备。
数据协调支援装置100具有执行程序的CPU911(CentralProcessingUnit)。CPU911是处理装置的例子。CPU911经由总线912与ROM913(ReadOnlyMemory)、RAM914(RandomAccessMemory)、通信板915、LCD901、键盘902、鼠标903、FDD904、CDD905、打印机906、HDD920(HardDiskDrive)连接,对这些硬件设备进行控制。也可以取代HDD920而使用SSD(SolidStateDrive)、闪速存储器、光盘装置、存储卡读写器或者其它的记录介质。
RAM914是易失性存储器的一例。ROM913、FDD904、CDD905、HDD920是非易失性存储器的一例。它们是存储装置的例子。通信板915、键盘902、鼠标903、FDD904、CDD905是输入装置的一例。并且,通信板915、LCD901、打印机906是输出装置的一例。
通信板915与LAN(LocalAreaNetwork:局域网)等连接。通信板915不限于LAN,也可以与IP-VPN(InternetProtocolVirtualPrivateNetwork:因特网协议虚拟专网)、广域LAN、ATM(AsynchronousTransferMode:异步传输模式)网络这样的WAN(WideAreaNetwork:广域网)或者因特网连接。LAN、WAN、因特网是网络的例子。
HDD920中存储有操作系统921(OS)、视窗系统922、程序组923、文件组924。由CPU911、操作系统921、视窗系统922执行程序组923的程序。程序组923包含执行在本发明的实施方式的说明中作为“~部”说明的功能的程序。程序被CPU911读出并执行。在文件组924中,作为“~文件”、“~数据库”、“~表”的各项目,包含在本发明的实施方式的说明中作为“~数据”、“~信息”、“~ID(标识符)”、“~标记”、“~结果”说明的数据、信息、信号值、变量值或参数。将“~文件”、“~数据库”、“~表”存储在RAM914或HDD920等记录介质中。存储在RAM914或HDD920等记录介质中的数据、信息、信号值、变量值或参数经由读写电路被CPU911读出到主存储器或缓冲存储器,用于提取、检索、参照、比较、运算、计算、控制、输出、打印、显示这样的CPU911的处理(动作)。在提取、检索、参照、比较、运算、计算、控制、输出、打印、显示这样的CPU911的处理中,将数据、信息、信号值、变量值或参数暂时存储在主存储器、高速缓冲存储器或缓存存储器。
在本发明的实施方式的说明中使用的框图或流程图的箭头部分主要表示数据或信号的输入输出。将数据或信号记录在RAM914等存储器、FDD904的软盘(FD)、CDD905的紧凑型光盘(CD)、HDD920的磁盘、光盘、DVD(DigitalVersatileDisc:数字通用盘)或者其它的记录介质。并且,通过总线912、信号线、缆线或者其它的传送介质来传送数据或信号。
在本发明的实施方式的说明中作为“~部”说明的可以是“~电路”、“~装置”、“~设备”,并且也可以是“~步骤”、“~工序”、“~过程”、“~处理”。即,作为“~部”说明的可以由存储在ROM913中的固件来实现。或者,作为“~部”说明的也可以仅由软件实现,或者仅由元件、设备、基板、布线这样的硬件来实现。或者,作为“~部”说明的也可以由软件与硬件的组合或者软件、硬件与固件的组合来实现。固件与软件作为程序存储在软盘、紧凑型光盘、磁盘、光盘、DVD等记录介质中。程序由CPU911读出,由CPU911执行。即,程序使计算机作为在本发明的实施方式的说明中描述的“~部”发挥功能。或者,程序使计算机执行在本发明的实施方式的说明中描述的“~部”的过程或方法。
以上,对本发明的实施方式进行了说明,但是,本发明不限于本实施方式,可以根据需要进行各种变更。
标号说明
100:数据协调支援装置;101:信息存储部;102:表选择部;103:列确定部;104:表提取部;105:信息蓄积部;106:信息输出部;111:协调方信息;112:协调对象信息;141:提取结果;151:参照关系信息;152:协调关系信息;161:推荐信息;201:表所在信息;202:表定义信息;211:参照方信息;212:主关键字定义信息;221:结果;231:非外部关键字定义信息;232:非主关键字定义信息;241:结果;251:输入信息;901:LCD;902:键盘;903:鼠标;904:FDD;905:CDD;906:打印机;911:CPU;912:总线;913:ROM;914:RAM;915:通信板;920:HDD;921:操作系统;922:视窗系统;923:程序组;924:文件组。
Claims (5)
1.一种数据协调支援装置,其对具有多个表的数据库的数据协调进行支援,其特征在于,该数据协调支援装置具有:
信息存储部,其存储主关键字信息和属性信息,其中,该主关键字信息表示所述多个表分别包含的多个列的各个列是否成为主关键字,该属性信息表示保存在所述多个表分别包含的多个列的各个列中的数据的属性;
表选择部,其选择所述多个表中的作为数据协调的协调对象的1个表;
列确定部,其对于所述多个表中的由所述表选择部选择出的表以外的各个表,根据存储在所述信息存储部中的主关键字信息,从相应的表包含的多个列中,确定成为主关键字的第1列和没有成为主关键字的第2列;
表提取部,其从所述多个表中的由所述表选择部选择出的表以外的表中,根据存储在所述信息存储部中的属性信息,提取在由所述表选择部选择出的表中包含与由所述列确定部确定的第1列相似的第3列且在由所述表选择部选择出的表中包含与由所述列确定部确定的第2列相似的第4列的表;以及
信息输出部,其输出推荐信息,该推荐信息推荐将由所述表选择部选择出的表与由所述表提取部提取出的表的组合用于数据协调。
2.根据权利要求1的数据协调支援装置,其特征在于,
对于由所述列确定部确定出2个以上的第1列的表,所述表提取部提取在由所述表选择部选择出的表中对于全部的第1列单独存在所述第3列的表。
3.根据权利要求1的数据协调支援装置,其特征在于,
对于由所述列确定部确定出2个以上的第2列的表,所述表提取部提取在由所述表选择部选择出的表中对于最多的第2列单独存在所述第4列的表。
4.根据权利要求1的数据协调支援装置,其特征在于,
所述表提取部提取属于与由所述表选择部选择出的表相同模式的表、属于与由所述表选择部选择出的表相同实例的不同模式的表、属于与由所述表选择部选择出的表不同实例的模式的表这3种表中的至少2种表,
所述信息输出部按照由所述表提取部提取出的表的每个种类输出如下的信息作为所述推荐信息,该信息推荐将由所述表选择部选择出的表与由所述表提取部提取出的表的组合用于数据协调。
5.一种数据协调支援方法,对具有多个表的数据库的数据协调进行支援,其特征在于,
使用具有存储主关键字信息和属性信息的信息存储部的计算机来进行以下步骤,其中,所述主关键字信息表示所述多个表分别包含的多个列中的各个列是否成为主关键字,所述属性信息表示保存在所述多个表分别包含的多个列的各个列中的数据的属性,
选择所述多个表中的作为数据协调的协调对象的1个表,
对于所述多个表中的通过所述选择而选择出的表以外的各个表,根据存储在所述信息存储部中的主关键字信息,从相应的表包含的多个列中,确定成为主关键字的第1列和没有成为主关键字的第2列,
从所述多个表中的通过所述选择而选择出的表以外的表中,根据存储在所述信息存储部中的属性信息,提取在通过所述选择而选择出的表中包含与通过所述确定而确定的第1列相似的第3列且在通过所述选择而选择出的表中包含与通过所述确定而确定的第2列相似的第4列的表,
输出推荐信息,该推荐信息推荐将通过所述选择而选择出的表与通过所述提取而提取出的表的组合用于数据协调。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/065026 WO2014192116A1 (ja) | 2013-05-30 | 2013-05-30 | データ連携支援装置及びデータ連携支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105229618A true CN105229618A (zh) | 2016-01-06 |
Family
ID=51988188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076749.8A Pending CN105229618A (zh) | 2013-05-30 | 2013-05-30 | 数据协调支援装置和数据协调支援方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20160042022A1 (zh) |
JP (1) | JP5972461B2 (zh) |
CN (1) | CN105229618A (zh) |
GB (1) | GB2529095A (zh) |
SG (1) | SG11201508822WA (zh) |
WO (1) | WO2014192116A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6253601B2 (ja) * | 2015-01-23 | 2017-12-27 | 三菱電機株式会社 | データ連携推定装置、データ連携推定方法及びプログラム |
US10650050B2 (en) * | 2016-12-06 | 2020-05-12 | Microsoft Technology Licensing, Llc | Synthesizing mapping relationships using table corpus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1822174A (zh) * | 2005-12-08 | 2006-08-23 | 杭州海康威视数字技术有限公司 | 一种嵌入式设备中硬盘关键信息区的保护方法 |
US20070033344A1 (en) * | 2005-08-05 | 2007-02-08 | Seiko Epson Corporation | Information processing device, data processing method and program |
CN102405465A (zh) * | 2009-05-14 | 2012-04-04 | 株式会社Ntt都科摩 | 数据库装置、数据库匹配系统及数据库匹配方法 |
JP2012185765A (ja) * | 2011-03-08 | 2012-09-27 | Nec Corp | 情報処理装置、情報処理装置の管理方法、情報処理装置の管理プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6721727B2 (en) * | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6957225B1 (en) * | 2002-05-07 | 2005-10-18 | Oracle International Corporation | Automatic discovery and use of column correlations in tables |
US7860903B2 (en) * | 2005-12-23 | 2010-12-28 | Teradata Us, Inc. | Techniques for generic data extraction |
JP4855080B2 (ja) * | 2006-01-13 | 2012-01-18 | 三菱電機株式会社 | スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム |
WO2007127956A2 (en) * | 2006-04-28 | 2007-11-08 | Business Objects, S.A. | Apparatus and method for merging metadata within a repository |
US20080294673A1 (en) * | 2007-05-25 | 2008-11-27 | Microsoft Corporation | Data transfer and storage based on meta-data |
WO2012054788A1 (en) * | 2010-10-21 | 2012-04-26 | Rillip Inc. | Method and system for performing a comparison |
-
2013
- 2013-05-30 US US14/783,384 patent/US20160042022A1/en not_active Abandoned
- 2013-05-30 CN CN201380076749.8A patent/CN105229618A/zh active Pending
- 2013-05-30 SG SG11201508822WA patent/SG11201508822WA/en unknown
- 2013-05-30 WO PCT/JP2013/065026 patent/WO2014192116A1/ja active Application Filing
- 2013-05-30 JP JP2015519559A patent/JP5972461B2/ja not_active Expired - Fee Related
- 2013-05-30 GB GB1518688.5A patent/GB2529095A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033344A1 (en) * | 2005-08-05 | 2007-02-08 | Seiko Epson Corporation | Information processing device, data processing method and program |
CN1822174A (zh) * | 2005-12-08 | 2006-08-23 | 杭州海康威视数字技术有限公司 | 一种嵌入式设备中硬盘关键信息区的保护方法 |
CN102405465A (zh) * | 2009-05-14 | 2012-04-04 | 株式会社Ntt都科摩 | 数据库装置、数据库匹配系统及数据库匹配方法 |
JP2012185765A (ja) * | 2011-03-08 | 2012-09-27 | Nec Corp | 情報処理装置、情報処理装置の管理方法、情報処理装置の管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5972461B2 (ja) | 2016-08-17 |
SG11201508822WA (en) | 2015-12-30 |
GB2529095A (en) | 2016-02-10 |
WO2014192116A1 (ja) | 2014-12-04 |
GB201518688D0 (en) | 2015-12-02 |
JPWO2014192116A1 (ja) | 2017-02-23 |
US20160042022A1 (en) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177061B (zh) | 分区表中的唯一值估计 | |
RU2679209C2 (ru) | Обработка электронных документов для распознавания инвойсов | |
CN107766309B (zh) | 数据表格生成方法、装置以及存储介质、电子装置 | |
CN103577591B (zh) | 一种生成记账凭证的方法及装置 | |
CN105981067A (zh) | 针对视频的各个部分提供评论和统计信息的装置及其方法 | |
US9348881B1 (en) | Visual content query for multi-dimensional datasets | |
US20160171764A1 (en) | Rendering hierarchical visualizations of data sets | |
CN112597182B (zh) | 数据查询语句的优化方法、装置、终端及存储介质 | |
US20130325840A1 (en) | Method and system for interactive search result filter | |
CN102696039A (zh) | 取证系统、取证方法及取证程序 | |
CN105493028A (zh) | 用于云分析的数据一致性和回退 | |
US20150302036A1 (en) | Method, system and computer program for information retrieval using content algebra | |
JP2015026188A (ja) | データベース分析装置及び方法 | |
US10698963B2 (en) | System and method for monitoring internet activity | |
CN107004025A (zh) | 图像检索装置及检索图像的方法 | |
CN104981837A (zh) | 电子相册生成装置以及电子相册的制造方法 | |
CN110969000B (zh) | 数据合并的处理方法及装置 | |
CN106603690A (zh) | 数据分析装置、数据分析处理系统和数据分析方法 | |
CN105335459B (zh) | 基于xbrl智能报告平台的合并报表数据抽取方法 | |
CN106997350A (zh) | 一种数据处理的方法及装置 | |
CN114064657A (zh) | 多表格整合方法、装置、设备及存储介质 | |
CN107168635A (zh) | 信息呈现方法和装置 | |
CN105229618A (zh) | 数据协调支援装置和数据协调支援方法 | |
CN108304527B (zh) | 一种数据提取方法 | |
CN111581217B (zh) | 数据检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160106 |