(57)【要約】【課題】データベース上に存在するテーブル間およびカラム間に存在する関係性とその重要度を評価した情報を生成するデータベース関係性抽出システムの提供。【解決手段】関係性抽出部２３が、データ処理情報に記載されたテーブル間や項目間の相互処理からテーブル間や項目間の関係性を抽出する。関係性評価部２４が、関係性を抽出した際の項目間の相互処理の形式と関係性の出現頻度から関係性の重要度の評価を行う。データの出力部２５が、関係性抽出部２３によって抽出された関係性情報と関係性評価部２４によって算出された関係性評価値を出力する。【選択図】図２
2017021463.tif 000002
【特許請求の範囲】
【請求項１】
データベースの運用時に発生するデータ処理情報から項目間の関係性に関する情報を情報処理装置が抽出するデータベース関係性抽出システムであって、
該情報処理装置が、
前記データベースに発生するデータ処理情報を取得するデータ処理情報取得部と、
前記データ処理情報の文字列を解析してデータの相互処理が記載された処理構文を抽出する構文解析部と、
前記構文解析部が抽出した構文解析から関係性情報を抽出する関係性抽出部と、
前記関係性抽出部が抽出した関係性情報を蓄積しその発生頻度と形態から関係性評価情報を算出する関係性評価部と、
前記関係性情報と前記関係性評価情報を出力する出力部と、
を備えることを特徴とするデータベース関係性抽出システム。
【請求項２】
前記データ処理情報取得部が、前記データベースの運用時に発生するデータ処理情報の処理に際して生成される実行計画情報を取得することを特徴とする請求項１に記載のデータベース関係性抽出システム。
【請求項３】
データ取得部が、前記データベースの運用時に発生するデータ処理情報の中間処理情報を取得することを特徴とする請求項１または２に記載のデータベース関係性抽出システム。
【請求項４】
データ取得部が、前記データベースに接続して各種情報を取得可能なプログラムの出力であるデータ処理履歴を取得することを特徴とする請求項１から３何れかに記載のデータベース関係性抽出システム。
【請求項５】
前記関係性評価部が、関係性情報の蓄積を行わず１つのデータ処理情報から評価情報を算出することを特徴とする請求項１から４何れかに記載のデータベース関係性抽出システム。
【請求項６】
データベースの運用時に発生するデータ処理情報から項目間の関係性に関する情報を情報処理装置が抽出するデータベース関係性抽出方法であって、
該情報処理装置に、
前記データベースに発生するデータ処理情報を取得するデータ処理情報取得ステップと、
前記データ処理情報の文字列を解析してデータの相互処理が記載された処理構文を抽出する構文解析ステップと、
前記構文解析ステップにより抽出した構文解析から関係性情報を抽出する関係性抽出ステップと、
前記関係性抽出ステップにより抽出した関係性情報を蓄積しその発生頻度と形態から関係性評価情報を算出する関係性評価ステップと、
前記関係性情報と前記関係性評価情報を出力する出力ステップと、
を実行させることを特徴とするデータベース関係性抽出方法。
【請求項７】
前記データ処理情報取得ステップにおいて、前記データベースの運用時に発生するデータ処理情報の処理に際して生成される実行計画情報を取得することを特徴とする請求項６に記載のデータベース関係性抽出方法。
【請求項８】
データ取得ステップにおいて、前記データベースの運用時に発生するデータ処理情報の中間処理情報を取得することを特徴とする請求項６または７に記載のデータベース関係性抽出方法。
【請求項９】
データ取得ステップにおいて、前記データベースに接続して各種情報を取得可能なプログラムの出力であるデータ処理履歴を取得することを特徴とする請求項６から８何れかに記載のデータベース関係性抽出方法。
【請求項１０】
前記関係性評価ステップにおいて、関係性情報の蓄積を行わず１つのデータ処理情報から評価情報を算出することを特徴とする請求項６から９何れかに記載のデータベース関係性抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースにおける関係性を容易に抽出することができるデータベース関係性抽出システム及びデータベース関係性抽出方法に関する。
【背景技術】
【０００２】
一般にコンピュータシステムは、データベースにおけるデータ間の関係性を、テーブル間のデータの整合性を保つために定義された参照整合性をチェックし，整合性を逸脱するような値がテーブル内に存在しないようにする参照整合性制約として定義する手法が知られている。この参照整合性制約の定義によって、ユーザに対してデータ間の関係性に関する情報を提供し、また制約機能によってデータの整合性の確保することができる。
【０００３】
なお、従来、データ間に定義された参照整合性制約の情報を利用し、複数の関連するテーブル間へのアクセス処理の自動化を実現する技術が記載された文献としては、下記の特許文献１が挙げられる。
【０００４】
この特許文献１には、「ＳＱＬ生成部は、前記エンティティオブジェクトが対応する前記テーブルを特定し、前記操作条件に応じて、特定した前記テーブルに対する操作を実行するためのＳＱＬ文を作成し、そして、前記エンティオブジェクトが、前記関連するテーブルを特定する情報を含んでいるかどうかを判定し、含んでいる場合は、前記関連するテーブルに対する操作を実行するためのＳＱＬ文を更に生成する」という記載がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−５９８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の特許文献１に記載された技術は、関連する２以上のテーブルを操作対象とした際に利用者側にＳＱＬの記述を求めることなく操作を実行でき、関連する２以上のテーブルを操作した際のアクセス性能の低下も抑制することができる効果に留まる。
【０００７】
そこで、本発明では、データベースの運用時に発生するデータから項目間の関係性に関する情報を自動的に抽出することができるデータベース関係性抽出システム及びデータベース関係性抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、データベースの運用時に発生するデータ処理情報から項目間の関係性に関する情報を情報処理装置が抽出するデータベース関係性抽出システムであって、
該情報処理装置が、
前記データベースに発生するデータ処理情報を取得するデータ処理情報取得部と、
前記データ処理情報の文字列を解析してデータの相互処理が記載された処理構文を抽出する構文解析部と、
前記構文解析部が抽出した構文解析から関係性情報を抽出する関係性抽出部と、
前記関係性抽出部が抽出した関係性情報を蓄積しその発生頻度と形態から関係性評価情報を算出する関係性評価部と、
前記関係性情報と前記関係性評価情報を出力する出力部と、
を備えるものである。
【０００９】
また、本発明は、データベースの運用時に発生するデータ処理情報から項目間の関係性に関する情報を情報処理装置が抽出するデータベース関係性抽出方法であって、
該情報処理装置に、
前記データベースに発生するデータ処理情報を取得するデータ処理情報取得ステップと、
前記データ処理情報の文字列を解析してデータの相互処理が記載された処理構文を抽出する構文解析ステップと、
前記構文解析ステップにより抽出した構文解析から関係性情報を抽出する関係性抽出ステップと、
前記関係性抽出ステップにより抽出した関係性情報を蓄積しその発生頻度と形態から関係性評価情報を算出する関係性評価ステップと、
前記関係性情報と前記関係性評価情報を出力する出力ステップと、
を実行させるものである。
【発明の効果】
【００１０】
本発明によるデータベース関係性抽出システム及びデータベース関係性抽出方法は、データベースの運用時に発生するデータから項目間の関係性に関する情報を自動的に抽出することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態によるデータベース関係性抽出システムを適用したコンピュータシステムの概要を示す図である。
【図２】本実施例による情報処理装置の機能ブロックの一例を示す図である。
【図３】本実施例による情報処理装置のハードウェア構成例を示す図である。
【図４】本実施例による情報処理装置の動作例を示すフローチャートである。
【図５】本実施例によるデータ処理情報取得部で取得されるデータ処理情報例を示す図である。
【図６】本実施例による関係性の抽出結果例を示す図である。
【図７】本実施例によるデータ発生頻度による関係性評価方法例と評価過程例を示す図である。
【図８】本実施例によるデータ発生頻度による特徴毎の関係性評価方法例と評価過程例を示す図である。
【図９】本実施例による関係性情報例と関係性評価情報出力例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明による実施例を説明する。
【実施例１】
【００１３】
［構成］
本実施例によるデータベース関係性抽出方法を実行するデータベース関係性抽出システムを含むコンピュータシステムは、図１に示す如く、各種のデータ処理情報１２を格納するデータベース１１と、該データベース１１からデータ処理情報１２を入力し、関係性情報１３及び関係性評価情報１４を出力する情報処理装置とを備える。
【００１４】
本実施例におけるデータ処理情報１２は、例えば、データベースの処理要求のクエリ（ｑｕｅｒｙ：データベース管理システムに対する処理要求を文字列として表したものである。検索クエリでは検索対象のテーブルやデータの抽出条件、並べ方などを指定する文字列）であり、データ処理情報には処理対象のテーブルおよび項目とデータ処理のためのテーブル間の結合および項目間の結合と項目間の相互の処理内容とが含まれる。
【００１５】
前記データ処理情報１２は、例えば、データベースにてデータ処理を実行する際に生成される実行計画あるいは中間ファイルや、データベースの参照機能を持つソフトから取得できるデータ処理ログの出力結果であっても良い。このデータ処理情報１２は、データベース運用に関連した特別な処理を必要とせず、また逐次取得が可能な情報である為、本実施例の適用に際しては現在のデータベースの運用を変更する事無く容易に適用することができる。
【００１６】
前記関係性情報１３は、例えば図９に示すＥＲ図（Ｅｎｔｉｔｙ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｄｉａｇｒａｍ）の如く、テーブル間あるいは項目間に引かれた関係線９１１〜９１４の太さによって関係性評価情報を表現する。なお、前記関係性評価情報１４は、例えば、関係性の利用頻度、あるいは利用頻度から任意の数式で算定した値を記録したデータや、関係性の形態を特徴ベクトルで表現したデータであっても良い。また、この関係性情報１３は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）やテキストファイル、バイナリデータであってもよい。
【００１７】
前記関係性評価情報１４は、図７に示す関係性評価値７２の如く、データ間の関連の強さや重要度及び利用の頻度を表すものであり、ユーザはデータ間の関連に関する知識を得る事ができる。その知識を利用し、項目間の関連が持つ意味や、データベース上での効率的なデータアクセスの方法や、データベースのチューニング設定を検討することができる。
【００１８】
前記情報処理装置１は、図２に示す如く、次の機能部位によって構成され、各部位が、処理を実行する際、データＴＢ（テーブル）を記憶部２６に生成したり、生成したデータＴＢを参照する。
【００１９】
（１）ファイルアクセス機能又はデータベースの照会機能を有し、データベース１１上で実行されるデータ処理に関するデータ処理情報１２を取得するデータ処理情報取得部２１。
【００２０】
このデータ処理情報取得部２１におけるデータ処理情報１２の取得は、データベース１１の稼働を監視して処理発生の都度に自動的に行う形態であっても良いし、ユーザからの指示によって取得を行う形態であっても良い。
【００２１】
（２）前記データ処理情報取得部２１により取得したデータ処理情報１２を解析し、処理対象のテーブルや項目とデータの処理内容を識別可能な形へ変換する構文解析部２２。
【００２２】
この構文解析部２２は、データ処理情報取得部２１で取得したデータ処理情報１２にデータの操作以外の不要な情報が含まれる場合、不要情報を除外してデータ処理に関する個所のみを抽出する機能を有しても良い。
【００２３】
（３）前記構文解析部２２により解析したデータ処理情報１２から、テーブル間や項目間の結合、テーブル間や項目間の相互の処理、データのやり取りを関係性情報として抽出する関係性抽出部２３。
【００２４】
この関係性情報の例としては、項目間で結合やデータのやり取りがあり、項目間の関連が認められた場合に、２項目間の「関係の存在」を定義すること、結合の有無、データのやり取りの有無といった関連の形式を「関係の特徴」と定義することが挙げられる。この「関係の特徴」として、データの流れの向きを加えても良いし、利用される項目の組み合わせを「関係の特徴」として加えても良い。また項目間の関係だけでなく、対象項目に実際に格納されるデータに着目し、データの種類数やデータサイズを「関係の特徴」として加えても良い。説明の為に「関係の存在」と「関係の特徴」を定義したが、両者は分けて取り扱う必要はなく、「関係の存在」も「関係の特徴」の１つの形式であると取り扱っても良い。
【００２５】
（４）前記関係性抽出部２３によって得られた関係性情報に評価を加える関係性評価部２４。
【００２６】
この関係性に評価を加える評価方法としては、「関係の存在」が認められた頻度を数値化する方法がある。また、単純な頻度ではなく、他の項目との相対的な発生頻度を数値化しても良い。関係性の評価結果は必ずしも１つである必要はなく、それぞれの特徴毎に評価を行っても良い。また「関係の特徴」をパラメータとする任意の数式によって評価値の算出を行っても良い。また、評価は複数のデータ処理情報を蓄積して行っても良いし、蓄積を行わなくても良い。
【００２７】
（５）前記関係性抽出部２３で得られた情報を関係性情報１３として、また、関係性評価部２４で得られた情報を関係性評価情報１４として印字出力又は表示出力する出力部２５。
【００２８】
なお、出力結果は、必ずしも関係性情報１３と関係性評価情報１４の両者を出力しなければならないわけではなく、関係性情報１３のみ、あるいは関係性評価情報１４のみを出力しても良い。
【００２９】
（６）データＴＢ（ＴＢ：Ｔａｂｌｅ）を一時的に格納する記憶部２６。
【００３０】
この情報処理装置１の機能部位を実現するためのハードウェア構成例を図３を参照して説明する。このハードウェア構成例は、次のハード部位によって構成される。
【００３１】
（１）情報処理装置１全体の制御を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１。
【００３２】
（２）ＣＰＵ３１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラム、関係性情報１３、関係性評価情報１４を生成するためのアプリケーションプログラムの少なくとも一部を一時的に格納すると共に、ＣＰＵ３１による処理に必要な各種データ少なくとも一部を一時的に格納するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３２。
【００３３】
（３）ＣＰＵ３１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムや、関係性情報１３、関係性評価情報１４を生成するためのアプリケーションプログラムの少なくとも一部を一時的に格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３。
【００３４】
（４）ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラム、関係性情報１３、関係性評価情報１４を生成するためのアプリケーションプログラムを格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３４。
【００３５】
（５）外部の記憶媒体にデータの記録再生を行うＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）ドライブやＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブなどの装置であるドライブ３５。
【００３６】
（６）外部とのネットワークに接続され、ＣＰＵ３１の指示に応じて外部との通信を行うＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタ等の通信インタフェース３６。
【００３７】
（７）前記ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、ＨＤＤ３４、ドライブ３５、通信インタフェース３６を相互に接続するバス３７。
【００３８】
なお、前述の図２及び図３に示した情報処理装置１の構成は、理解を容易にするために、主な処理内容に応じて分類したものであって、各要素の分類の仕方や名称によって、本願発明が制限されることはない。例えば、情報処理装置１のハード部位構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理は、１つのプログラムで実現されても良いし、複数のプログラムで実現されても良い。
【００３９】
また、前述の情報処理装置１の機能部位は、一般のコンピュータによって実現することができ、この場合、情報処理装置１が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記機能部位の機能をコンピュータ上で実現する。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。
【００４０】
磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクには、Ｂｌｕ−ｒａｙ（登録商標）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）等が挙げられる。光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等が挙げられる。
【００４１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体として販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００４２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００４３】
また、上記の機能部位の少なくとも一部または全部を、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、またはＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等の電子回路で実現することもできる。
【００４４】
［動作］
次に、本実施例によるデータベース関係性抽出システムの動作を図４を参照して説明する。
本実施例によるデータベース関係性抽出システムは、情報処理装置１が、例えば、ユーザからの指示に応じて図４に示す各ステップの実行を開始する。
【００４５】
ステップＳ１：データ処理情報取得部２１が、データベース１１からデータ処理情報１２を取得するステップ。
【００４６】
このステップは、例えば、オペレーションシステム上に生成された処理のログファイルを、オペレーションシステムのファイルアクセス機能を使用して取得するステップである。
【００４７】
ステップＳ２：構文解析部２２が、データベース１１から取得したデータ処理情報１２を解析し、データ操作に関する記述部分のみを抽出し、加えて、対象テーブルや項目や処理内容が識別可能な形式の処理構文に変換するステップ。
【００４８】
この処理構文は、データ操作に関する処理構文の場合、図５中に符号５１にて示す如く、データ処理情報１２に”Ｓｔａｒｔ  Ｄａｔａｂａｓｅ”等のデータ項目の操作に直接関係の無い制御情報等を含んでいる場合、構文解析部２２が、データ処理情報１２の仕様に従ってデータ操作に関する文節５１のみを抽出し、構文解析処理を行って抽出後の文節を分割し、単語の識別を行い、テーブルや項目あるいは処理内容が識別可能な形式に変換することによって変換する。構文解析処理は従来の汎用的な形式言語の構文解析技術を使用することもできる。
【００４９】
ステップＳ３：関係性抽出部２３が、データ処理情報１２に記載されたテーブルや項目間の相互の処理内容を分析し、テーブルや項目間の関係性を抽出するステップ。
【００５０】
このテーブルや項目間の関係性抽出は、図５に示したデータ操作構文である文節５１の場合、データ取得、更新、削除等の処理が記載され、項目間の関連性を前提とした処理が行われている部分に着目し、関連性の抽出を行う。
【００５１】
この関係性判定の例として図５の構文５１１、５１２、５１３、５１４を用いて説明する。
構文５１１では、テーブル「ｔａｂｌｅ１」とテーブル「ｔａｂｌｅ２」の結合の為に項目「ｔａｂｌｅ１．ｃｏｌ１」と「ｔａｂｌｅ１．ｃｏｌ２」が結合されている。これは、この２つの項目を利用して、２つのテーブルのデータが紐づけられることを示している。この様にテーブルの結合に関する記述で２つの項目が結合のキーとして使用された場合、その２つの項目間には関連があると判定する。
【００５２】
構文５１２では、「ｔａｂｌｅ１．ｃｏｌ２」の抽出条件として、「ｔａｂｌｅ３．ｃｏｌ３」の抽出データが指定されている。これは、「ｔａｂｌｅ３．ｃｏｌ３」のデータが「ｔａｂｌｅ１．ｃｏｌ２」に格納され得る、値の種類や、値の範囲、値の意味合いが同じ、つまり同等のデータを取り扱う項目であることを示している。そこで、ある項目に対して、他の項目のデータが注入される形で使用されている場合、２つの項目間には関連があると判定する。
【００５３】
構文５１３では、演算処理として「ｔａｂｌｅ１．ｃｏｌ３」と、「ｔａｂｌｅ２．ｃｏｌ３」の加算が行われている。このように、あるテーブルの２つのデータ項目が同一演算で利用されている場合、構文５１２のケースと同様に、２つの項目は同等のデータを取り扱っており、２つの項目間には関連があると判定する。
【００５４】
構文５１４では、データ取得対象として「ｔａｂｌｅ１．ｃｏｌ４」と、「ｔａｂｌｅ２．ｃｏｌ４」が列記されている。これは２つの項目をセットで参照する事に意味があると判断できる。この様に、同時に取得される項目間には、構文５１１、構文５１２程には強くはないが、関係性が存在していると判定する。なお、一般的なＥＲ図の関連線を作成する事を目的とする場合には、構文５１３、構文５１４の形式の関係性は抽出対象に含めなくても良い。また、本例では、関係性を抽出する４つの構文を例として挙げたが、その他の構文を関係性の判断材料としても良い。
【００５５】
ステップＳ４：関係性評価部２４が、関係性抽出部２３で作成された関係性情報を元に、関係性の評価を行うステップ。
【００５６】
このステップにおける単純な関係性の評価方法としては、「関係の存在」が認められた頻度を数値化する方法がある。また、単純な頻度ではなく、他の項目との相対的な発生頻度を数値化しても良く、「関係の特徴」をパラメータとする任意の計算式によって評価結果の算出を行っても良い。
【００５７】
この関係性の評価例は、図７に示す如く、各ｔａｂｌｅが、関係性７１１、関係性７１２、関係性７１３、関係性７１４が存在し、それぞれの発生頻度を回数として表される。
【００５８】
また、図７の下段に示す算出例７２は、相対的な頻度による関係性の評価計算過程を表している。この算出例７２では「関係の存在」が認められた頻度について、他の項目との相対差で重みづけを行って数値化し、この計算方法では、相対的に発生頻度の高い関係性を、より重要度の高い関連があるものとして取り扱う。
【００５９】
また、図７の例では、「関係性の存在」を用いすべての関係性を評価値計算に組み込んでいるが、「関係性の特徴」毎に、頻度の算出を行っても良く、この特徴別の評価値計算例を図８に示す。
【００６０】
図８は、前記構文５１１に示すテーブル間結合を「関係性の特徴Ａ」とし、構文５１２に示す注入形式の関連を「関係性の特徴Ｂ」と定義し、それぞれの出現回数をデータ処理情報１２であるクエリ１とクエリ２から集計した結果（特徴毎の関係性評価方法例８１と評価過程算出例８２）である。
【００６１】
この図８に示す関係性評価方法例８１は、「Ｔａｂｌｅ２，Ｃｏｌ１」と「Ｔａｂｌｅ１，Ｃｏｌ１」を結ぶ関係線７１１の「特徴Ａが１回」「特徴Ｂが２回」であることを表し、「Ｔａｂｌｅ１，Ｃｏｌ２」と「Ｔａｂｌｅ３，Ｃｏｌ２」を結ぶ関係線の「特徴Ａが３回」であることを表し、「Ｔａｂｌｅ２，Ｃｏｌ５」と「Ｔａｂｌｅ３，Ｃｏｌ３」を結ぶ関係線の「特徴Ａが４回」であることを表している。
【００６２】
また、評価過程算出例８２は、テーブル結合形式の関係性の特徴Ａの評価値が図示の数式により算出され、注入形式の特徴Ｂの評価値が図示の数式により算出されることを表している。
【００６３】
ステップＳ５：出力部２５が、関係性抽出部２３で作成した関係性情報１３と、関係性評価部２４で作成した関係性評価情報１４の出力を行うステップ。
【００６４】
このステップＳ５により出力される関係性評価情報１４は、図９に示す如く、関係性情報１３と関係性評価情報１４を表示したＥＲ図形式の出力例であって、各テーブルと各項目間に引かれた関連線が、相互に関係があることを示す。また、各関連線の太さが関係の強さ、重要度を示す。なお、この出力例は、一例であり、図示した例に限られず、各情報は、ＥＲ図の形式に限られず、他のデータ構造であっても良い。
【００６５】
従来技術におけるデータベースでは項目間に相互の関係性が存在するデータを取り扱う場合、データ間の整合性の担保とデータ間の関係性の明示化の為にデータ間の関係性をデータベース上で定義設定するか、またはデータベース外で資料化されていることが望まれ、関係性の抽出と、データベースの構成に変更が生じた際のメンテナンスには作業コストがかかるため、関係性情報が設定されないこと、または資料化が実施されないことがあったのに対し、本実施例によるデータベース関係性抽出システムは、データベースの運用時に発生するデータから項目間の関係性に関する情報を自動的に抽出することができる。
【符号の説明】
【００６６】
１  情報処理装置、１１  データベース、１２データ処理情報、１３  関係性情報、
１４  関係性評価情報、２１  データ処理情報取得部、２２  構文解析部、
２３  関係性抽出部、２４  関係性評価部、２５  出力部、２６  記憶部、
３５  ドライブ、３６  通信インタフェース、３７  バス
【図１】
2017021463.tif 000003
【図２】
2017021463.tif 000004
【図３】
2017021463.tif 000005
【図４】
2017021463.tif 000006
【図５】
2017021463.tif 000007
【図６】
2017021463.tif 000008
【図７】
2017021463.tif 000009
【図８】
2017021463.tif 000010
【図９】
2017021463.tif 000011