JP6017055B2 - Data linkage support apparatus and data linkage support method - Google Patents
Data linkage support apparatus and data linkage support method Download PDFInfo
- Publication number
- JP6017055B2 JP6017055B2 JP2015541381A JP2015541381A JP6017055B2 JP 6017055 B2 JP6017055 B2 JP 6017055B2 JP 2015541381 A JP2015541381 A JP 2015541381A JP 2015541381 A JP2015541381 A JP 2015541381A JP 6017055 B2 JP6017055 B2 JP 6017055B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- information
- tables
- columns
- 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.)
- Active
Links
Images
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ連携支援装置及びデータ連携支援方法に関するものである。 The present invention relates to a data cooperation support apparatus and a data cooperation support method.
システム間の連携、あるいは、システム同士の統合に伴って、システム別のデータベース間のデータ連携、あるいは、同じデータベース内の別々のテーブル間のデータ連携が必要となる。データ連携では、連携先となるテーブル(即ち、連携先テーブル)のカラムに格納するデータを、どのテーブル(即ち、連携元テーブル)のカラムから抽出すればよいかというデータ連携関係を定義する必要がある。 With the cooperation between systems or the integration of systems, data cooperation between databases for each system or data cooperation between different tables in the same database is required. In data linkage, it is necessary to define a data linkage relationship as to which table (that is, the linkage source table) the data stored in the column of the linkage destination table (ie, the linkage destination table) should be extracted. is there.
データ連携関係を定義するためには、テーブル間のカラムの対応関係を何らかの手段で検出する必要がある。さらに、連携元テーブルから連携先テーブルのカラムの組み合わせであるテーブルレイアウトがテーブル操作によって作成できる必要がある。このようなデータ構造の変換が実施できないと、連携先テーブルにデータを格納することができない。連携先テーブルとレイアウトが一致する連携元テーブルがなく、2つ以上の連携元テーブルからデータを集めて連携先テーブルを作成する場合には、テーブル間のカラムの類似性によって対応関係を判断するだけでは不十分である。実際にそれら2つ以上の連携元テーブルに対して結合(例えば、JOIN)操作を実施できることが必要である。結合される連携元テーブルは、それぞれ結合操作のための共通カラム(即ち、結合キー)を持つ必要がある。 In order to define the data linkage relationship, it is necessary to detect the column correspondence between the tables by some means. Furthermore, it is necessary to create a table layout that is a combination of columns of the cooperation destination table from the cooperation source table by table operation. If such a data structure conversion cannot be performed, data cannot be stored in the cooperation destination table. If there is no linkage source table whose layout matches that of the linkage destination table and data is collected from two or more linkage source tables and the linkage destination table is created, the correspondence relationship is simply determined based on the similarity of the columns between the tables. Is not enough. In fact, it is necessary to be able to perform a join (for example, JOIN) operation on these two or more linkage source tables. Each linked source table needs to have a common column (that is, a join key) for the join operation.
データ連携関係の定義は、一般的に、人間が各システムのデータベースのテーブル定義書に記述されたテーブル定義情報等を参照して作成する。その作業は、データベース技術と業務内容を理解した高度な技術者が労働集約的に実施する必要があった。 The definition of the data linkage relationship is generally created by referring to the table definition information described in the table definition document of the database of each system. The work needed to be labor intensive by highly skilled engineers who understood the database technology and work content.
データ連携関係を自動抽出する技術として、データベースのテーブルのレコード(即ち、実データ)を利用する技術が存在する(例えば、特許文献1参照)。 As a technique for automatically extracting a data linkage relationship, there is a technique that uses a record (that is, actual data) in a database table (see, for example, Patent Document 1).
特許文献1では、連携元テーブルと連携先テーブルの全て又はサンプリングしたレコードのデータを取り込む。データの内容を解析し、対応関係を推測しながら、連携元テーブルのレコードから連携先テーブルのレコードを作成する。ただし、テーブル定義情報の利用は限定的である。
In
類似するカラムの対応関係を自動抽出する技術として、いわゆるスキーママッチング技術が存在する(例えば、非特許文献1参照)。 A so-called schema matching technique exists as a technique for automatically extracting the correspondence between similar columns (for example, see Non-Patent Document 1).
スキーママッチング技術では、例えば、2つのテーブル、あるいは、それぞれテーブルの集合体である2つのスキーマの構造に関するテーブル定義情報を入力として受け取る。テーブルのカラムの名称及びデータ型、テーブル間の関係等から、カラムの類似度を判断する。これにより、異なるテーブルのカラム間の対応関係を抽出する。 In the schema matching technique, for example, table definition information related to the structure of two tables or two schemas, each of which is a collection of tables, is received as an input. The column similarity is determined from the name and data type of the table column, the relationship between the tables, and the like. Thereby, the correspondence between columns of different tables is extracted.
スキーママッチング技術では、主にテーブル定義情報を利用する。レコード(即ち、実データ)を利用する場合もあるが、利用は限定的である。一般的に、レコードから年月日のデータが「YYMMDD」なのか「YYYY/MM/DD」なのかというようなカラムのフォーマット情報を抽出し、メタデータとして利用する。ここで、「Y」は年の1桁数値、「M」は月の1桁数値、「D」は日の1桁数値である。例えば、2013年4月1日は「YYYY/MM/DD」のフォーマットで表すと「2013/04/01」となる。 In schema matching technology, table definition information is mainly used. Records (that is, actual data) may be used, but use is limited. In general, column format information such as whether the date data is “YYMMDD” or “YYYY / MM / DD” is extracted from the record and used as metadata. Here, “Y” is a one-digit value of the year, “M” is a one-digit value of the month, and “D” is a one-digit value of the day. For example, April 1, 2013 is expressed as “2013/04/01” in the format of “YYYY / MM / DD”.
スキーママッチング技術では、類似度の判断基準としてカラムの名称が最もよく利用されてきた。システム間ではカラムの命名規則が異なることが多いため、スキーママッチング技術は、システム間のデータ連携関係を自動抽出する処理には向かないと考えられてきた。しかし、命名規則の差異を吸収するためのデータ項目辞書の整備により、命名規則が異なるシステム間で類似するカラムの抽出が可能となっている。データ項目辞書の整備は、以前は人手で行われていたが、近年は辞書の自動生成技術が発展してきている。そのため、データ連携関係の自動抽出のような分野でも、スキーママッチング技術の利用が可能になってきている。 In the schema matching technique, the name of a column has been most often used as a criterion for determining similarity. Since column naming rules often differ between systems, it has been considered that schema matching technology is not suitable for processing to automatically extract data linkage relationships between systems. However, the maintenance of data item dictionaries to absorb differences in naming rules makes it possible to extract similar columns between systems with different naming rules. The maintenance of data item dictionaries was previously done manually, but in recent years, automatic dictionary generation technology has been developed. For this reason, schema matching technology can be used even in fields such as automatic extraction of data linkage relationships.
特許文献1では、連携元テーブルと連携先テーブルのレコードを利用してデータ連携関係を自動抽出する。データ連携関係の抽出精度を高めるためには、全てのレコードを利用することが必要である。その場合、大量のレコードに対する処理が必要となる。そのような処理を大規模なシステムに対して実行した場合、処理時間が実用的な時間に収まらない可能性が高い。必然的に処理の対象とするシステムを絞り込まざるを得ない。その結果、自動抽出されるデータ連携関係は局所的な解となり、全体的な視点で見直した場合、不要なデータ連携が発見されることになる。
In
利用するレコードの数を減らすためにサンプリング技術を活用することも可能である。しかし、テーブル間の参照関係を考慮しながらサンプリングを行うことは困難である。サンプリングの結果、本来は参照関係のあるテーブルが、参照関係のないように見えてしまう可能性がある。 Sampling techniques can also be used to reduce the number of records used. However, it is difficult to perform sampling while considering the reference relationship between tables. As a result of sampling, a table that originally has a reference relationship may appear to have no reference relationship.
以上のように、特許文献1のようなレコードの利用が必須となる技術は、レコードの量によって適用できるシステムの範囲が制限されるという課題がある。
As described above, the technique that requires the use of records as in
また、特許文献1のような技術では、事前にレコードの準備が必須であるという課題がある。例えば、連携先テーブルが新規に作成するテーブルであるとすると、利用できるレコードが存在しないため、データ連携関係を自動抽出できない。
Moreover, in the technique like
非特許文献1のようなスキーママッチング技術では、レコードの準備は必須ではない。テーブル定義情報のようなメタデータのみから、類似するカラムの対応関係を抽出できる。そのため、レコードを利用する技術と比較すると、扱うデータ量が少なくて済むという利点がある。大規模なシステム全体を処理の対象とすることができる。
In the schema matching technique as in
しかし、スキーママッチング技術は、類似するカラムを見つけ出す技術である。そのため、データ連携関係のみではなく、テーブル間の参照整合性制約及び意味的な参照関係も区別なしに抽出してしまうという課題がある。特に、データベース内に同義のカラムが多数存在する場合、スキーママッチング技術の観点からは正しい対応関係であっても、データ連携関係ではない対応関係が多数検出されてしまう。 However, the schema matching technique is a technique for finding similar columns. Therefore, there is a problem that not only the data linkage relationship but also the referential integrity constraint between tables and the semantic reference relationship are extracted without distinction. In particular, when there are many synonymous columns in the database, many correspondences that are not data linkage relationships are detected even if the correspondences are correct from the viewpoint of schema matching technology.
また、スキーママッチング技術では、データ連携を行うために連携元テーブルから連携先テーブルのレイアウトをテーブル操作によって作成する必要がある点について考慮されていないという課題がある。 Further, in the schema matching technique, there is a problem that it is not considered that the layout of the cooperation destination table needs to be created by the table operation from the cooperation source table in order to perform data cooperation.
本発明は、例えば、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することを目的とする。 An object of the present invention is, for example, to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted in data linkage.
本発明の一の態様に係るデータ連携支援装置は、
複数のテーブルを有するデータベースのデータ連携を支援する装置であり、
前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部と、
前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択するテーブル選択部と、
前記情報記憶部に記憶された主キー情報に基づき、前記テーブル選択部により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定するカラム特定部と、
前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記テーブル選択部により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記カラム特定部により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出するテーブル抽出部と、
前記テーブル抽出部により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成するテーブル結合部と、
前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断する推奨判断部とを備える。A data linkage support apparatus according to an aspect of the present invention includes:
A device that supports data linkage of a database having a plurality of tables,
Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables An information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables;
A table selection unit that selects, from the plurality of tables, one table including two or more columns serving as primary keys and serving as a linkage destination of data linkage;
A column specifying unit for specifying the two or more columns from a plurality of columns included in the table selected by the table selection unit based on the primary key information stored in the information storage unit;
Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two of the plurality of tables connected by a reference relationship from a table other than the table selected by the table selection unit A table extraction unit that is a combination of the above-described tables and extracts a combination in which a column corresponding to the column specified by the column specifying unit is divided into the two or more tables and exists as a primary key of each table;
A table combination unit that combines tables included in the combination extracted by the table extraction unit to create one table;
Schema matching is performed between the table selected by the table selection unit and the table created by the table combination unit, and the combination extracted by the table extraction unit is selected by the table selection unit based on the result of schema matching. And a recommendation determining unit that determines whether or not to recommend the use of the table for data linkage.
本発明の一の態様によれば、データ連携支援装置が、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することができる。 According to one aspect of the present invention, the data linkage support apparatus efficiently and accurately determines from which table column the data stored in the column of the table that is the linkage destination is extracted in the data linkage. Judgment can be made.
以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本実施の形態に係るデータ連携支援装置100の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a data
図1において、データ連携支援装置100は、複数のテーブルを有するデータベースのデータ連携を支援する装置である。データ連携支援装置100により支援されるデータ連携は、データベースの異なるインスタンス間のデータ連携であってもよいし、同じインスタンスの異なるスキーマ間のデータ連携であってもよいし、同じスキーマの異なるテーブル間のデータ連携であってもよい。
In FIG. 1, a data
データ連携支援装置100は、情報記憶部101、テーブル選択部102、カラム特定部103、テーブル抽出部104、テーブル結合部105、推奨判断部106を備える。
The data
図1には示していないが、データ連携支援装置100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。ハードウェアはデータ連携支援装置100の各部によって利用される。例えば、処理装置は、データ連携支援装置100の各部でデータ又は情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータ又は情報を記憶するために利用される。入力装置は、そのデータ又は情報を入力するために利用される。出力装置は、そのデータ又は情報を出力するために利用される。
Although not shown in FIG. 1, the data
情報記憶部101は、連携元情報111、連携先情報112、参照関係情報113、入力情報114を、記憶装置を利用して記憶する。
The
連携元情報111は、データ連携の連携元となるデータベース(即ち、連携元データベース)の複数のテーブル(即ち、連携元テーブル)を定義する情報である。連携元情報111には、連携元データベースの主キー情報及び属性情報が含まれる。連携元データベースの主キー情報とは、複数の連携元テーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。連携元データベースの属性情報とは、複数の連携元テーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。
The
連携先情報112は、データ連携の連携先となるデータベース(即ち、連携先データベース)の複数のテーブル(即ち、連携先テーブル)を、前述したデータ連携関係が既に与えられた範囲内で定義する情報である。1つの連携先テーブルの各カラムに格納するデータを、どのテーブル(即ち、連携元テーブル、他の連携先テーブル、あるいは、これらのテーブルの組み合わせ)のカラムから抽出すればよいかが既に決まっている場合、その連携先テーブルは、データ連携関係が既に与えられた連携先テーブルとなる。連携先情報112には、連携先データベースの主キー情報及び属性情報のうち、データ連携関係が既に与えられた連携先テーブルの主キー情報及び属性情報が含まれる。連携先データベースの主キー情報とは、複数の連携先テーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。連携先データベースの属性情報とは、複数の連携先テーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。
The
参照関係情報113は、テーブル間の参照関係を示す情報である。本実施の形態では、テーブル間の参照整合性制約だけでなく、意味的な参照関係も「参照関係」とみなすものとする。2つのテーブルのうち一方のテーブルに含まれるカラムが他方のテーブルに含まれるカラムに対応しており、当該一方のテーブルのカラムが外部キーに設定されている場合、参照整合性制約があることになる。2つのテーブルのうち一方のテーブルに含まれるカラムが他方のテーブルに含まれるカラムに対応しているが、当該一方のテーブルのカラムが外部キーに設定されていない場合、意味的な参照関係があることになる。参照関係情報113は、任意の方法で作成することができる。
The
入力情報114は、クライアント装置200(例えば、パーソナルコンピュータ)のユーザにより手動で作成されるか、あるいは、クライアント装置200で実行されるクライアントプログラムにより自動的に作成される。入力情報114は、クライアント装置200から入力装置を介して入力される。入力情報114は、データ連携関係が未だ与えられていない連携先テーブル(即ち、目標テーブル)を定義する情報である。入力情報114には、目標テーブルの主キー情報及び属性情報が含まれる。
The
テーブル選択部102は、情報記憶部101に記憶された入力情報114を読み取る。テーブル選択部102は、読み取った入力情報114により定義された目標テーブルを選択する。本実施の形態では、目標テーブルに含まれる複数のカラムのうち、2つ以上のカラムが主キーになっているものとする。よって、テーブル選択部102は、連携元データベース及び連携先データベースの複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択することになる。
The
カラム特定部103は、テーブル選択部102により読み取られた入力情報114に含まれる主キー情報に基づき、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムから、主キーになっているカラム(即ち、前述した2つ以上のカラム)を特定する。
The
テーブル抽出部104は、情報記憶部101に記憶された連携元情報111と連携先情報112と参照関係情報113とを読み取る。テーブル抽出部104は、読み取った連携元情報111及び連携先情報112に含まれる主キー情報及び属性情報と、読み取った参照関係情報113とに基づき、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、以下の(1)及び(2)の条件を満たす2つ以上のテーブルの組み合わせを抽出する。
(1)当該2つ以上のテーブルが参照関係によって結ばれている。例えば、3つのテーブルのうち1つ目のテーブルが2つ目のテーブルを参照し、当該2つ目のテーブルが3つ目のテーブルを参照しているとき、当該3つのテーブルは参照関係によって結ばれていることになる。
(2)カラム特定部103により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する。例えば、2つのカラムがカラム特定部103により特定され、2つのテーブルの一方に、当該2つのカラムの一方と類似するカラムが主キーとして存在し、当該2つのテーブルの他方に、当該2つのカラムの他方と類似するカラムが主キーとして存在しているとき、当該2つのカラムと対応するカラムが当該2つのテーブルに分かれて各テーブルの主キーとして存在していることになる。The
(1) The two or more tables are connected by a reference relationship. For example, when the first table of the three tables refers to the second table and the second table refers to the third table, the three tables are connected by a reference relationship. Will be.
(2) The column corresponding to the column specified by the
テーブル結合部105は、テーブル抽出部104により抽出された組み合わせに含まれるテーブルを結合して1つのテーブル(即ち、仮想テーブル)を作成する。
The
推奨判断部106は、テーブル選択部102により選択された目標テーブルとテーブル結合部105により作成された仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングの結果に基づき、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨すべきかどうか判断する。「推奨すべき」場合、推奨判断部106は、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。「推奨すべきでない」場合、推奨判断部106は、テーブル選択部102により選択された目標テーブルのデータ連携に利用できるテーブルがない旨、あるいは、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨しない旨を示す情報を、出力装置を介してクライアント装置200へ出力する。
The
本実施の形態において、テーブル抽出部104により2つ以上の組み合わせが抽出された場合、テーブル結合部105は、テーブル抽出部104により抽出された組み合わせごとに、組み合わせに含まれるテーブルを結合して仮想テーブルを作成する。推奨判断部106は、テーブル抽出部104により抽出された組み合わせごとに、テーブル選択部102により選択された目標テーブルとテーブル結合部105により作成された仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングの結果に基づき、テーブル抽出部104により抽出された組み合わせのうち1つの組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を出力する。
In the present embodiment, when two or more combinations are extracted by the
本実施の形態において、推奨判断部106は、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する場合、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムから、テーブル結合部105により作成された仮想テーブルに、対応するカラムが存在しないカラムを抽出する。推奨判断部106は、そのようなカラムを抽出した場合、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、抽出したカラムと対応するカラムを含み、テーブル結合部105により作成された仮想テーブルに結合可能なテーブルを検出する。具体的には、推奨判断部106は、情報記憶部101に記憶された連携元情報111と連携先情報112とを読み取る。推奨判断部106は、読み取った連携元情報111及び連携先情報112に含まれる主キー情報及び属性情報に基づき、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、抽出したカラムと対応するカラムを含むテーブルを検出する。推奨判断部106は、そのようなテーブルを検出した場合、検出したテーブルとテーブル結合部105により作成された仮想テーブルとが結合できるかどうか判断する。「結合できる」場合、推奨判断部106は、検出したテーブルを、テーブル抽出部104により抽出された組み合わせに追加した上で、推奨情報161を出力する。「結合できない」場合、推奨判断部106は、検出したテーブルを無視して、推奨情報161を出力する。即ち、推奨判断部106は、抽出したカラムと対応するカラムを含み、テーブル結合部105により作成された仮想テーブルに結合可能なテーブルを検出した場合、検出したテーブルとテーブル抽出部104により抽出されたテーブルとの組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を出力する。
In the present embodiment, the
本実施の形態において、推奨判断部106のスキーママッチングを行う部分には、従来のスキーママッチング技術を実装することができる。
In the present embodiment, a conventional schema matching technique can be implemented in the portion of the
前述したように、本実施の形態では、入力情報114により定義された目標テーブルに含まれる複数のカラムのうち、2つ以上のカラムが主キーになっている。目標テーブルに含まれる複数のカラムのうち、1つのカラムのみが主キーになっている場合、その目標テーブルについては、任意の方法を用いてデータ連携関係を抽出することができる。
As described above, in this embodiment, two or more columns among the plurality of columns included in the target table defined by the
以下では、データ連携支援装置100の動作(即ち、本実施の形態に係るデータ連携支援方法)の例を説明する。 Hereinafter, an example of the operation of the data cooperation support apparatus 100 (that is, the data cooperation support method according to the present embodiment) will be described.
図2は、入力情報114の例を示す表である。
FIG. 2 is a table showing an example of the
図2において、入力情報114には、カラム名、データ型、主/外部キーの情報(即ち、属性情報及び主キー情報)が含まれる。前述したように、入力情報114は、目標テーブルを定義する情報である。例えば、入力情報114では、目標テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。
In FIG. 2, the
図2に示した入力情報114がクライアント装置200によって入力され、情報記憶部101に記憶されると、テーブル選択部102は、その入力情報114を読み取る。テーブル選択部102は、読み取った入力情報114により定義された目標テーブルを選択する。
When the
図3は、入力情報114と参照関係情報113とが合成された情報の例を示す表である。
FIG. 3 is a table showing an example of information obtained by combining the
図3において、入力情報114に含まれる主/外部キーの情報は、目標テーブルの参照関係情報113でもある。前述したように、参照関係情報113は、テーブル間の参照関係を示す情報である。例えば、参照関係情報113では、目標テーブルの主キーである「会社コード」、「注文詳細ID」、「注文ID」カラムが外部キーでもあることが示されている。参照関係情報113では、「店舗ID」、「商品コード」、「ブランドID」カラムも外部キーであることが示されている。
In FIG. 3, the main / foreign key information included in the
図3で黒塗りされている項目は、外部キーの参照先のテーブルに、対応するカラムが存在するカラムである。例えば、「店舗ID」カラムの参照先のテーブルには、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムに対応するカラムが存在する。 The items in black in FIG. 3 are columns in which corresponding columns exist in the foreign key reference table. For example, a table corresponding to the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns exists in the reference table of the “store ID” column.
参照関係情報113は、前述したように、任意の方法で作成することができる。例えば、カラム特定部103に、参照関係情報113を作成する機能を実装することができる。その場合、カラム特定部103は、図2に示した入力情報114に基づき、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムのそれぞれについて、他のテーブルのカラムを参照できるかどうか判断する。例えば、カラム特定部103は、目標テーブルと他のテーブルとのスキーママッチングを行う。スキーママッチングの結果、「店舗ID」カラムと対応するカラムを主キーとして含み、かつ、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムと対応するカラムを非主キーとして含むテーブルが抽出されると、カラム特定部103は、「店舗ID」、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムについて、参照関係情報113を作成又は更新する。参照関係情報113では、「店舗ID」カラムが外部キーに設定される。参照関係情報113では、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムが「店舗ID」カラムに紐付けられる。
The
図4は、データ連携支援装置100の動作の例を示すフローチャートである。図5は、連携元情報111と参照関係情報113とが合成された情報と、後述する暫定仮想テーブル情報301との例を示す表である。
FIG. 4 is a flowchart illustrating an example of the operation of the data
ステップS11において、カラム特定部103は、入力情報114に含まれる主/外部キーの情報(即ち、目標テーブルの主キー情報)を参照する。カラム特定部103は、参照した情報に基づき、テーブル選択部102により選択された目標テーブルの主キーになっているカラムを特定する。カラム特定部103は、特定したカラムの一覧を示すキー項目情報302を生成する。
In step S11, the
例えば、カラム特定部103は、図3に示した入力情報114に含まれる主/外部キーの情報から、図5に示すようなキー項目情報302を生成する。キー項目情報302では、目標テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。
For example, the
ステップS12において、テーブル抽出部104は、情報記憶部101から連携元情報111と連携先情報112と参照関係情報113とを取得する。また、テーブル抽出部104は、カラム特定部103からキー項目情報302を取得する。
In step S <b> 12, the
例えば、テーブル抽出部104は、図5に示すような連携元情報111と参照関係情報113とが合成された情報を取得する。連携元情報111は、図3に示した入力情報114と同様の形式で、各連携元テーブルを定義する情報である。参照関係情報113は、図3に示した参照関係情報113と同様の形式で、テーブル間の参照関係を示す情報である。注文テーブルの連携元情報111では、注文テーブルの「注文ID」カラムが主キーであることが示されている。注文テーブルの参照関係情報113では、注文テーブルの「会社コード」カラムが外部キーであることが示されている。注文テーブルの参照関係情報113には、注文テーブルの「会社コード」カラムが会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード303が含まれている。会社テーブルの連携元情報111では、会社テーブルの「会社コード」カラムが主キーであることが示されている。会社テーブルの参照関係情報113では、会社テーブルに外部キーがないことが示されている。注文詳細テーブルの連携元情報111では、注文詳細テーブルの「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。注文詳細テーブルの参照関係情報113では、注文詳細テーブルの「注文ID」、「店舗ID」カラムが外部キーであることが示されている。注文詳細テーブルの参照関係情報113には、注文詳細テーブルの「注文ID」カラムが注文テーブルの「注文ID」カラムを参照することを示す参照関係レコード304が含まれている。
For example, the
ステップS13において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112とキー項目情報302とを参照して、目標テーブルの主キーになっているカラムの全て又は一部と対応するカラムが含まれるテーブルを選択する。テーブル抽出部104は、選択したテーブルを現時点の仮想テーブルとみなす。
In step S13, the
例えば、テーブル抽出部104は、キー項目情報302で示されている「注文ID」カラムと、注文テーブルの連携元情報111で示されている「注文ID」カラムとが類似すると判定し、注文テーブルを選択する。テーブル抽出部104は、注文テーブルを現時点の仮想テーブルとみなす。この例では、注文テーブルは、連携元テーブルの1つであるが、目標テーブルとは異なる連携先テーブルの1つであってもよい。
For example, the
ステップS14において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112とキー項目情報302とを参照して、目標テーブルの主キーになっているカラムのうち、現時点の仮想テーブルに含まれていないカラムがあるかどうか判定する。テーブル抽出部104は、現時点の仮想テーブルに含まれていないカラムがあれば、ステップS15に進む。テーブル抽出部104は、目標テーブルの主キーになっているカラムの全てが現時点の仮想テーブルに含まれていれば、ステップS17に進む。
In step S14, the
例えば、テーブル抽出部104は、キー項目情報302で示されている「会社コード」、「注文詳細ID」カラムが現時点の仮想テーブルに含まれていないと判定する。
For example, the
ステップS15において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112と参照関係情報113とキー項目情報302とを参照して、ステップS13で選択したテーブルと直接あるいは間接的に(即ち、他の選択済のテーブルを介して)参照関係によって結ばれており、かつ、現時点の仮想テーブルに含まれていないカラムと対応するカラムが含まれるテーブルがあるかどうか判定する。テーブル抽出部104は、そのようなテーブルがあれば、そのテーブルを選択し、ステップS16に進む。テーブル抽出部104は、そのようなテーブルがなければ、現時点の仮想テーブルをキャンセルして、ステップS18に進む。
In step S15, the
例えば、テーブル抽出部104は、参照関係レコード303で注文テーブルの参照先として示されている会社テーブルの連携元情報111を参照する。テーブル抽出部104は、キー項目情報302で示されている「会社コード」カラムと、会社テーブルの連携元情報111で示されている「会社コード」カラムとが類似すると判定し、会社テーブルを選択する。この例では、会社テーブルは、連携元テーブルの1つであるが、目標テーブルとは異なる連携先テーブルの1つであってもよい。
For example, the
ステップS16において、テーブル結合部105は、現時点の仮想テーブルとステップS15で選択されたテーブルとを結合して1つのテーブルを作成する。テーブル結合部105は、作成したテーブルを現時点の仮想テーブルとみなし(即ち、現時点の仮想テーブルを更新し)、ステップS14に戻る。
In step S16, the
例えば、テーブル結合部105は、注文テーブルである現時点の仮想テーブルと会社テーブルとを結合して、新たに現時点の仮想テーブルを作成する。その後のステップS14において、テーブル抽出部104は、キー項目情報302で示されている「注文詳細ID」カラムが現時点の仮想テーブルに含まれていないと判定する。ステップS15において、テーブル抽出部104は、参照関係レコード304で注文テーブルの参照元として示されている注文詳細テーブルの連携元情報111を参照する。テーブル抽出部104は、キー項目情報302で示されている「注文詳細ID」カラムと、注文詳細テーブルの連携元情報111で示されている「注文詳細ID」カラムとが類似すると判定し、注文詳細テーブルを選択する。ステップS16において、テーブル結合部105は、注文テーブルと会社テーブルとを結合して得られた現時点の仮想テーブルと注文詳細テーブルとを結合して、新たに現時点の仮想テーブルを作成する。さらに、その後のステップS14において、テーブル抽出部104は、キー項目情報302で示されているカラムの全てが現時点の仮想テーブルに含まれていると判定し、ステップS17に進む。
For example, the
ステップS17において、テーブル結合部105は、暫定仮想テーブル情報301を作成する。暫定仮想テーブル情報301は、現時点の仮想テーブルを定義する情報である。暫定仮想テーブル情報301には、仮想テーブルの主キー情報と属性情報と参照関係情報が含まれる。仮想テーブルの主キー情報とは、仮想テーブルに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。仮想テーブルの主キー情報は、目標テーブルの主キー情報と一致していなければならない。仮想テーブルの属性情報とは、仮想テーブルに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。仮想テーブルの参照関係情報とは、仮想テーブルと他のテーブルとの間の参照関係を示す情報である。
In step S <b> 17, the
例えば、テーブル結合部105は、図5に示すような暫定仮想テーブル情報301を作成する。暫定仮想テーブル情報301は、図5に示した連携元情報111と参照関係情報113とが合成された情報と同様の形式で、仮想テーブルを定義する情報である。暫定仮想テーブル情報301では、仮想テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。暫定仮想テーブル情報301では、仮想テーブルの「注文ID」カラムが外部キーであることが示されている。
For example, the
ステップS18において、テーブル抽出部104は、ステップS13で選択したテーブルを含むテーブルの組み合わせの全てについて、ステップS14〜S17の処理が完了したかどうか判定する。テーブル抽出部104は、処理が完了していれば、ステップS19に進む。テーブル抽出部104は、処理が完了していなければ、ステップS13で選択したテーブルを新たに現時点の仮想テーブルとみなし、ステップS14に戻る。テーブル結合部105は、ステップS17の処理が実行される度に、新たに(即ち、仮想テーブルごとに)暫定仮想テーブル情報301を作成する。
In step S18, the
ステップS19において、テーブル抽出部104は、ステップS13で他に選択可能なテーブルがあるかどうか判定する。テーブル抽出部104は、そのようなテーブルがあれば、ステップS13に戻る。テーブル抽出部104は、そのようなテーブルがなければ、処理を終了する。
In step S19, the
以下では、スコープという概念について説明する。 Below, the concept of a scope is demonstrated.
図5の例では、結合されるテーブル群が同一データベース(即ち、同一インスタンス)の同一スキーマに属することを想定している。しかし、通常、データ連携は複数のシステム間で行われる。そのため、異なるスキーマ間の参照関係、あるいは、異なるデータベース間の参照関係も考慮する必要がある。 In the example of FIG. 5, it is assumed that the table groups to be joined belong to the same schema of the same database (that is, the same instance). However, data linkage is usually performed between a plurality of systems. Therefore, it is necessary to consider a reference relationship between different schemas or a reference relationship between different databases.
図6は、連携元情報111と参照関係情報113とが合成された情報の別の例を示す表である。
FIG. 6 is a table showing another example of information obtained by combining the
図6の例では、図5の例と同様のテーブルが複数のスキーマ、あるいは、複数のデータベースに分かれて存在している。DB−1というデータベースのスキーマAには、図5の例と同様の注文テーブル及び注文詳細テーブルが存在する。同じデータベースのスキーマBには、図5の例と同様の会社テーブルが存在する。DB−2という別のデータベースのスキーマ1には、別の会社テーブルが存在する。
In the example of FIG. 6, the same table as in the example of FIG. 5 is divided into a plurality of schemas or a plurality of databases. In the schema A of the database called DB-1, there are an order table and an order detail table similar to the example of FIG. A company table similar to the example of FIG. 5 exists in the schema B of the same database. Another company table exists in the
注文テーブルの参照関係情報113には、注文テーブルの「会社コード」カラムがDB−1のスキーマBに属する会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード303が含まれている。注文テーブルの参照関係情報113には、さらに、注文テーブルの「会社コード」カラムがDB−2のスキーマ1に属する会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード305が含まれている。
The order table
参照関係レコード303,304,305には、スコープに関する情報が含まれている。ステップS15において、テーブル抽出部104は、この情報に基づいて、テーブルを抽出する。即ち、テーブル抽出部104は、選択済のテーブルとの参照関係を有するテーブルを、そのテーブルが選択済のテーブルと同一スキーマ内に存在するのか、同一データベース内に存在するのか、異なるデータベースに属するのかを区別しながら、抽出する。
The reference relationship records 303, 304, and 305 include information related to the scope. In step S15, the
図7は、連携元情報111と参照関係情報113とが合成された情報と、暫定仮想テーブル情報301との別の例を示す表である。
FIG. 7 is a table showing another example of information obtained by combining the
ステップS15において、テーブル抽出部104は、参照関係レコード305で注文テーブルの参照先として示されている別のデータベースに属する会社テーブルの連携元情報111を参照することができる。テーブル抽出部104は、キー項目情報302で示されている「会社コード」カラムと、DB−2のスキーマ1に属する会社テーブルの連携元情報111で示されている「会社コード」カラムとが類似すると判定し、この会社テーブルを選択する。
In step S15, the
ステップS17において、テーブル結合部105は、図5に示した暫定仮想テーブル情報301とは別に、図7に示すような暫定仮想テーブル情報301を作成することができる。図7の例における仮想テーブルは、図5の例における仮想テーブルと比べて、「ブランドID」カラムが追加されている。図3に示した入力情報114では、目標テーブルに「ブランドID」カラムが含まれることが示されている。よって、図7の例における仮想テーブルは、図5の例における仮想テーブルと比べて、目標テーブルに対応するカラム数が多いという点で優っている。
In step S17, the
ステップS15では、スコープ(例えば、同一データベース内、同一スキーマ内)が指定されてもよい。その場合、テーブル抽出部104は、指定されたスコープ内でテーブルを抽出する。
In step S15, a scope (for example, in the same database, in the same schema) may be designated. In that case, the
図4の動作により、目標テーブルと主キーのカラムが類似する複数の仮想テーブルが作成された場合、これら複数の仮想テーブルの中で、目標テーブルとなるべく多くの非主キーのカラムが類似する仮想テーブルがデータ連携に適している。そのような仮想テーブルを検出するために、スキーママッチング技術を利用することができる。 When a plurality of virtual tables having similar target table and primary key columns are created by the operation of FIG. 4, a virtual table having as many non-primary key columns as possible as the target table among these virtual tables. The table is suitable for data linkage. Schema matching techniques can be used to detect such virtual tables.
図8は、図4の動作の後におけるデータ連携支援装置100の動作の例を示すフローチャートである。図9は、仮想テーブルと目標テーブルとのスキーママッチングを示す概念図である。
FIG. 8 is a flowchart showing an example of the operation of the data
ステップS21において、推奨判断部106は、情報記憶部101から入力情報114と、ステップS17で作成された暫定仮想テーブル情報301とを取得する。
In step S21, the
例えば、推奨判断部106は、図9に示すように、図3に示した情報(即ち、入力情報114と参照関係情報113とが合成された情報)と、図7に示した暫定仮想テーブル情報301とを取得する。
For example, as illustrated in FIG. 9, the
ステップS22において、推奨判断部106は、ステップS21で取得した入力情報114により定義された目標テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。目標テーブルと仮想テーブルとの間で主キーは可能な限り一致している。そのため、非主キーのカラムの類似性が確認される。カラムの類似性を判断するために、既存のスキーママッチング技術が活用できる。
In step S22, the
例えば、推奨判断部106は、図3に示した情報により定義された目標テーブルと、図7に示した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。前述したように、図3で黒塗りされている項目は、他のテーブルを参照すれば取得できるカラムである。よって、これらのカラムについてのスキーママッチングの結果は無視される。あるいは、これらのカラムについてはスキーママッチングが省略される。
For example, the
ステップS23において、推奨判断部106は、ステップS22で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、仮想テーブルのいずれのカラムが、目標テーブルの非主キーのカラムと類似するか判断する。
In step S23, the
例えば、推奨判断部106は、スキーママッチングの結果に基づき、仮想テーブルの「顧客コード」、「店舗ID」、「ブランドID」カラムが、それぞれ目標テーブルの同名のカラムと類似すると判断する。
For example, the
図4の動作により複数の仮想テーブルが作成されている場合は、ステップS21〜S23の処理が仮想テーブルごとに実行される。 When a plurality of virtual tables are created by the operation of FIG. 4, the processes in steps S21 to S23 are executed for each virtual table.
図10は、図8の動作の後におけるデータ連携支援装置100の動作の例を示すフローチャートである。図11は、連携元テーブルと目標テーブルとのスキーママッチングを示す概念図である。図12は、連携元テーブルと仮想テーブルとのスキーママッチングを示す概念図である。
FIG. 10 is a flowchart illustrating an example of the operation of the data
ステップS31において、推奨判断部106は、情報記憶部101から連携元情報111と連携先情報112と参照関係情報113とを取得する。
In step S <b> 31, the
例えば、推奨判断部106は、図11に示すような連携元情報111と参照関係情報113とが合成された情報を取得する。注文テーブルの連携元情報111では、社員テーブルの「社員ID」カラムが主キーであることが示されている。社員テーブルの参照関係情報113では、社員テーブルに外部キーがないことが示されている。ディスカウントテーブルの連携元情報111では、ディスカウントテーブルの「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。ディスカウントテーブルの参照関係情報113では、ディスカウントテーブルの「注文ID」、「店舗ID」、「商品コード」カラムが外部キーであることが示されている。
For example, the
ステップS32において、推奨判断部106は、ステップS21で取得した入力情報114により定義された目標テーブルに含まれる複数のカラムから、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルに、対応するカラムが存在しないカラムを抽出する。即ち、推奨判断部106は、目標テーブルの非主キーのカラムのうち、ステップS23で仮想テーブルのカラムと類似すると判断したカラム以外のカラムを抽出する。
In step S32, the
図11で黒塗りされている項目は、主キーになっているカラムと、外部キーの参照先のテーブルと仮想テーブルとのいずれかに、対応するカラムが存在するカラムである。 The items in black in FIG. 11 are columns in which columns corresponding to either the column that is the primary key, the reference table of the foreign key, or the virtual table exist.
ステップS33において、推奨判断部106は、ステップS32で抽出したカラムと、ステップS31で取得した情報により定義された連携元テーブル及び連携先テーブルとのスキーママッチングを行う。
In step S33, the
例えば、推奨判断部106は、図3に示した情報により定義された目標テーブルと、図11に示した情報により定義された社員テーブル及びディスカウントテーブルとのスキーママッチングを行う。前述したように、図11で黒塗りされている項目は、主キーのカラム、あるいは、他のテーブルを参照すれば取得できるカラムである。よって、これらのカラムについてのスキーママッチングの結果は無視される。あるいは、これらのカラムについてはスキーママッチングが省略される。
For example, the
ステップS34において、推奨判断部106は、ステップS33で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、いずれかの連携元テーブル又はいずれかの連携先テーブルのいずれのカラムが、目標テーブルの残りのカラムと類似するか判断する。
In step S34, the
例えば、推奨判断部106は、スキーママッチングの結果に基づき、社員テーブルの「社員名」カラムが、目標テーブルの「担当営業」カラムと類似すると判断する。推奨判断部106は、ディスカウントテーブルの「ディスカウント」、「商品コード」カラムが、目標テーブルの同名のカラムと類似すると判断する。
For example, the
ステップS35において、推奨判断部106は、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。
In step S35, the
例えば、推奨判断部106は、図12に示すように、図11に示した情報により定義された社員テーブル及びディスカウントテーブルと、図9に示した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。
For example, as shown in FIG. 12, the
ステップS36において、推奨判断部106は、ステップS35で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとが結合できるかどうか判断する。推奨判断部106は、両テーブルが結合できる場合、ステップS37に進む。推奨判断部106は、両テーブルが結合できない場合、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルを最終的な仮想テーブルとみなし、ステップS38に進む。ただし、推奨判断部106は、最終的な仮想テーブルから、対応するカラムが目標テーブルにないカラムを除外する。
In step S36, the
ステップS37において、推奨判断部106は、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとを結合して1つのテーブルを作成する。推奨判断部106は、作成したテーブルを最終的な仮想テーブルとみなし、ステップS38に進む。ただし、推奨判断部106は、最終的な仮想テーブルから、対応するカラムが目標テーブルにないカラムを除外する。
In step S37, the
例えば、推奨判断部106は、図12に示した暫定仮想テーブル情報301により定義された仮想テーブルと、図12に示した情報により定義された社員テーブル及びディスカウントテーブルとを結合して、最終的な仮想テーブルを作成する。
For example, the
ステップS38において、推奨判断部106は、最終的な仮想テーブルの基になったテーブルの組み合わせを、目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。
In step S <b> 38, the
図4の動作により複数の仮想テーブルが作成されている場合は、ステップS31〜S37の処理が仮想テーブルごとに実行される。ステップS38において、推奨判断部106は、仮想テーブルごとに、目標テーブルと最終的な仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングのスコアが最も高い(又はそのスキーママッチングのスコアが上位n番目(n>1)までの)最終的な仮想テーブルを選択する。推奨判断部106は、選択した最終的な仮想テーブルの基になったテーブルの組み合わせを、目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。
When a plurality of virtual tables are created by the operation of FIG. 4, the processes of steps S31 to S37 are executed for each virtual table. In step S38, the
目標テーブルの一部のカラムと対応するカラムが最終的な仮想テーブルに含まれないことがある。即ち、目標テーブルが既存のテーブルのみを利用したデータ連携では実現できないことがある。そのような場合、仮想テーブルと連携元テーブルを結合するための情報を関連テーブルとして手動で作成することが考えられる。この場合、どのような関連テーブルを作成すればよいか調査する必要があるが、推奨情報161をクライアント装置200へ提供することにより、調査量の削減に寄与することができる。
Columns corresponding to some columns of the target table may not be included in the final virtual table. That is, the target table may not be realized by data linkage using only an existing table. In such a case, it can be considered that information for joining the virtual table and the linkage source table is manually created as a related table. In this case, it is necessary to investigate what kind of related table should be created. However, providing the recommended
本実施の形態では、データ連携関係の自動推奨にあたってレコードデータが必須ではなく、テーブル定義情報等のメタデータのみあればよい。そのため、データ連携関係を探索するシステムの範囲を広く設定できる。その結果として、システム全体を考慮したデータ連携関係の全体最適解を見つけ出すことが可能となる。つまり、本実施の形態によれば、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することができる。 In the present embodiment, record data is not essential for automatic recommendation of the data linkage relationship, and only metadata such as table definition information is required. Therefore, it is possible to set a wide range of systems for searching for data linkage relationships. As a result, it is possible to find an overall optimal solution of the data linkage relationship considering the entire system. That is, according to the present embodiment, in data linkage, it is possible to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted.
本実施の形態では、システム全体という広いスコープでデータ連携関係を探索することができるため、検出漏れを最小限にできるという効果が得られる。 In this embodiment, since the data linkage relationship can be searched with a wide scope of the entire system, an effect that detection omissions can be minimized can be obtained.
データ連携関係の自動推奨では、探索スコープが狭くなると、本来連携元とすべきテーブルが排除される可能性がある。本来連携元とすべきテーブルのコピーあるいは変形を連携元として誤検出してしまう可能性がある。そのような誤検出があると、定義したデータ連携関係において、本来連携元とすべきテーブルからそのコピーあるいは変形を作成する別のデータ連携処理との依存関係が生じてしまう。本実施の形態によれば、そのように本来必要のないデータ連携関係が定義されてしまう事態(即ち、部分最適解)を回避することができる In the automatic recommendation of the data linkage relationship, when the search scope becomes narrow, there is a possibility that the table that should originally be the linkage source may be excluded. There is a possibility that a copy or deformation of a table that should originally be a linkage source is erroneously detected as a linkage source. If there is such a false detection, in the defined data linkage relationship, a dependency relationship with another data linkage process that creates a copy or transformation from the table that should originally be the linkage source occurs. According to the present embodiment, it is possible to avoid such a situation (that is, a partially optimal solution) that a data linkage relationship that is not necessary originally is defined.
本実施の形態では、データ連携関係の自動推奨という目的に固有の要件である、連携先テーブルのレコードレイアウトを連携元テーブル群から結合操作等により再現できるという要件に対応するために、仮想テーブルを作成して、仮想テーブルと連携先テーブルに対してスキーママッチング技術を適用する。このため、データ連携に使用できない対応関係は自動的に出力から省かれる。本実施の形態では、通常のスキーママッチング技術で大量に発生するデータ連携関係の候補の中からデータ連携に使用できるカラム間の対応関係のみを抽出して提供する。このため、自動推奨結果が人間により確認される際に、人間の作業量が大幅に削減される。 In this embodiment, in order to meet the requirement that the record layout of the linkage destination table can be reproduced from the linkage source table group by a join operation, which is a unique requirement for the purpose of automatically recommending the data linkage relationship, Create and apply schema matching technology to the virtual table and linked table. For this reason, correspondences that cannot be used for data linkage are automatically omitted from the output. In the present embodiment, only correspondence relationships between columns that can be used for data linkage are extracted and provided from candidates for data linkage relationships that occur in large quantities with a normal schema matching technique. For this reason, when the automatic recommendation result is confirmed by a human, the amount of human work is greatly reduced.
さらに、本実施の形態では、スコープを広げるだけではなく、データベーススキーマ内、データベース内、データベース外のように複数のスコープを明示的に分けて、それぞれについて仮想テーブルを作成する。このため、データ連携関係の候補をスコープ別に確認することが可能である。例えば、データベーススキーマ内では取得することができないデータ項目についてデータベース外までスコープを広げると取得できることが確認できる。よって、データベース外とのデータ連携コストとデータベーススキーマ内のデータ連携コストとを比較しながら、状況に応じたデータ連携関係を定義することが可能となる。 Further, in the present embodiment, not only the scope is expanded, but also a plurality of scopes are explicitly divided such as in the database schema, in the database, and outside the database, and a virtual table is created for each. For this reason, it is possible to check the data linkage relationship candidates by scope. For example, it can be confirmed that data items that cannot be acquired within the database schema can be acquired by expanding the scope outside the database. Therefore, it is possible to define the data linkage relationship according to the situation while comparing the data linkage cost outside the database with the data linkage cost in the database schema.
図13は、本実施の形態に係るデータ連携支援装置100のハードウェア構成の一例を示す図である。
FIG. 13 is a diagram illustrating an example of a hardware configuration of the data
図13において、データ連携支援装置100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
In FIG. 13, the data
データ連携支援装置100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。
The data
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
The
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
The
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本発明の実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本発明の実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記録媒体に記憶される。RAM914やHDD920等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The
本発明の実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
The arrows in the block diagrams and flowcharts used in the description of the embodiments of the present invention mainly indicate input / output of data and signals. Data and signals are recorded in memory such as
本発明の実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本発明の実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本発明の実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In the description of the embodiments of the present invention, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the
以上、本発明の実施の形態について説明したが、本発明は、この実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。 As mentioned above, although embodiment of this invention was described, this invention is not limited to this embodiment, A various change is possible as needed.
100 データ連携支援装置、101 情報記憶部、102 テーブル選択部、103 カラム特定部、104 テーブル抽出部、105 テーブル結合部、106 推奨判断部、111 連携元情報、112 連携先情報、113 参照関係情報、114 入力情報、161 推奨情報、200 クライアント装置、301 暫定仮想テーブル情報、302 キー項目情報、303,304,305 参照関係レコード、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。
DESCRIPTION OF
Claims (4)
前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部と、
前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択するテーブル選択部と、
前記情報記憶部に記憶された主キー情報に基づき、前記テーブル選択部により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定するカラム特定部と、
前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記テーブル選択部により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記カラム特定部により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出するテーブル抽出部と、
前記テーブル抽出部により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成するテーブル結合部と、
前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断する推奨判断部と
を備えることを特徴とするデータ連携支援装置。In a data linkage support device that supports data linkage of a database having a plurality of tables,
Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables An information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables;
A table selection unit that selects, from the plurality of tables, one table including two or more columns serving as primary keys and serving as a linkage destination of data linkage;
A column specifying unit for specifying the two or more columns from a plurality of columns included in the table selected by the table selection unit based on the primary key information stored in the information storage unit;
Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two of the plurality of tables connected by a reference relationship from a table other than the table selected by the table selection unit A table extraction unit that is a combination of the above-described tables and extracts a combination in which a column corresponding to the column specified by the column specifying unit is divided into the two or more tables and exists as a primary key of each table;
A table combination unit that combines tables included in the combination extracted by the table extraction unit to create one table;
Schema matching is performed between the table selected by the table selection unit and the table created by the table combination unit, and the combination extracted by the table extraction unit is selected by the table selection unit based on the result of schema matching. A data cooperation support apparatus comprising: a recommendation determination unit that determines whether or not it is recommended to use the table for data cooperation.
前記テーブル結合部は、前記テーブル抽出部により抽出された組み合わせごとに、組み合わせに含まれるテーブルを結合して1つのテーブルを作成し、
前記推奨判断部は、前記テーブル抽出部により抽出された組み合わせごとに、前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、
前記推奨判断部は、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせのうち1つの組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨する推奨情報を出力することを特徴とする請求項1のデータ連携支援装置。When two or more combinations are extracted by the table extraction unit,
The table combining unit creates one table by combining the tables included in the combination for each combination extracted by the table extracting unit,
The recommendation determining unit performs schema matching between the table selected by the table selecting unit and the table created by the table combining unit for each combination extracted by the table extracting unit,
The recommendation determining unit recommends using one combination among the combinations extracted by the table extracting unit for data linkage of the table selected by the table selecting unit based on a result of schema matching. The data linkage support apparatus according to claim 1, wherein:
前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部を備えるコンピュータを用いて、
前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択し、
前記情報記憶部に記憶された主キー情報に基づき、前記選択により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定し、
前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記選択により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記特定により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出し、
前記抽出により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成し、
前記選択により選択されたテーブルと前記結合により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記抽出により抽出された組み合わせを、前記選択により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断することを特徴とするデータ連携支援方法。In a data linkage support method for supporting data linkage of a database having a plurality of tables,
Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables Using a computer including an information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables,
From one of the plurality of tables, select one table that includes two or more columns that are primary keys and is a linkage destination of data linkage,
Based on the primary key information stored in the information storage unit, identify the two or more columns from a plurality of columns included in the table selected by the selection,
Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two or more items connected by a reference relationship from tables other than the table selected by the selection among the plurality of tables. A combination of tables, wherein a column corresponding to the column identified by the identification is divided into the two or more tables and a combination existing as a primary key of each table is extracted;
Combining tables included in the combination extracted by the extraction to create one table,
Schema matching between the table selected by the selection and the table created by the join is performed, and based on the result of the schema matching, the combination extracted by the extraction is used for data linkage of the table selected by the selection A data linkage support method characterized by determining whether or not to recommend.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/077628 WO2015052812A1 (en) | 2013-10-10 | 2013-10-10 | Data-linking support device and data-linking support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6017055B2 true JP6017055B2 (en) | 2016-10-26 |
JPWO2015052812A1 JPWO2015052812A1 (en) | 2017-03-09 |
Family
ID=52812659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015541381A Active JP6017055B2 (en) | 2013-10-10 | 2013-10-10 | Data linkage support apparatus and data linkage support method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6017055B2 (en) |
WO (1) | WO2015052812A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6181250B1 (en) * | 2016-07-11 | 2017-08-16 | 株式会社東芝 | Database integration apparatus, database integration method, and database integration program |
JP7046859B2 (en) * | 2019-03-04 | 2022-04-04 | 株式会社日立製作所 | Data selection system and data selection method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063261A (en) * | 2003-08-18 | 2005-03-10 | Ntt Comware Corp | Data cooperation rule generation system and method, and computer program |
US20090094274A1 (en) * | 2003-09-10 | 2009-04-09 | Exeros, Inc. | Method and apparatus for semantic discovery and mapping between data sources |
-
2013
- 2013-10-10 JP JP2015541381A patent/JP6017055B2/en active Active
- 2013-10-10 WO PCT/JP2013/077628 patent/WO2015052812A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063261A (en) * | 2003-08-18 | 2005-03-10 | Ntt Comware Corp | Data cooperation rule generation system and method, and computer program |
US20090094274A1 (en) * | 2003-09-10 | 2009-04-09 | Exeros, Inc. | Method and apparatus for semantic discovery and mapping between data sources |
Non-Patent Citations (1)
Title |
---|
JPN6013057760; Ronald Fagin, Laura M. Haas, Mauricio Hernandez1,Renee J. Miller, Lucian Popa, and Yannis Velegrakis: 'Clio: Schema Mapping Creation and DataExchange' [online] [検索日2013.10.28],インターネット, 2009, 1-40 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015052812A1 (en) | 2015-04-16 |
JPWO2015052812A1 (en) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2427896C2 (en) | Annotation of documents in jointly operating applications by data in separated information systems | |
CN102959578B (en) | Forensic system and forensic method, and forensic program | |
JP4832952B2 (en) | Database analysis system, database analysis method and program | |
US11244109B2 (en) | Information processing device and information processing method | |
JP2011076396A (en) | Metadata setting method, metadata setting system and program | |
JP4855080B2 (en) | Schema integration support apparatus, schema integration support method of schema integration support apparatus, and schema integration support program | |
US20180329873A1 (en) | Automated data extraction system based on historical or related data | |
US20240143634A1 (en) | System and methods for categorizing captured data | |
JP6017055B2 (en) | Data linkage support apparatus and data linkage support method | |
JP6782275B2 (en) | Data catalog automatic generation system and its automatic generation method | |
JP2009146084A (en) | Table management device | |
JP5972461B2 (en) | Data linkage support apparatus and data linkage support method | |
JP2014013470A (en) | Management method for electronic form and electronic form system, and management program for electronic form | |
JP2005321849A (en) | Data analysis support program, method, and device | |
JP5202655B2 (en) | Business flowchart search device and program | |
JP6897168B2 (en) | Information processing equipment and information processing programs | |
JP5606303B2 (en) | Information processing apparatus, information processing method, and program | |
JP6293083B2 (en) | Data processing program, data processing method, and information processing apparatus | |
JP5393582B2 (en) | Document management program, document management method, and document management apparatus | |
JP5971069B2 (en) | Information processing apparatus, title extraction method, and program | |
JP5855989B2 (en) | Data processing apparatus, data processing method, and data processing program | |
JP7519230B2 (en) | API implementation support system and API implementation support method | |
JP6849904B2 (en) | Search program, search device and search method | |
JP2009015511A (en) | Metadata management device, program, and metadata management method | |
CN117151129A (en) | Translation data processing method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6017055 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |