JP5241370B2 - テーブル分類装置、テーブル分類方法及びテーブル分類プログラム - Google Patents
テーブル分類装置、テーブル分類方法及びテーブル分類プログラム Download PDFInfo
- Publication number
- JP5241370B2 JP5241370B2 JP2008199127A JP2008199127A JP5241370B2 JP 5241370 B2 JP5241370 B2 JP 5241370B2 JP 2008199127 A JP2008199127 A JP 2008199127A JP 2008199127 A JP2008199127 A JP 2008199127A JP 5241370 B2 JP5241370 B2 JP 5241370B2
- Authority
- JP
- Japan
- Prior art keywords
- column
- classification
- tables
- group
- similar
- 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.)
- Expired - Fee Related
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/956—Hierarchical
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/964—Database arrangement
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
近年、データベースの統合としてはスキーママッチングを支援するツールが開発されている。このツールは、類似した名称のテーブルやカラムを全社のデータベースの中から検索して、統合を支援するものである。
Rahm,E. and Bernstein,P.A.: A survey of approaches to automatic schema matching. VLDB J(10) pp.334−350,2001
しかし、カラム同士の類似性が分かったとしても、カラム同士の類似性の情報に基づいてテーブル同士が類似するか否かを判断することは容易ではない。例えば、同一のカラムXを含むテーブルAとテーブルBがあるとする。ここで、テーブルAではカラムXは主キーであり、テーブルBではカラムXはテーブルAを参照する外部キーである場合がある。この場合、テーブルAとテーブルBとが同一のカラムXを含んでいたとしても、テーブルAとテーブルBとにおけるカラムXの意味(役割)は異なる。つまり、テーブルAとテーブルBとは、同一のカラムXを含んでいても、類似しているテーブルとは言えず統合の対象とはなり得ない。このように、単に一つ一つのカラムの同一性、類似性を比較するだけでは、テーブル構造としての同一性、類似性を判断することはできない。
本発明は、例えば、データベースにおける複数のテーブルを類似するテーブルからなるグループに分類することにより、データベースの統合を容易にすることを目的とする。
処理装置により、上記複数のテーブルの各テーブルにおけるカラムの位置を含むカラム情報により上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する第1の分類部と、
処理装置により、上記各テーブルにおけるカラムの位置以外のカラム情報により上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する第2の分類部と、
上記第1の分類部と上記第2の分類部とにより分類された結果を出力装置へ出力する出力部と
を備えることを特徴とする。
この実施の形態では、(1)テーブルにおけるカラムの意味(役割)を考慮してテーブルの類似性を判断し、テーブルを分類する意味分類方法と、(2)テーブルにおけるカラムの意味を考慮せずテーブルの類似性を判断し、テーブルを分類する統計分類方法との2つの分類方法を組合せたテーブルの分類方法について説明する。
テーブル分類装置1は、企業内の様々なデータベースに格納されている複数のテーブルを、テーブルが有するカラムのタイプ、サイズ、精度(スケール)の類似度に基づき、複数のグループに分類する。
テーブル分類装置1は、リスト作成部10、意味分類部20(第1の分類部)、統計分類部30(第2の分類部)、出力部40を備える。
意味分類部20は、各テーブルにおけるカラムの位置に基づき、そのテーブルにおけるそのカラムの意味を判定する。また、意味分類部20は、所定の意味を有するカラムが、そのテーブルにおいて重要なカラムであると判定する。意味分類部20は、重要であると判定した所定の意味を有するカラムが類似するか否かにより、テーブルが類似するか否かを判定する。そして、意味分類部20は、判定結果に従いテーブルを複数のグループに分類したテーブル意味分類表21を生成する。
ここでは、意味分類部20は、各テーブルの先頭付近のカラムは、キー項目である可能性が高く、重要なカラムであるとする。そして、意味分類部20は、先頭付近のカラムが類似するか否かにより、テーブルを複数のグループに分類したテーブル意味分類表21を生成する。
統計分類部30は、テーブルにおけるそのカラムの意味は考慮せず、統計的に重要なカラムを判定する。統計分類部30は、統計的に重要であると判定したカラムが共通するか否かにより、テーブルが類似するか否かを判定する。そして、統計分類部30は、判定結果に従いテーブルを複数のグループに分類したテーブル分類リスト31を生成する。
ここでは、統計分類部30は、出現頻度の高いカラムは、重要なカラムであるとする。そして、出現頻度の高いカラムが共通するか否かにより、テーブルを複数のグループに分類したテーブル分類リスト31を生成する。
特に、統計分類部30は、意味分類部20が同一のグループに分類した複数のテーブルを、さらに細かく分類する。
図3は、テーブルリスト11が有するテーブルノード111、カラムノード112を示す図である。図3(a)はテーブルノード111を示す図であり、図3(b)はカラムノード112を示す図である。
テーブルの情報は、テーブル名とテーブルを構成するカラムの情報とを有する。また、カラムの情報は、カラムのタイプ(例えば、文字型、数値型、日付型など)、サイズ、スケール(精度)、キー情報(主キー、外部キーなど)、NULLが許されるか否かなどの情報を有する。
テーブルノード111は、ノード識別番号113、ノード名114、ノードタイプ115を備える。ノード識別番号113には、ノードを一意に識別するための識別子が格納される。ノード名114には、テーブル名が格納される。ノードタイプ115には、テーブルを識別するための識別子が格納される。
カラムノード112には、ノード識別番号113、ノード名114、ノードタイプ115、カラムタイプ116、サイズ117、スケール118、キー情報119(キー項目か否か)、NULL値の可否120(NULL値が許されるカラムか否か)を有する。ノード識別番号113には、ノードを一意に識別するための識別子が格納される。ノード名114には、カラム名が格納される。ノードタイプ115には、カラムを識別するための識別子が格納される。また、カラムタイプ116、サイズ117、スケール118、キー情報119、NULL値の可否120には、そのカラムの設定情報が格納される。
カラム対応表14は、種類の異なるデータベース間のカラムの対応関係を示す情報である。
企業内で利用している種類の異なる様々なデータベース管理システムによって、カラムの型の定義が異なる。そこで、リスト作成部10は、カラム対応表14により種類の異なるデータベース間のカラムの対応を識別する。
カラム対応表14は、DB種別141(データベース種別)、固有カラムタイプ142、共通カラムタイプ143を有する。
DB種別141には、個別のデータベース管理システム名(例えばOracle(登録商標)、IBM DB2(登録商標)、Microsoft(登録商標) SQLServerなど)が格納される。
固有カラムタイプ142には、各データベース管理システムで定義されているカラムタイプが格納される。
共通カラムタイプ143には、データベース管理システム毎の個別のデータタイプを共通的に扱うためのカラムタイプを示す情報であって、固有カラムタイプ142に格納されたカラムタイプに対応する情報が格納される。
カラムリスト12は、全てのテーブルに存在するカラムの一覧情報である。カラムリスト12は、カラム番号121、カラムタイプ122、サイズ123、スケール124、出現回数125を有する。
リスト作成部10は、テーブルリスト11およびカラム対応表14を入力として、カラムリスト12を作成する。ここでは、リスト作成部10は、カラムタイプ、サイズ、スケールが同一であるカラムは同一のカラムであると扱い、カラムリスト12を作成する。
リスト作成部10は、テーブルリスト11の先頭のテーブルノード111から順に各カラムノード112のカラムタイプ116、サイズ117、スケール118を取得する。次に、リスト作成部10は、カラム対応表14に基づき、取得したカラムタイプ116を共通カラムタイプ143に変換する。そして、リスト作成部10は、カラムリスト12に新たなレコードを追加する。リスト作成部10は、追加したレコードのカラム番号121に任意の値を格納し、カラムタイプ122に取得した共通カラムタイプ143を格納し、サイズ123に取得したサイズ117を格納し、スケール124に取得したスケール118を格納し、出現回数125に1を格納する。
なお、リスト作成部10は、既にカラムリスト12に同一のカラムが存在する場合には、そのカラムの出現回数125をインクリメントする。
多頻出カラムリスト13は、カラムリスト12が示す複数のカラムのうち、出現頻度の高いカラムについての情報である。多頻出カラムリスト13は、出現順位131、カラム番号132、出現回数133、出現率134を有する。
リスト作成部10は、カラムリスト12を入力として、多頻出カラムリスト13を作成する。リスト作成部10は、最低出現率を定義し、最低出現率以上のカラムを出現率の順番にソートして多頻出カラムリスト13を作成する。ここでは、最低出現率を2.0%とした。
なお、出現率とは、全テーブルのうち、そのカラムが含まれているテーブルの割合である。つまり、「出現率=そのカラムを含むテーブル数/全テーブルの数」である。
図7は、意味分類部20の動作を示すフローチャートである。
意味分類部20は、先頭の幾つか(所定個)のカラムが同一のカラムタイプ、サイズ、スケールで構成されるテーブルを同一のグループに分類する。これは、先頭にある幾つかのカラムはキー項目の可能性が高く、意味的に重要なカラムである可能性が高いためである。
なお、以下の説明において、RECURSIVE_NUMは、意味分類方法によりどの程度まで細かく分類するかを決定するパラメータである。例えば、以下の説明では、RECURSIVE_NUMを20と定義する。RECURSIVE_NUMを20と定義した場合、1つのグループに属するテーブルの数が20より多いときには、さらにそのグループを細かく分類することを試みる。
<S2>:意味分類部20は、変数Xに1を代入する。変数Xは、先頭から何個目までが同一のカラムノード112であれば、テーブルノード111を同一のグループに分類するかを決定するものである。つまり、変数Xが1なら、先頭1個のカラムノード112が同一のテーブルノード111を同一のグループに分類することを意味する。
<S3>:意味分類部20は、全てのテーブルノード111を仮想的なルートグループに接続する。また、意味分類部20は、ルートグループをXの未処理リストに登録する。
<S4>:意味分類部20は、Xの未処理リストに登録されているノードがあるか否か判定する。未処理リストに登録されているノードがない場合(S4でNO)、意味分類部20は<S12>へ進み、処理を終了する。一方、未処理リストに登録されているノードがある場合(S4でYES)、意味分類部20は<S5>へ進む。
<S5>:意味分類部20は、グループ内で先頭からX番目のカラムノード112までが同一のテーブルノード111を仮グループとして一時的にグループ化する。
ここで、意味分類部20は、カラムノード112が同一か否か比較するため、まずカラムノード112のカラムタイプ116(データベース固有のカラムタイプ)をカラム対応表14を用いて共通カラムタイプ143に変換する。次に、意味分類部20は、変換した共通カラムタイプ143と、カラムノード112のサイズ117、スケール118とに基づき、カラムリスト12からカラム番号121を取得する。そして、意味分類部20は、取得したカラム番号121が同一か否かを比較して、カラムノード112が同一か否かを判定する。
<S6>:意味分類部20は、仮グループに含まれるテーブルノード111の数がRECURSIVE_NUM未満か否か判定する。テーブルノード111の数がRECURSIVE_NUM以上である場合(S6でNO)、意味分類部20は、<S7>へ進む。一方、テーブルノード111の数がRECURSIVE_NUM未満である場合(S6でYES)、意味分類部20は、<S8>へ進む。
<S7>:意味分類部20は、RECURSIVE_NUM以上のであった仮グループを本グループとする。つまり、RECURSIVE_NUM以上のであった仮グループは、一時的な仮グループではなく、本グループとしてグループ化する。また、意味分類部20は、X+1の未処理リストに登録する。グループ化されたテーブルノード111は、X+1の未処理リストに登録されることにより、さらに分類される対象となる。
<S8>:一方、意味分類部20は、RECURSIVE_NUM未満であった仮グループのグループ化を解除する。つまり、RECURSIVE_NUM未満であった仮グループはグループ化しない。その仮グループに属していたテーブルノード111を処理済リストに繋ぐ。つまり、グループ化されなかったテーブルノード111についてのグループ分けは終了となる。
<S9>:意味分類部20は、Xの未処理リストに繋がれた全ての仮グループについて処理が済んだか否かを判定する。全ての仮グループについて処理が済んでいない場合(S9でNO)、意味分類部20は<S10>へ進む。一方、全ての仮グループについて処理が済んだ場合(S9でYES)、意味分類部20は<S11>へ進む。
<S10>:意味分類部20は、全ての仮グループについて処理が済んでいないため、次の仮グループについて処理を実行する。
<S11>:一方、意味分類部20は、全ての仮グループについて処理が済んだため、Xをインクリメント(+1)して<S4>へ戻る。つまり、意味分類部20は、グループ化されたテーブルノード111をさらにグループ分けする。
<S12>:意味分類部20は、処理を終了する。
次に、<S2>では、意味分類部20は、変数Xに1を代入する。
次に、<S3>では、意味分類部20は、全てのテーブルノード111を仮想的なルートグループに接続する。また、意味分類部20は、ルートグループをXの未処理リストに登録する。つまり、図8に示すように、テーブルリスト11が示す各テーブルノード111がルートグループに接続される。また、ルートグループがX=1の未処理リストに登録されるため、全てのテーブルノード111がX=1の未処理リストに登録された状態となる。
次に、<S4>では、意味分類部20は、Xの未処理リストに繋がっているノードがあるか否か判定する。ここでは、図8に示すテーブルノード111が未処理リストに接続されているため、<S5>へ進む。
ここでは、Xが1であるため、先頭の1つのカラムノード112が同一であるテーブルノード111を同一の仮グループに分類する。図9に示すように、M個の仮グループに分類されたとする。
ここでは、仮グループ1,2,3・・・は、テーブルノード111の数がRECURSIVE_NUM以上であり、仮グループMは、テーブルノード111の数がRECURSIVE_NUM未満であったとする。つまり、仮グループ1,2,3・・・は、本グループとしてグループ化される。一方、仮グループMは、本グループとはならず、処理済となる。すなわち、図10に示すように、ルートグループに各本グループが接続され、各本グループにそのグループに属するテーブルノード111が接続される。また、本グループとならなかった仮グループMに属するテーブルノード111は、ルートグループに接続されたまま(つまり、グループ化されないまま)処理済となる。
なお、ルートグループに接続された各本グループがX+1(=2)の未処理リスト登録され、ルートグループに接続されたままのテーブルノード111が処理済リストに登録される。
<S4>では、意味分類部20は、X(=2)の未処理リストにはノードが登録されてため、<S5>へ進む。<S5>では、意味分類部20は、Xが2であるため、先頭の2つのカラムノード112が同一であるテーブルノード111を1つの仮グループに分類する。つまり、図11に示すように、各本グループに接続されたテーブルノード111がいくつかの仮グループに分類される。つまり、Xをインクリメントして各本グループをさらに分類することで、階層的な分類を実現する。次に、意味分類部20は、<S6>から<S10>までを繰り返し、各仮グループに属するテーブルノード111の数がRECURSIVE_NUM未満か否かを判定する。意味分類部20は、その判定結果により、各仮グループを本グループとして分類するか処理済とするか決定する。そして、意味分類部20は、全ての仮グループについて処理が完了すると、さらに次の階層の分類を行う。最終的に、RECURSIVE_NUMより多いテーブルノード111を有する仮グループが1つもできなくなると、処理が終了する。
テーブル意味分類表21は、グループを識別するためのグループ番号、グループに属するテーブルノード111に共通の1番目のカラムノード112のカラム番号、2番目のカラムのカラム番号、…、N番目のカラムのカラム番号およびそのグループに属するテーブルノード111の識別子のリストを有する。
なお、先頭から何番目のカラムノード112でグループ化されるかは、図7のフローチャートでRECURSIVE_NUM未満になるXの値で決まり、グループ毎に異なる。
さらに、2番目のカラムノード112がカラム番号6のテーブルノード111と、2番目のカラムノード112がカラム番号7のテーブルノード111とがRECURSIVE_NUM(=20)以上存在した。そのため、グループ番号2のグループがさらに、グループ番号21とグループ番号22としてグループ化されている。しかし、2番目のカラムノード112がカラム番号6若しくは7以外のテーブルノード111はいずれもRECURSIVE_NUM(=20)未満であった。そのため、2番目のカラムノード112がカラム番号6若しくは7以外のテーブルノード111は、それ以上はグループされず、1番目のカラムノード112によるグループ化で終了している。
また、さらに、グループ番号21のグループにおいて、3番目(先頭から3つ目)のカラムノード112まで同一のテーブルノード111はRECURSIVE_NUM(=20)未満であったため、2番目(先頭)のカラムノード112によるグループ化で終了している。
グループ番号22のグループでは、3番目のカラムノード112がカラム番号6のテーブルノード111がRECURSIVE_NUM(=20)以上存在した。そのため、グループ番号22のグループがさらに、グループ番号221としてグループ化されている。しかし、3番目のカラムノード112がカラム番号6以外のテーブルノード111はいずれもRECURSIVE_NUM(=20)未満であった。そのため、3番目のカラムノード112がカラム番号6以外のテーブルノード111は、それ以上はグループされず、2番目のカラムノード112によるグループ化で終了している。
グループ番号221のグループにおいて、4番目(先頭から4つ目)のカラムノード112まで同一のテーブルノード111はRECURSIVE_NUM(=20)未満であったため、3番目(先頭)のカラムノード112によるグループ化で終了している。
図14は、統計分類部30の動作を示すフローチャートである。
ここでは、統計分類部30は、多頻出カラムリスト13に登録された出現頻度の高いカラムであって、同一のカラムを有するテーブルを同一のグループに分類する。これは、出現率の高いカラムは、そのデータベースにおいて重要なカラムであると考えられるためである。
最下位グループとは、意味分類部20によるグループ化において、それより下位のグループが存在しないグループのことである。つまり、図13に示すテーブル意味分類表21であれば、グループ番号1のグループ、グループ番号21のグループ、グループ番号221のグループ、・・・である。
<S32>:統計分類部30は、<S31>で抽出した全てのグループを統計分類未処理リストに登録する。
<S33>:統計分類部30は、変数yに1を代入する。
<S34>:統計分類部30は、統計分類未処理リストに登録されたグループであって、まだ処理されていないグループを1つ選択する。
また、統計分類部30は、選択したグループのテーブルノード111に属するカラムノード112のカラム番号を全て抽出する。さらに、統計分類部30は、抽出したカラム番号の中で多頻出カラムリスト13に登録されているものを抽出する。そして、統計分類部30は、抽出したカラム番号をy未処理リストに登録する。
<S35>:統計分類部30は、y未処理リストの中から、y個のカラムの組合せ(y個のカラム番号の組合せ)を1つ抽出する。統計分類部30は、選択したグループに属する各テーブルノード111におけるy個のカラムの組合せが出現する割合(以下、支持度と呼ぶ)を計算する。ここでは、選択したグループのうち、そのグループのグループ化に使用した先頭のカラムノード112を除いたカラムノード112に抽出した組合せが出現する割合を支持度とする。
<S36>:統計分類部30は、<S35>で計算した支持度が所定の最低支持度(例えば、5%)未満か否かを判定する。最低支持度以上の場合(S36でNO)、統計分類部30は<S37>へ進む。最低支持度未満の場合(S36でYES)、統計分類部30は<S38>へ進む。
<S37>:統計分類部30は、最低支持度以上のカラムの組合せを含むテーブルノード111をグループ化する。そして、統計分類部30は、そのカラムの組合せをy+1の未処理リストに登録する。
<S38>:一方、統計分類部30は、最低支持度未満のカラムの組合せを処理済みリストに登録する。
<S39>:統計分類部30は、y未処理リストの全ての組合せについて支持度を計算済か否かを判定する。全ての組合せについて支持度を計算済でない場合(S39でNO)、<S40>へ進む。一方、全ての組合せについて支持度を計算済である場合(S39でYES)、<S41>へ進む。
<S40>:統計分類部30は、次の組合せの支持度を計算して<S36>へ戻る。
<S41>:統計分類部30は、y+1未処理リストに2つ以上の組合せがあるか否かを判定する。2つ以上の組合せがある場合(S41でYES)、<S42>へ進む。一方、2つ以上の組合せがない場合(S41でNO)、<S43>へ進む。
<S42>:統計分類部30は、yをインクリメントして、<S36>へ戻る。
<S43>:統計分類部30は、統計分類未処理リストに登録された全てのグループを<S34>で選択したか否かを判定する。全てのグループを選択済みでない場合、(S43でNO)、<S33>へ戻り未処理のグループを選択する。一方、全てのグループを選択済みの場合(S43でYES)、処理を終了する。
<S31>では、統計分類部30は、図13に示すテーブル意味分類表21を入力として、各グループに属するテーブルノード111の数がLOW_LEVEL_NUM(例えば、10)以上の最下位グループを抽出する。
ここでは、統計分類部30は、グループ番号1のグループ、グループ番号21のグループ、グループ番号221のグループ、グループ番号222のグループ、・・・を抽出する。
次に、<S32>では、統計分類部30は、<S31>で抽出したグループを統計分類未処理リストに登録する。
また、<S33>では、統計分類部30は、変数yに1を代入する。
図15は、テーブル意味分類表21のグループ番号221のグループに属するテーブルノード111の一例を示す図である。なお、図15では、説明の簡単のため、グループ番号221のグループに属するテーブルノード111の識別子を、図8から図13までに示す識別子とは変更している。つまり、図15では、先頭のカラムノード112がカラム番号4(カラムタイプがchar(32))、2番目のカラムノード112がカラム番号7(カラムタイプがint)、3番目のカラム番号がカラム番号6(カラムタイプがchar(256))の15個のテーブルノード111(テーブル1からテーブル15まで)がグループ番号221のグループに属しているものとする。また、図7に示すフローチャートでは、RECURSIVE_NUMを20としたため、本来グループ番号221のグループには20以上のテーブルノード111が属しているはずである。しかし、ここでは、説明の簡単のため、グループ番号221のグループには15個のテーブルノード111が属しているものとする。つまり、図16に示すように、グループ番号221のグループが形成されているものとする。
また、統計分類部30は、選択したグループ内のテーブルノード111に属するカラムノード112のカラム番号を全て抽出して、抽出したカラム番号の中で多頻出カラムリスト13に登録されているものを抽出する。そして、統計分類部30は、抽出したカラム番号をy未処理リストに登録する。ここでは、多頻出カラムリストに登録されているカラムとして、カラム番号5(char(64))が抽出されたとする。つまり、カラム番号5(char(64))がy未処理リストに登録されたとする。
また、統計分類部30は、カラム番号5(char(64))の支持度を計算する。図15に示す15個のテーブルノード111のうち、7個のテーブルノード111でカラム番号5(char(64))のカラムノード112が含まれている。そのため、支持度は「7/15=46.7%」である。なお、このグループは、先頭から3つ目までのカラムノード112によりグループ化されているため、先頭から4つ目以降のカラムノード112にカラム番号5(char(64))が含まれているテーブルノード111の割合を支持度として計算した。なお、図17は、グループ番号221のグループに属する15個のテーブルノード111のうち、カラム番号5(char(64))を含むテーブルノード111を示す図である。
つまり、図18に示すように、グループ番号221のグループが、さらに分類される。すなわち、グループ番号221のグループ内に、カラム番号5(char(64))を含むテーブルノード111のグループが形成される。
<S43>では、統計分類部30は、選択されていないグループが存在するため、<S33>へ戻りグループ番号221のグループ以外のグループについても処理を行う。
次に、<S34>では、統計分類部30は、統計分類未処理リストに登録されたグループであって、まだ処理されていないグループを1つ選択する。ここでは、グループ番号32のグループを選択したとする。
図19は、テーブル意味分類表21のグループ番号32のグループに属するテーブルノード111の一例を示す図である。図19では、説明の簡単のため、グループ番号32のグループに属するテーブルノード111の識別子を、図8から図13までに示す識別子とは変更している。つまり、図19では、先頭のカラムノード112がカラム番号7(カラムタイプがint)、2番目のカラムノード112がカラム番号6(カラムタイプがchar(256))の18個のテーブルノード111(テーブル1からテーブル18まで)がグループ番号32のグループに属しているものとする。また、図7に示すフローチャートでは、RECURSIVE_NUMを20としたため、本来グループ番号221のグループには20以上のテーブルノード111が属しているはずである。しかし、ここでは、説明の簡単のため、グループ番号32のグループには18個のテーブルノード111が属しているものとする。つまり、図20に示すように、グループ番号32のグループが形成されているものとする。
また、多頻出カラムリストに登録されているカラムとして、カラム番号4(char(32))とカラム番号5(char(64))とが抽出されたとする。つまり、カラム番号4(char(32))とカラム番号5(char(64))とがy未処理リストに登録されたとする。
また、統計分類部30は、カラム番号4(char(32))の支持度を計算する。図19に示す18個のテーブルノード111のうち、13個のテーブルノード111でカラム番号4(char(32))のカラムノード112が含まれている。そのため、支持度は「12/18=67%」である。なお、このグループは、先頭から2つ目までのカラムノード112によりグループ化されているため、先頭から3つ目以降のカラムノード112にカラム番号4(char(32))が含まれているテーブルノード111の割合を支持度として計算した。なお、図21は、グループ番号32のグループに属する18個のテーブルノード111のうち、カラム番号4(char(32))を含むテーブルノード111を示す図である。
<S40>では、次のカラム、つまりカラム番号5(char(64))の支持度を計算する。図19に示す18個のテーブルノード111のうち、10個のテーブルノード111でカラム番号5(char(64))のカラムノード112が含まれている。そのため、支持度は「10/18=55.6%」である。なお、このグループは、先頭から2つ目までのカラムノード112によりグループ化されているため、先頭から3つ目以降のカラムノード112にカラム番号5(char(64))が含まれているテーブルノード111の割合を支持度として計算した。なお、図22は、グループ番号32のグループに属する18個のテーブルノード111のうち、カラム番号5(char(64))を含むテーブルノード111を示す図である。
続いて、<S36>では、計算した支持度が最低支持度未満か否かは判定すると、カラム番号5(char(64))の支持度(55.6%)は最低支持度(5%)を上回っている(S36でNO)。したがって、<S37>へ進む。
つまり、図23に示すように、グループ番号32のグループが、さらに分類される。すなわち、この時点で、グループ番号32のグループ内に、カラム番号4(char(32))を含むテーブルノード111のグループとカラム番号5(char(64))を含むテーブルノード111のグループとが形成されている。
<S41>では、y+1(y=2)未処理リストには2つ(カラム番号4(char(32))とカラム番号5(char(64)))があるため(S41でYES)、<S42>へ進む。そして、<S42>でyをインクリメントして、<S35>へ戻る。
次に、<S36>では、統計分類部30は、<S35>で計算した支持度が所定の最低支持度未満か否かを判定する。ここでは、カラム番号4(char(32))とカラム番号5(char(64))との支持度(33.3%)は最低支持度(5%)を上回っている(S36でNO)。したがって、<S37>へ進む。
つまり、図25に示すように、グループ番号32に形成されたカラム番号4(char(32))を含むグループとカラム番号5(char(64))を含むグループとが、さらに分類される。すなわち、グループ番号32に形成されたカラム番号4(char(32))を含むグループとカラム番号5(char(64))を含むグループとに、カラム番号4(char(32))とカラム番号5(char(64))との両方を含むテーブルノード111のグループが形成されている。
<S39>では、統計分類部30は、全ての組合せについて支持度を計算済であるため、<S41>へ進む。また、<S41>では、統計分類部30は、y+1未処理リストに2つ以上の組合せがないため、<S43>へ進む。つまり、グループ番号32のグループの処理を終了する。
この後、他のグループについても同様に処理を行い、全てのグループについての処理が済むと(S43でYES)、統計分類部30の処理が終了する。
しかし、1つのテーブルノード111が複数のグループに分類されないように分類するとしてもよい。例えば、<S40>で支持度を計算する場合や<S37>でグループ化する場合に、既に他のグループに分類されているテーブルノード111は対象外としてもよい。つまり、上記グループ番号32の例であれば、カラム番号4(char(32))を含むテーブルノード111のグループに分類されたテーブルノード111は、カラム番号5(char(64))についての支持度の計算や、カラム番号5(char(64))を含むグループに分類する場合に対象外としてもよい。すなわち、カラム番号5(char(64))についての支持度の計算においては、カラム番号4(char(32))を含むテーブルノード111のグループに分類された12個のテーブルノード111を除いた6個のテーブルノード111のうち、いくつのテーブルノード111にカラム番号5(char(64))が含まれているかにより計算するとしてもよい。つまり、図26に示すように、カラム番号5(char(64))を含むグループに分類されるテーブルノード111数は減少する。
この場合、<S35>で先に選択されたカラムの組合せが優先的に考慮された分類結果となる。そのため、例えば、<S35>では出現頻度の高いカラムの組合せから順に選択するとしてもよい。
実施の形態1では、統計分類部30はカラムの重複は許さずに処理を行った。つまり、実施の形態1では、<S35>において統計分類部30は、2つ以上のカラムの組合せを抽出する場合に、2つ以上の異なるカラムの組合せを抽出した。例えば、統計分類部30は、カラム番号4(char(32))とカラム番号5(char(64))との組合せを抽出した。言い替えると、2つのカラム番号4(char(32))からなる組合せのように、同一のカラムを複数有する組合せは抽出しなかった。なお、同一のカラムとは、カラムタイプ、サイズ、精度(スケール)とが同じカラムのことである。
この実施の形態では、同一のカラムを複数有する組合せも抽出する。同一のカラムを複数有する組合せも抽出することにより、同一カラムタイプ、サイズ、スケール(精度)のカラムを複数含むテーブルの分類をより効率的に実施できる。
図27に示すフローチャートは、図14に示すフローチャートの<S35>、<S40>、<S41>がそれぞれ<S35a>、<S40a>、<S41a>に変更されている。言い替えると、図27に示すフローチャートの他の処理は、図14に示すフローチャートの処理と同様である。
<S35a>:統計分類部30は、y未処理リストの中から、y個のカラムの組合せを重複を許して1つ抽出する。つまり、統計分類部30は、同一のカラムを複数含む組合せも抽出する。また、統計分類部30は、グループ内の各テーブルノード111におけるy個のカラムの組合せが出現する割合(支持度)を計算する。
<S40a>:統計分類部30は、<S35a>と同様に、同一のカラムの重複を許した場合の次の組合せの支持度を計算する。
<S41a>:y+1未処理リストに1つ以上の組合せがあるか否かを判定する。1つ以上の組合せがある場合(S41でYES)、<S42>へ進む。一方、1つ以上の組合せがない場合(S41でNO)、<S43>へ進む。実施の形態1では、2つ以上の組合せがなければ、yをインクリメントして次の階層のグループ化を行うことができなかった。しかし、ここでは、1つでも組合せがあれば、その組合せを重複して持つグループを新たにグループ化することができる。そのため、ここでは、1つ以上の組合せがある場合には、<S42>へ進む。
続いて、<S42>で、yをインクリメントしてy=2として、<S35a>へ戻る。
<S35a>では、y(=2)未処理リストの中から、y(=2)個のカラムの組合せを重複を許して1つ抽出する。ここでは、カラム番号4(char(32))とカラム番号5(char(64))とがy未処理リストに登録されている。そこで、2個のカラム番号4(char(32))からなる組合せを抽出する。そして、抽出した組合せの支持度を計算する。
カラム番号4(char(32))を2個以上を含むテーブルノード111は6個ある。そのため、支持度は、6/18=33.3%である。なお、このグループは、先頭から2つ目までのカラムノード112によりグループ化されているため、先頭から3つ目以降のカラムノード112に(char(32))が2つ以上含まれているテーブルノード111の割合を支持度として計算した。また、図28は、グループ番号32のグループに属する18個のテーブルノード111のうち、カラム番号4(char(32))を2つ以上含むテーブルノード111を示す図である。
続いて、<S36>で、計算した支持度が最低支持度未満か否かは判定すると、カラム番号4(char(32))の支持度(33.3%)は最低支持度(5%)を上回っている(S36でNO)。したがって、<S37>へ進む。
<S37>では、支持度が最低支持度以上であるため、カラム番号4(char(32))を2つ以上含むテーブルノード111をグループ化する。また、2個のカラム番号4(char(32))の組合せをy+1(y=3)未処理リストに登録する。
つまり、図29に示すように、グループ番号32に形成されたカラム番号4(char(32))を含むグループが、さらに分類される。すなわち、グループ番号32に形成されたカラム番号4(char(32))を含むグループに、カラム番号4(char(32))を2つ以上含むテーブルノード111のグループが形成されている。
そして、yがさらにインクリメントされ、3個のカラム番号4(char(32))からなる組合せ等についての処理が同様に行われる。<S41a>での終了条件を満たすまで処理が繰り返され、<S41a>での終了条件を満たすとこのグループについての処理が終了する。
その後、他のグループについても同様に処理を行い、全てのグループについての処理が済むと(S43でYES)、統計分類部30の処理が終了する。
以上の実施の形態では、カラムの同一性の比較(類似するか否かの判定)を図5のカラムリスト12を用いて行った。この実施の形態では、さらに、各カラムがNULL値を許すか否かを考慮してカラムの同一性の比較を行う。
図30に示すカラムリスト12では、カラムタイプ122、サイズ123、スケール124が同じ場合でもNULL値の可否126により、カラム番号121を別々に付番する。つまり、カラムタイプ122、サイズ123、スケール124、NULL値の可否126が同一であるカラムを同一のカラムとして扱う。図5に示すカラムリスト12に代えて、図30に示すカラムリスト12を用いて、以上の実施の形態における意味分類方法と統計分類方法とを実行することで、テーブルを効率的に分類できる。
この実施の形態では、さらに、各カラムがキー項目か否かを考慮してカラムの同一性の比較を行う。
図31に示すカラムリスト12では、カラムタイプ122、サイズ123、スケール124が同じ場合でもキー項目か否か127により、カラム番号121を別々にする。つまり、カラムタイプ122、サイズ123、スケール124、キー項目か否か127が同一であるカラムを同一のカラムとして扱う。図5に示すカラムリスト12に代えて、図31のカラムリスト12を用いて、以上の実施の形態における意味分類方法と統計分類方法とを実行することで、テーブルを効率的に分類できる。
テーブル分類装置1は、企業内の様々なデータベースに格納されているテーブルを、テーブルを構成するカラムのタイプ、サイズ、スケール(精度)の類似度に基づいて分類するテーブル分類装置1であって、
データベースのカタログ情報を取り込み、テーブルリスト11を生成し、さらに異なるデータベース間のカラムの対応関係を記載したカラム対応表14に従って、カラムリスト12、多頻出カラムリスト13を生成するリスト作成部10と、
データベースを構成するカラムの意味を考慮して分類を行う意味分類部20と、
カラムの統計的な情報に基づいて分類を行う統計分類部30とを備え、
上記意味分類部20の分類方式と統計分類部30の分類方式を組合せて階層的に分類することを特徴とする。
図32は、テーブル分類装置1のハードウェア構成の一例を示す図である。
図32に示すように、テーブル分類装置1は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ファイル群924には、上記の説明において「テーブルリスト11」、「カラムリスト12」、「多頻出カラムリスト13」、「カラム対応表14」、「テーブル意味分類表21」、「テーブル分類リスト31」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (11)
- 複数のデータベースが有する複数のテーブルを複数のグループに分類するテーブル分類装置であり、
処理装置により、上記複数のテーブルの各テーブルにおける所定の位置にあるカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する第1の分類部と、
処理装置により、上記複数のテーブルにおいて、出現頻度の高いカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記第1の分類部が分類したテーブルをさらに複数のグループに分類する第2の分類部と、
上記第2の分類部により分類された結果を出力装置へ出力する出力部と
を備えることを特徴とするテーブル分類装置。 - 上記第1の分類部は、テーブルの先頭にある所定個のカラムが類似するか否かにより上記各テーブルが類似するかを判定する
ことを特徴とする請求項1に記載のテーブル分類装置。 - 上記第1の分類部は、テーブルの先頭にあるカラムが類似するか否かによりテーブルが類似するかを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類するとともに、
同一のグループに分類された複数のテーブルにおいて、各テーブルの2番目にあるカラムが類似するか否かにより上記同一のグループに分類された複数のテーブルの各テーブルが類似するかを判定して、判定した結果に従い上記同一のグループに分類された複数のテーブルをさらに複数のグループに分類する
ことを特徴とする請求項1又は2に記載のテーブル分類装置。 - 上記第2の分類部は、上記各テーブルが出現頻度の高い類似するカラムを1つ有するか否かによりテーブルが類似するかを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類するとともに、
同一のグループに分類された複数のテーブルにおいて、上記同一のグループに分類された複数のテーブルの各テーブルが出現頻度の高い類似するカラムを2つ有するか否かによりテーブルが類似するかを判定して、判定した結果に従い上記同一のグループに分類された複数のテーブルを複数のグループに分類する
ことを特徴とする請求項1から3までのいずれかに記載のテーブル分類装置。 - 上記第1の分類部と上記第2の分類部との少なくともいずれかは、カラムの所定の属性が同一であるか否かによりカラムが類似するか否かを判定する
ことを特徴とする請求項1から4までのいずれかに記載のテーブル分類装置。 - 上記第1の分類部と上記第2の分類部との少なくともいずれかは、カラムの属性として、カラムタイプとサイズと精度との少なくともいずれかを用いる
ことを特徴とする請求項5に記載のテーブル分類装置。 - 上記第1の分類部と上記第2の分類部との少なくともいずれかは、カラムの属性として、さらにカラムの値としてNULL値を許すか否かを示す情報を用いる
ことを特徴とする請求項6に記載のテーブル分類装置。 - 上記第1の分類部と上記第2の分類部との少なくともいずれかは、カラムの属性として、さらにカラムがキー項目であるか否かを示す情報を用いる
ことを特徴とする請求項6又は7に記載のテーブル分類装置。 - 複数のデータベースが有する複数のテーブルを分類するテーブル分類装置であり、
処理装置により、上記複数のテーブルの各テーブルにおいて同じ役割のカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する役割分類部と、
処理装置により、上記複数のテーブルにおいて、出現頻度の高いカラムが類似するか否かにより上記各テーブルが類似するかを判定して、判定した結果に従い上記役割分類部が分類したテーブルをさらに複数のグループに分類する統計分類部と、
上記統計分類部により分類された結果を出力装置へ出力する出力部と
を備えることを特徴とするテーブル分類装置。 - 複数のデータベースが有する複数のテーブルを複数のグループに分類するテーブル分類方法であり、
処理装置が、上記複数のテーブルの各テーブルにおける所定の位置にあるカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する第1の分類ステップと、
処理装置が、上記複数のテーブルにおいて、出現頻度の高いカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記第1の分類ステップで分類したテーブルをさらに複数のグループに分類する第2の分類ステップと、
出力装置が、上記第2の分類ステップで分類された結果を出力する出力ステップと
を備えることを特徴とするテーブル分類方法。 - 複数のデータベースが有する複数のテーブルを複数のグループに分類するテーブル分類プログラムであり、
上記複数のテーブルの各テーブルにおける所定の位置にあるカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記複数のテーブルを複数のグループに分類する第1の分類処理と、
上記複数のテーブルにおいて、出現頻度の高いカラムが類似するか否かにより上記各テーブルが類似するか否かを判定して、判定した結果に従い上記第1の分類処理で分類したテーブルをさらに複数のグループに分類する第2の分類処理と、
上記第2の分類処理で分類された結果を出力する出力処理と
を備えることを特徴とするテーブル分類プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008199127A JP5241370B2 (ja) | 2008-08-01 | 2008-08-01 | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム |
US12/360,432 US8112448B2 (en) | 2008-08-01 | 2009-01-27 | Table classification device, table classification method, and table classification program |
CN200910130228A CN101639859A (zh) | 2008-08-01 | 2009-03-26 | 表分类装置、表分类方法以及表分类程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008199127A JP5241370B2 (ja) | 2008-08-01 | 2008-08-01 | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010039593A JP2010039593A (ja) | 2010-02-18 |
JP5241370B2 true JP5241370B2 (ja) | 2013-07-17 |
Family
ID=41609393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008199127A Expired - Fee Related JP5241370B2 (ja) | 2008-08-01 | 2008-08-01 | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8112448B2 (ja) |
JP (1) | JP5241370B2 (ja) |
CN (1) | CN101639859A (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727454A (zh) * | 2008-10-30 | 2010-06-09 | 日电(中国)有限公司 | 用于对象自动分类的方法和系统 |
WO2012006509A1 (en) * | 2010-07-09 | 2012-01-12 | Google Inc. | Table search using recovered semantic information |
JP5398663B2 (ja) * | 2010-08-06 | 2014-01-29 | 三菱電機株式会社 | データ処理装置及びデータ処理方法及びプログラム |
JP5933410B2 (ja) | 2012-10-25 | 2016-06-08 | 株式会社日立製作所 | データベース分析装置及びデータベース分析方法 |
US9165217B2 (en) | 2013-01-18 | 2015-10-20 | International Business Machines Corporation | Techniques for ground-level photo geolocation using digital elevation |
US10726018B2 (en) * | 2014-02-10 | 2020-07-28 | Microsoft Technology Licensing, Llc | Semantic matching and annotation of attributes |
US9317566B1 (en) | 2014-06-27 | 2016-04-19 | Groupon, Inc. | Method and system for programmatic analysis of consumer reviews |
US10878017B1 (en) * | 2014-07-29 | 2020-12-29 | Groupon, Inc. | System and method for programmatic generation of attribute descriptors |
US10977667B1 (en) | 2014-10-22 | 2021-04-13 | Groupon, Inc. | Method and system for programmatic analysis of consumer sentiment with regard to attribute descriptors |
JPWO2017064769A1 (ja) * | 2015-10-14 | 2018-08-02 | 株式会社ターボデータラボラトリー | 情報処理システム及びコンピュータプログラム |
JP6480377B2 (ja) * | 2016-05-06 | 2019-03-06 | 日本電信電話株式会社 | 分類器学習装置、表種類分類装置、方法、及びプログラム |
US20190205361A1 (en) * | 2016-08-05 | 2019-07-04 | Nec Corporation | Table-meaning estimating system, method, and program |
KR101930034B1 (ko) * | 2017-02-24 | 2019-03-14 | (주)위세아이텍 | 데이터의 도메인을 판별하는 장치 및 그 방법 |
BR102018004797A2 (pt) * | 2017-03-09 | 2019-02-19 | Tata Consultancy Services Limited | Método implantado por processador para mapear bancos de dados heterogêneos, sistema de mapeamento de dados e um ou mais meios de armazenamento de informações legíveis por máquina não transitórios |
WO2018212106A1 (ja) * | 2017-05-19 | 2018-11-22 | 学校法人神奈川大学 | 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム |
JP6840062B2 (ja) * | 2017-09-28 | 2021-03-10 | 株式会社日立製作所 | テーブル関係解析支援装置、および、テーブル関係解析支援方法 |
US11010363B2 (en) * | 2018-04-05 | 2021-05-18 | Sap Se | Complementing existing tables while grouping tables in a distributed database |
US11003693B2 (en) * | 2018-04-05 | 2021-05-11 | Sap Se | Grouping tables with existing tables in a distributed database |
JP7014199B2 (ja) * | 2019-03-08 | 2022-02-01 | オムロン株式会社 | 制御システム、情報処理装置、および情報処理プログラム |
US11138477B2 (en) * | 2019-08-15 | 2021-10-05 | Collibra Nv | Classification of data using aggregated information from multiple classification modules |
WO2021124469A1 (ja) * | 2019-12-18 | 2021-06-24 | 株式会社日立製作所 | データ意味推定システム及びデータ意味推定方法 |
CN111916165A (zh) * | 2020-08-18 | 2020-11-10 | 泰康保险集团股份有限公司 | 用于评估量表的相似性评估方法及装置 |
US11544294B2 (en) | 2020-12-10 | 2023-01-03 | Sap Se | Distributing tables in a distributed database using consolidated grouping sources |
US11630853B2 (en) * | 2021-01-29 | 2023-04-18 | Snowflake Inc. | Metadata classification |
JP2023033737A (ja) * | 2021-08-30 | 2023-03-13 | 株式会社Find | データベース生成装置及びデータベース生成方法並びにデータベース生成用プログラム |
US11816582B2 (en) * | 2021-10-21 | 2023-11-14 | Snowflake Inc. | Heuristic search for k-anonymization |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11213014A (ja) | 1997-11-19 | 1999-08-06 | Nippon Steel Corp | データベースシステム、データベース検索方法及び記録媒体 |
JPH11250092A (ja) | 1998-03-04 | 1999-09-17 | Ntt Communication Ware Kk | 共用データベース装置、共用データベースシステム、共用データベース装置のデータ抽出方法および共用データベース装置のデータ抽出プログラムを記録した記録媒体 |
US6578030B1 (en) * | 2000-06-30 | 2003-06-10 | Requisite Technology Inc. | Method and apparatus for mapping one catalog into another catalog |
US7016903B1 (en) * | 2001-01-25 | 2006-03-21 | Oracle International Corporation | Method for conditionally updating or inserting a row into a table |
US7165068B2 (en) * | 2002-06-12 | 2007-01-16 | Zycus Infotech Pvt Ltd. | System and method for electronic catalog classification using a hybrid of rule based and statistical method |
US7383260B2 (en) * | 2004-08-03 | 2008-06-03 | International Business Machines Corporation | Method and apparatus for ontology-based classification of media content |
JP4604225B2 (ja) | 2005-02-21 | 2011-01-05 | 株式会社国際電気通信基礎技術研究所 | インタラクションデータ抽出装置 |
-
2008
- 2008-08-01 JP JP2008199127A patent/JP5241370B2/ja not_active Expired - Fee Related
-
2009
- 2009-01-27 US US12/360,432 patent/US8112448B2/en not_active Expired - Fee Related
- 2009-03-26 CN CN200910130228A patent/CN101639859A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2010039593A (ja) | 2010-02-18 |
CN101639859A (zh) | 2010-02-03 |
US20100030801A1 (en) | 2010-02-04 |
US8112448B2 (en) | 2012-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5241370B2 (ja) | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム | |
US7480643B2 (en) | System and method for migrating databases | |
US8019761B2 (en) | Recording medium storing a design support program, design support method, and design support apparatus | |
CN112199433A (zh) | 一种用于城市级数据中台的数据治理系统 | |
EP1315103B1 (en) | File search method and apparatus, and index file creation method and device | |
CN103631842A (zh) | 用于检测多列复合键列集合的方法和系统 | |
US8145580B2 (en) | Data management apparatus and method for managing data elements using a plurality of metadata elements | |
CN110799961A (zh) | 在数据库中创建和删除租户的系统和方法 | |
JP4832952B2 (ja) | データベース解析システム及びデータベース解析方法及びプログラム | |
JP2004030221A (ja) | 変更対象テーブル自動検出方法 | |
JP6242540B1 (ja) | データ変換システム及びデータ変換方法 | |
JP5033322B2 (ja) | 連結関係情報を用いた情報管理方法及び装置 | |
JP5836893B2 (ja) | ファイル管理装置、ファイル管理方法、及びプログラム | |
AU2003222783A1 (en) | Method and apparatus for querying relational databases | |
JP6540384B2 (ja) | 評価プログラム、手順書評価方法、および評価装置 | |
KR101035037B1 (ko) | 동적 임계값이 적용된 유사문서 분류화 장치 및 방법 | |
CN111460257A (zh) | 专题生成方法、装置、电子设备和存储介质 | |
JP2014102625A (ja) | 情報検索システム、プログラム、および方法 | |
WO2004038582A1 (ja) | データ処理方法およびデータ処理プログラム | |
JP7411489B2 (ja) | 生産知識管理システム、生産知識管理方法及び生産知識管理プログラム | |
JP5954742B2 (ja) | 文書を検索する装置及び方法 | |
JP6852002B2 (ja) | データ検索方法、データ検索装置及びプログラム | |
JP6123372B2 (ja) | 情報処理システム、名寄せ判定方法及びプログラム | |
JP6677624B2 (ja) | 分析装置、分析方法、および分析プログラム | |
JPH0934906A (ja) | 図書管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130125 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130402 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |