(57)【要約】      （修正有）【課題】データの変化に動的に対応しつつ、データの構造を把握するデータベース支援装置、データベース支援方法及びプログラムを提供する。【解決手段】データベース支援装置１は、データを識別するデータ識別情報とデータ値とを対応付けてデータが記述された対象データ記述を取得する取得部２１と、取得した対象データ記述に含まれているデータを抽出し、抽出した当該データを解析するデータ解析部２２と、解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部２３とを備える。【選択図】図１
2019086849.tif 000002
【特許請求の範囲】
【請求項１】
データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得部と、
前記取得部によって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析部と、
前記データ解析部によって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部であって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成部と
を備えることを特徴とするデータベース支援装置。
【請求項２】
前記データ解析部は、前記対象データ記述に含まれる名前空間の記述を抽出し、
前記ファイル生成部は、前記名前空間の一覧を含む前記データ構造動的定義ファイルを生成又は再生成する
ことを特徴とする請求項１に記載のデータベース支援装置。
【請求項３】
前記データ解析部は、抽出した前記名前空間の識別情報が重複する場合に、重複した前記名前空間を個別に識別できるように、前記識別情報に枝番号を付与する
ことを特徴とする請求項２に記載のデータベース支援装置。
【請求項４】
前記データ解析部は、抽出した前記データの要素ごとの構造及びデータ値を解析し、
前記ファイル生成部は、前記要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成する
ことを特徴とする請求項１から請求項３のいずれか一項に記載のデータベース支援装置。
【請求項５】
前記データ解析部は、抽出した前記データの階層構造を解析し、
前記ファイル生成部は、前記データの階層構造を維持した前記データ構造動的定義ファイルを生成又は再生成する
ことを特徴とする請求項１から請求項４のいずれか一項に記載のデータベース支援装置。
【請求項６】
前記ファイル生成部によって生成又は再生成された前記データ構造動的定義ファイルに基づいて、前記対象データ記述に含まれるデータの構造に関する情報を出力部に出力する出力処理部を備える
ことを特徴とする請求項１から請求項５のいずれか一項に記載のデータベース支援装置。
【請求項７】
データベース支援装置が実行するデータベース支援方法であって、
データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、
前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、
前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップと
を含むことを特徴とするデータベース支援方法。
【請求項８】
コンピュータに、
データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、
前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、
前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース支援装置、データベース支援方法、及びプログラムに関する。
【背景技術】
【０００２】
ＸＭＬ（Extensible Markup Language）などのデータベースでは、投入されるデータ形式のバージョンが変わるなど、後から挿入されるデータの要素や属性などが変化しても、新旧データの差異を勘案することなくそのまま追加格納できることが魅力のひとつである。また、近年、ＸＭＬ分析を検証するのに用いられえる定義ファイルを自動で生成する技術が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−９２５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＸＭＬなどのデータベースでは、静的な構造定義の利用を前提とすると、上述したデータ形式のバージョンの変化や、データの要素又は属性の変化などの構造の変化への対応を毎回迫られることになる。多くの場合、ＸＭＬなどのデータベースの中身は、複数の仕様が絡み合うなど複雑な記述になっていることが多い。
このような背景もあり、従来のＸＭＬなどのデータベースでは、ＸＭＬデータの変化がある度に、システム開発の有識者が動員されて既存及び新規データの解析を行っていた。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、データの変化に動的に対応しつつ、データの構造を把握することができるデータベース支援装置、データベース支援方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明の一態様は、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得部と、前記取得部によって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析部と、前記データ解析部によって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部であって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成部とを備えることを特徴とするデータベース支援装置である。
【０００７】
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、前記対象データ記述に含まれる名前空間の記述を抽出し、前記ファイル生成部は、前記名前空間の一覧を含む前記データ構造動的定義ファイルを生成又は再生成することを特徴とする。
【０００８】
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記名前空間の識別情報が重複する場合に、重複した前記名前空間を個別に識別できるように、前記識別情報に枝番号を付与することを特徴とする。
【０００９】
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記データの要素ごとの構造及びデータ値を解析し、前記ファイル生成部は、前記要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成することを特徴とする。
【００１０】
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記データの階層構造を解析し、前記ファイル生成部は、前記データの階層構造を維持した前記データ構造動的定義ファイルを生成又は再生成することを特徴とする。
【００１１】
また、本発明の一態様は、上記のデータベース支援装置において、前記ファイル生成部によって生成又は再生成された前記データ構造動的定義ファイルに基づいて、前記対象データ記述に含まれるデータの構造に関する情報を出力部に出力する出力処理部を備えることを特徴とする。
【００１２】
また、本発明の一態様は、データベース支援装置が実行するデータベース支援方法であって、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップとを含むことを特徴とするデータベース支援方法である。
【００１３】
また、本発明の一態様は、コンピュータに、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップとを実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、データの変化に動的に対応しつつ、データの構造を把握することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態によるデータベース支援装置の一例を示すブロック図である。
【図２】本実施形態におけるデータ構造動的定義ファイルの一例を示す図である。
【図３】本実施形態におけるデータ構造動的定義ファイルの記述内容を説明する図である。
【図４】本実施形態における名前空間の重複の回避例を示す図である。
【図５】本実施形態におけるデータ構造定義情報の生成例を示す第１の図である。
【図６】本実施形態におけるデータ構造定義情報の生成例を示す第２の図である。
【図７】本実施形態におけるデータ構造動的定義ファイルの生成例を示す図である。
【図８】本実施形態におけるデータベースの構造情報の表示例を示す図である。
【図９】本実施形態によるデータベース支援装置の動作の一例を示すフローチャートである。
【図１０】本実施形態によるデータベース支援装置におけるデータ構造動的定義ファイルの更新例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態によるデータベース支援装置、及びデータベース支援方法について、図面を参照して説明する。
【００１７】
図１は、本実施形態によるデータベース支援装置１の一例を示すブロック図である。
図１に示すように、データベース支援装置１は、入力部１１と、表示部１２と、記憶部１３と、制御部２０とを備えている。データベース支援装置１は、ＸＭＬで記述された対象ＸＭＬデータ（対象データ記述）を解析して、データ構造を示すデータ構造動的定義ファイルを生成する。ここで、ＸＭＬは、データを識別するデータ識別情報（例えば、データ項目、要素名など）と、データ値とを対応付けてデータを記述するデータ記述言語の一例である。また、データ構造動的定義ファイルは、図２に示すような記述を含むファイルであり、その詳細については後述する。
【００１８】
入力部１１は、例えば、キーボードやタッチパネルなどの入力装置である。入力部１１は、データベース支援装置１の各種操作をユーザから受け付け、受け付けた操作示す情報を制御部２０に出力する。
【００１９】
表示部１２（出力部の一例）は、例えば、液晶ディスプレイ装置などであり、制御部２０による制御に基づいて、各種情報を表示する。
【００２０】
記憶部１３は、例えば、ハードディスクドライブ装置（ＨＤＤ装置）や半導体メモリなどであり、データベース支援装置１の各種処理に利用される情報を記憶する。記憶部１３は、例えば、データベースの解析を行う対象ＸＭＬデータを含むファイル及びディレクトリや、データ構造動的定義ファイル及びディレクトリなどを記憶する。
【００２１】
制御部２０は、例えば、ＣＰＵ（Central Processing Unit）などを含むプロセッサであり、データベース支援装置１を統括的に制御する。制御部２０は、対象ＸＭＬ取得部２１と、データ解析部２２と、定義ファイル生成部２３と、表示処理部２４とを備えている。
【００２２】
対象ＸＭＬ取得部２１（取得部の一例）は、データがＸＭＬで記述された対象ＸＭＬデータ（対象データ記述）を、例えば、記憶部１３から取得する。対象ＸＭＬ取得部２１は、例えば、ユーザから入力部１１によって指定されたディレクトリ内のＸＭＬデータファイルを記憶部１３から取得する。
【００２３】
データ解析部２２は、対象ＸＭＬ取得部２１によって取得した対象ＸＭＬデータに含まれているデータを抽出し、抽出した当該データを解析する。データ解析部２２は、例えば、抽出したデータの要素ごとの構造及びデータ値を解析する。具体的に、データ解析部２２は、データの要素、及び属性のＸＰａｔｈによる位置を解析するとともに、データの階層構造（例えば、データの要素及び属性の階層構造）を解析する。また、データ解析部２２は、データの繰り返し判定（例えば、繰返し数の取得）、データ型の判定、データ値の最大値、最小値、ｎｕｌｌ（ヌル：空白）を含むか否かの判定、及びデータの出現回数の取得などを実行する。なお、データ解析部２２は、データ型を判定できない場合に、文字列型と判定する。
【００２４】
また、データ解析部２２は、対象ＸＭＬデータに含まれる名前空間の記述を抽出する。データ解析部２２は、抽出した名前空間の識別情報（例えば、名前空間名（ｐｒｅｆｉｘ））が重複する場合に、重複した名前空間を個別に識別できるように、識別情報（例えば、名前空間名（ｐｒｅｆｉｘ））に枝番号を付与する。
【００２５】
定義ファイル生成部２３（ファイル生成部の一例）は、データ解析部２２によって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、定義ファイル生成部２３は、対象ＸＭＬデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成する。そして、定義ファイル生成部２３は、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
【００２６】
具体的に、定義ファイル生成部２３は、要素（又は属性）に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値にｎｕｌｌ（値がない場合）を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成し、データ構造動的定義ファイルを生成又は再生成（更新）する。また、定義ファイル生成部２３は、データの階層構造を維持したデータ構造動的定義ファイルを生成又は再生成（更新）する。また、定義ファイル生成部２３は、要素の出現順を維持して、データ構造動的定義ファイルを生成又は再生成（更新）する。
また、定義ファイル生成部２３は、名前空間の一覧を含むデータ構造動的定義ファイルを生成又は再生成（更新）する。
【００２７】
ここで、図２を参照して、データ構造動的定義ファイルについて説明する。
図２は、本実施形態におけるデータ構造動的定義ファイルの一例を示す図である。
図２に示すように、データ構造動的定義ファイルＦ１は、名前空間の一覧（記述Ｌ１）と、データ構造定義情報の一覧（記述Ｌ２）とを含んでいる。なお、データ構造動的定義ファイルＦ１は、対象ＸＭＬデータと同様のＸＭＬ形式で記述される。
【００２８】
名前空間の一覧（記述Ｌ１）には、対象ＸＭＬファイルに利用されている名前空間の一覧がｎａｍｅｓｐａｃｅｓ要素内のｎａｍｅｓｐａｃｅ要素として列挙される。
また、データ構造定義情報の一覧（記述Ｌ２）には、各要素の解析結果であるデータ構造定義情報がｄａｔａＳｅｔ要素内のｄａｔａ要素として列挙される。
【００２９】
次に、図３〜図６を参照して、データ構造動的定義ファイルの記述内容の詳細について説明する。
図３は、本実施形態におけるデータ構造動的定義ファイルの記述内容を説明する図である。
【００３０】
図３に示す表は、データ構造動的定義ファイルを記述するための構造定義を表している。例えば、名前空間の一覧の記述は、「ｎａｍｅｓｐａｃｅｓ」により設定され、各名前空間の定義は、「ｎａｍｅｓｐａｃｅ」により記述される。また、ｎａｍｅｓｐａｃｅには、属性として、名前空間名「ｐｒｅｆｉｘ」と、名前空間パス「ｕｒｉ」とが記述される。定義ファイル生成部２３は、例えば、図４に示すように、データ構造動的定義ファイルに、名前空間の一覧（記述Ｌ３）を記述する。
【００３１】
なお、データ解析部２２は、解析の結果、名前空間名が重複している場合に、名前空間名に枝番を付与し、定義ファイル生成部２３は、図４に示すように、名前空間名の重複を回避して記述する。
図４は、本実施形態における名前空間の重複の回避例を示す図である。
図４に示す例では、名前空間名の“ａｂｃＣｍ”が重複している場合の一例を示しており、一方の名前空間名「ｐｒｅｆｉｘ」の記述を“ａｂｃＣｍ０１”に変更して記述する。
【００３２】
また、図３の説明に戻り、データ構造定義情報の一覧の記述は、データの詳細設定「ｄａｔａｓｅｔ」により設定され、図３に示す項目定義により記述される。例えば、属性「ａｔｔｒ」は、属性名を記述し、深度「ｄｅｐｔｈ」は、ｒｏｏｔ要素を１層とした階層数を記述する。また、最小値「ｍｉｎ」は、データ値の最小値を記述し、最大値「ｍａｘ」は、データ値の最大値を記述する。また、ＮＵＬＬ「ｎｕｌｌ」は、データにｎｕｌｌが存在するか否かを記述し、データにｎｕｌｌが存在する場合に、“ｔｒｕｅ”が記述される。また、出現回数「ｏｃｃｕｒｒｅｎｃｅ」は、データの出現回数（１回か、複数か）を記述し、データ型「ｔｙｐｅ」は、データ解析部２２により解析されたデータの型を記述する。
【００３３】
例えば、図５及び図６は、本実施形態におけるデータ構造定義情報の生成例を示す図である。
図５に示す記述Ｌ４は、データ型が、“ｄａｔｅＴｉｍｅ”であり、データ値の最大値が“２０１７−０８−０８Ｔ２３：２２：２２”であり、データ値の最小値が“２０１６−０１−０４Ｔ１０：１１：１２”である場合の記述例である。また、記述Ｌ４において、階層（ｄｅｐｔｈ）が、“１”であり、出現回数が“１”であることを示している。データ解析部２２による解析結果がこのような場合に、定義ファイル生成部２３は、データ構造定義情報として、記述Ｌ４を生成し、生成した記述Ｌ４をデータ構造動的定義ファイルに記述する。
【００３４】
また、図６に示す記述Ｌ５は、出現回数が“＊”（複数回）であり、ｎｕｌｌが存在する（ｎｕｌｌ＝“ｔｒｕｅ”）場合の記述例である。また、記述Ｌ５において、階層（ｄｅｐｔｈ）が、“３”であることを示している。データ解析部２２による解析結果がこのような場合に、定義ファイル生成部２３は、データ構造定義情報として、記述Ｌ５を生成し、生成した記述Ｌ５をデータ構造動的定義ファイルに記述する。
【００３５】
このように、定義ファイル生成部２３は、データ解析部２２による解析結果から、上述した図３に示す構造定義に従って、データ構造動的定義ファイルを生成する。
図７は、本実施形態におけるデータ構造動的定義ファイルの生成例を示す図である。
定義ファイル生成部２３は、例えば、図７に示すファイルＦ２のようなデータ構造動的定義ファイルを生成又は再生成する。定義ファイル生成部２３は、例えば、記憶部１３の指定されたディレクトリ内に、データ構造動的定義ファイルを記憶させる。
【００３６】
図１の説明に戻り、表示処理部２４（出力処理部の一例）は、定義ファイル生成部２３によって生成又は再生成されたデータ構造動的定義ファイルに基づいて、対象ＸＭＬデータに含まれるデータの構造に関する情報を表示部１２（出力部）に出力する。すなわち、表示処理部２４は、対象ＸＭＬデータに対応するデータ構造動的定義ファイルを記憶部１３から取得し、当該データ構造動的定義ファイル内の記述に基づいて、例えば、図８に示すようなデータベースの構造情報を、表示部１２に表示させる。
【００３７】
図８は、本実施形態におけるデータベースの構造情報の表示例を示す図である。
図８に示すように、表示処理部２４は、データ構造動的定義ファイルの記述に基づいて、名前空間の一覧、及び要素の解析結果であるデータ構造を示す情報一覧を、データベースの構造情報の表示画面Ｇ１として、表示部１２に表示させる。なお、表示画面Ｇ１に表示されている情報は、上述した図７に示すデータ構造動的定義ファイル（ファイルＦ２）に基づいて表示された情報である。表示処理部２４は、表示画面Ｇ１に示すように、要素のデータ構造を、階層構造を維持して、表示部１２に表示させる。
【００３８】
次に、図面を参照して、本実施形態によるデータベース支援装置１の動作について説明する。
図９は、本実施形態によるデータベース支援装置１の動作の一例を示すフローチャートである。
図９に示すように、データベース支援装置１は、まず、対象ＸＭＬデータのディレクトリの指定を受け付ける（ステップＳ１０１）。すなわち、データベース支援装置１の入力部１１は、ユーザから、対象ＸＭＬデータのディレクトリの指定を受け付け、制御部２０にディレクトリの指定を出力する。
【００３９】
次に、制御部２０の対象ＸＭＬ取得部２１は、指定されたディレクトリ内の対象ＸＭＬデータを取得する（ステップＳ１０２）。対象ＸＭＬ取得部２１は、例えば、指定されたディレクトリ内の全ＸＭＬデータファイルを記憶部１３から取得する。
【００４０】
次に、制御部２０は、データ構造動的定義ファイルが既に存在するか否かを判定する（ステップＳ１０３）。すなわち、制御部２０は、記憶部１３のデータ構造動的定義ファイル用のディレクトリを確認し、対象ＸＭＬデータに対応するデータ構造動的定義ファイルが既に存在するか否かを判定する。制御部２０は、データ構造動的定義ファイルが既に存在する場合（ステップＳ１０３：ＹＥＳ）に、処理をステップＳ１０４に進める。また、制御部２０は、データ構造動的定義ファイルがまだ存在しない場合（ステップＳ１０３：ＮＯ）に、処理をステップＳ１０５に進める。
【００４１】
ステップＳ１０４において、制御部２０は、データ構造動的定義ファイルを取得する。例えば、制御部２０の対象ＸＭＬ取得部２１は、対象ＸＭＬデータに対応するデータ構造動的定義ファイルを記憶部１３から取得する。ステップＳ１０４の処理後に、対象ＸＭＬ取得部２１は、処理をステップＳ１０５に進める。
【００４２】
また、ステップＳ１０５において、制御部２０のデータ解析部２２は、使用されている名前空間の一覧を抽出する。データ解析部２２は、取得した対象ＸＭＬデータに含まれる名前空間を抽出する。
【００４３】
次に、データ解析部２２は、要素解析を実行する（ステップＳ１０６）。データ解析部２２は、例えば、データの要素ごとの構造及びデータ値を解析する。具体的に、データ解析部２２は、データの要素、及び属性のＸＰａｔｈによる位置を解析するとともに、データの階層構造（例えば、データの要素及び属性の階層構造）を解析する。また、データ解析部２２は、データの繰り返し判定（例えば、繰返し数の取得）、データ型の判定、データ値の最大値、最小値、ｎｕｌｌ（ヌル：空白）を含むか否かの判定、及びデータの出現回数の取得などを実行する。また、データ解析部２２は、抽出した名前空間名が重複する場合に、重複した名前空間名に枝番号を付与する。
【００４４】
次に、制御部２０の定義ファイル生成部２３は、データ構造動的定義ファイルが既に存在するか否かを判定する（ステップＳ１０７）。定義ファイル生成部２３は、データ構造動的定義ファイルが既に存在する場合（ステップＳ１０７：ＹＥＳ）に、処理をステップＳ１０９に進める。また、定義ファイル生成部２３は、データ構造動的定義ファイルがまだ存在しない場合（ステップＳ１０７：ＮＯ）に、処理をステップＳ１０８に進める。
【００４５】
ステップＳ１０８において、定義ファイル生成部２３は、新規にデータ構造動的定義ファイルを生成する。定義ファイル生成部２３は、データ解析部２２による解析結果から、上述した図３に示す構造定義に従って、図７に示すようなデータ構造動的定義ファイルを生成する。定義ファイル生成部２３は、生成したデータ構造動的定義ファイルを記憶部１３に記憶させる。ステップＳ１０８の処理後に、定義ファイル生成部２３は、処理をステップＳ１１１に進める。
【００４６】
また、ステップＳ１０９において、定義ファイル生成部２３は、重複するパスや繰り返し項等について和集合を生成する。定義ファイル生成部２３は、データ解析部２２による解析結果と、取得した既存のデータ構造動的定義ファイルとから、例えば、重複するパス及び繰り返し項目を抽出し、上述した図３に示す構造定義に従って、和集合のデータ構造定義情報を生成する。
【００４７】
次に、定義ファイル生成部２３は、表示順を維持しつつ、既存のデータ構造動的定義ファイルを更新する（ステップＳ１１０）。すなわち、定義ファイル生成部２３は、生成した和集合のデータ構造定義情報に変更したデータ構造動的定義ファイルを生成し、記憶部１３に記憶させる。
【００４８】
次に、定義ファイル生成部２３は、次の対象ＸＭＬあるか否かを判定する（ステップＳ１１１）。定義ファイル生成部２３は、指定されたディレクトリ内に他の対象ＸＭＬあるか否かを判定する。定義ファイル生成部２３は、次の対象ＸＭＬある場合（ステップＳ１１１：ＹＥＳ）に、処理をステップＳ１０２に戻す。また、定義ファイル生成部２３は、次の対象ＸＭＬない場合（ステップＳ１１１：ＮＯ）に、処理をステップＳ１１２に進める。
【００４９】
ステップＳ１１２において、制御部２０の表示処理部２４は、データ構造動的定義ファイルの内容に基づいて、データベースの構造情報を表示する。表示処理部２４は、定義ファイル生成部２３が生成したデータ構造動的定義ファイルの内容に基づいて、図８の表示画面Ｇ１に示すようなデータベースの構造情報を表示部１２に表示させる。ステップＳ１１２の処理後に、制御部２０は、処理を終了する。
【００５０】
なお、上述した図９に示すデータベース支援装置１の処理は、ユーザによる任意のタイミングで実行されてもよいし、定期的（例えば、１週間に１回、１カ月に１回など）に実行されてもよい。
また、上述した図９に示すデータベース支援装置１の処理では、指定されたディレクトリ内の全てのＸＭＬデータを対象ＸＭＬデータとする例を説明したが指定されたディレクトリ内の一定件数のＸＭＬデータなどを対象ＸＭＬデータとしてもよい。
【００５１】
次に、図１０を参照して、和集合によるデータ構造動的定義ファイルの更新処理の具体例について説明する。
図１０は、本実施形態によるデータベース支援装置におけるデータ構造動的定義ファイルの更新例を示す図である。
【００５２】
図１０に示す例は、データベース支援装置１が、ディレクトリＤＲ１に格納されている解析対象のデータベースの対象ＸＭＬデータを解析して、ディレクトリＤＲ２にデータ構造動的定義ファイルを生成する場合の例である。
【００５３】
まず、図１０（ａ）に示すように、データベース支援装置１は、ディレクトリＤＲ１の対象ＸＭＬデータＤ１１を解析して、データ構造動的定義ファイルＦ１１を生成し、当該データ構造動的定義ファイルＦ１１をディレクトリＤＲ２に格納する。ここで、対象ＸＭＬデータＤ１１は、ｄａｔａ要素内にＡ要素として、文字列“ＡＢＣ”を持つデータである。
【００５４】
次に、図１０（ｂ）に示すように、対象ＸＭＬデータＤ１１が要素変更された対象ＸＭＬデータＤ１２に変更された場合に、データベース支援装置１は、データ構造動的定義ファイルＦ１１からデータ構造動的定義ファイルＦ１２に更新する。ここで、対象ＸＭＬデータＤ１２は、Ａ要素からＢ要素に変更され、ｄａｔａ要素内にＢ要素として、文字列“ＤＥＦ”を持つデータである。そのため、データベース支援装置１は、和集合により、データ構造動的定義ファイルＦ１１にＢ要素の記述（＜ｄａｔａ  ｅｌｅｍｅｎｔ＝“Ｂ”  ｏｃｃｕｒｒｅｎｃｅ＝“１”／＞）を追加したデータ構造動的定義ファイルＦ１２に更新する。ここで、データ構造動的定義ファイルＦ１２は、和集合により、Ａ要素とＢ要素とのいずれにも対応可能なデータベースであることを示している。
【００５５】
次に、図１０（ｃ）に示すように、対象ＸＭＬデータＤ１２が要素変更された対象ＸＭＬデータＤ１３に変更された場合に、データベース支援装置１は、データ構造動的定義ファイルＦ１２からデータ構造動的定義ファイルＦ１３に更新する。ここで、対象ＸＭＬデータＤ１３は、Ｂ要素のレイアウトが変更され、ｄａｔａ要素内にＢ要素として、文字列“ＤＥＦ”と“ＧＨＩ”とを持つデータである。そのため、データベース支援装置１は、和集合により、データ構造動的定義ファイルＦ１２のＢ要素の記述において、ｏｃｃｕｒｒｅｎｃｅ＝“１”がｏｃｃｕｒｒｅｎｃｅ＝“＊”に変更されたデータ構造動的定義ファイルＦ１３に更新する。ここで、データ構造動的定義ファイルＦ１３は、和集合により、Ｂ要素が繰り返し出現可能なデータベースであることを示している。
【００５６】
以上説明したように、本実施形態によるデータベース支援装置１は、対象ＸＭＬ取得部２１（取得部）と、データ解析部２２と、定義ファイル生成部２３（ファイル生成部）とを備える。対象ＸＭＬ取得部２１は、データを識別するデータ識別情報（例えば、データ項目、要素名など）と、データ値とを対応付けてデータが記述された対象ＸＭＬデータ（対象データ記述）を取得する。データ解析部２２は、対象ＸＭＬ取得部２１によって取得した対象ＸＭＬデータに含まれているデータを抽出し、抽出した当該データを解析する。定義ファイル生成部２３は、データ解析部２２によって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、定義ファイル生成部２３は、対象ＸＭＬデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
【００５７】
これにより、本実施形態によるデータベース支援装置１は、既に使用されているデータベースを、人手を介さずに解析することができるとともに、例えば、データ構造動的定義ファイルを確認することで、データの構造を把握することができる。本実施形態によるデータベース支援装置１では、例えば、システム開発の有識者を動員して、既存及び新規データの解析を行う必要がない。
【００５８】
また、例えば、データベースのデータが変更された場合や、データの構造が変更された場合などのデータの変化に対して、本実施形態によるデータベース支援装置１は、和集合したデータ構造定義情報を再生成し、データ構造動的定義ファイルを再生成する。そのため、本実施形態によるデータベース支援装置１は、データの変化に動的に対応することができる。
よって、本実施形態によるデータベース支援装置１は、データの変化に動的に対応しつつ、データの構造を把握することができる。
【００５９】
なお、本実施形態によるデータベース支援装置１では、データの構造として、例えば、ユーザが以下の情報を把握することが可能である。
（１）名前空間の一覧
（２）データの要素及び属性の階層、要素の出現順、要素間の親子関係や各属性の関連性
（３）要素の繰り返しの有無
（４）データ型、データ値の最大値、データ値の最小値、ｎｕｌｌの有無、出現回数など
【００６０】
また、本実施形態では、データ解析部２２は、対象ＸＭＬデータに含まれる名前空間の記述を抽出する。定義ファイル生成部２３は、名前空間の一覧を含むデータ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置１は、名前空間の一覧を把握できるため、例えば、異なる名前空間の要素を容易に判別することができる。
【００６１】
また、本実施形態では、データ解析部２２は、抽出した名前空間の識別情報が重複する場合に、重複した名前空間を個別に識別できるように、識別情報に枝番号を付与する。
これにより、本実施形態によるデータベース支援装置１は、名前空間の重複を回避して、データベース内の名前空間を適切に把握することができる。
【００６２】
また、本実施形態では、データ解析部２２は、抽出したデータの要素ごとの構造及びデータ値を解析する。定義ファイル生成部２３は、要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成する。
これにより、本実施形態によるデータベース支援装置１は、データの構造をより詳細に把握することができる。よって、本実施形態によるデータベース支援装置１は、利便性を向上させることができる。
【００６３】
また、本実施形態では、データ解析部２２は、抽出したデータの階層構造を解析する。定義ファイル生成部２３は、データの階層構造を維持したデータ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置１は、データの階層構造を把握することができるため、利便性を向上させることができる。
【００６４】
また、本実施形態では、定義ファイル生成部２３は、要素の出現順を維持して、データ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置１は、例えば、要素間の親子関係や各属性の関連性を把握することができる。また、本実施形態によるデータベース支援装置１は、データ構造動的定義ファイルにおいて、後から追加された要素の識別が容易となる。
【００６５】
また、本実施形態によるデータベース支援装置１は、定義ファイル生成部２３によって生成又は再生成されたデータ構造動的定義ファイルに基づいて、対象ＸＭＬデータに含まれるデータの構造に関する情報（例えば、図８に示すデータベースの構造情報）を表示部１２（出力部）に出力する表示処理部２４（出力処理部）を備える。
これにより、本実施形態によるデータベース支援装置１は、視覚的にデータの構造を把握することができるため、データの構造をさらに容易に把握することができる。よって、本実施形態によるデータベース支援装置１は、データベースの解析において、さらに利便性を向上させることができる。
【００６６】
また、本実施形態では、定義ファイル生成部２３は、データ構造動的定義ファイルをＸＭＬ形式で記述して生成又は再生成する。
これにより、本実施形態によるデータベース支援装置１では、データ構造動的定義ファイルが簡潔な記述になるため、データ構造動的定義ファイルのデータ容量を低減することができ、表示部１２への表示を迅速化することができる。また、本実施形態によるデータベース支援装置１では、データ構造動的定義ファイルの可読性を高めることができ、利便性を向上させることができる。
【００６７】
また、本実施形態によるデータベース支援方法は、データベース支援装置１が実行するデータベース支援方法であって、取得ステップと、データ解析ステップと、ファイル生成ステップとを含む。取得ステップにおいて、対象ＸＭＬ取得部２１（取得部）が、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象ＸＭＬデータを取得する。データ解析ステップにおいて、データ解析部２２が、取得ステップによって取得した対象ＸＭＬデータに含まれているデータを抽出し、抽出した当該データを解析する。ファイル生成ステップにおいて、定義ファイル生成部２３（ファイル生成部）が、データ解析ステップによって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、ファイル生成ステップにおいて、定義ファイル生成部２３は、対象ＸＭＬデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
これにより、本実施形態によるデータベース支援方法は、上述したデータベース支援装置１と同様の効果を奏し、データの変化に動的に対応しつつ、データの構造を把握することができる。
【００６８】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、データベースは、ＸＭＬで記述された対象データ記述である場合の例を説明したが、これに限定されるものではなく、データを識別するデータ識別情報（データ項目、要素名など）と、データ値とを対応付けてデータが記述されたものであれば、他の記述言語で記述されたデータベースに適用してもよい。ＸＭＬ以外の記述言語は、例えば、ＨＴＭＬ（Hyper Text Markup Language）などのマークアップ言語やＪＳＯＮ（JavaScript Object Notation）（JavaScriptは登録商標）、ヘッダ行付きのＣＳＶ（Character-Separated Values）／ＴＳＶ（Tab-Separated Values）などであってもよい。
【００６９】
また、上記の実施形態において、対象ＸＭＬデータが記憶部１３に記憶され、対象ＸＭＬ取得部２１が、記憶部１３から対象ＸＭＬデータを取得する例を説明したが、これに限定されるものではない。例えば、記憶部１３は、データベース支援装置１の外部に備えられ、対象ＸＭＬ取得部２１は、データベース支援装置１の外部から対象ＸＭＬデータを取得するようにしてもよい。また、対象ＸＭＬ取得部２１は、ネットワークを介して、対象ＸＭＬデータを取得するようにしてもよい。また、記憶部１３は、外付けＨＤＤ装置であってもよいし、ネットワークを介して接続されたファイルサーバ装置であってもよい。
【００７０】
また、上記の実施形態において、データベース支援装置１は、対象ＸＭＬデータに含まれるデータの構造に関する情報（例えば、図８に示すデータベースの構造情報）を表示部１２に表示する例を説明したが、これに限定されるものではない。例えば、データベース支援装置１は、プリンタなどの出力部に、データの構造に関する情報を出力するようにしてもよいし、データ構造動的定義ファイルをＣＶＤ形式のファイルに変換して、外部に出力するようにしてもよい。また、データベース支援装置１は、データ構造動的定義ファイルを表示部１２やプリンタなどの出力部にそのまま出力するようにしてもよい。
【００７１】
また、上記の図９に示すフローチャートにおいて、データ解析部２２の解析処理（ステップＳ１０５、及びステップＳ１０６）の前に、データ構造動的定義ファイルが既にあるか否かを判定する処理（ステップＳ１０３）を実行しているが、これに限定されるものではない。例えば、データ構造動的定義ファイルが既にあるか否かを判定する処理は、データ解析部２２の解析処理（ステップＳ１０５、及びステップＳ１０６）の後に実行してもよい。
【００７２】
なお、上述したデータベース支援装置１が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したデータベース支援装置１が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したデータベース支援装置１が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【００７３】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にデータベース支援装置１が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００７４】
また、上述した機能の一部又は全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【００７５】
１  データベース支援装置
１１  入力部
１２  表示部
１３  記憶部
２０  制御部
２１  対象ＸＭＬ取得部
２２  データ解析部
２３  定義ファイル生成部
２４  表示処理部
【図１】
2019086849.tif 000003
【図２】
2019086849.tif 000004
【図３】
2019086849.tif 000005
【図４】
2019086849.tif 000006
【図５】
2019086849.tif 000007
【図６】
2019086849.tif 000008
【図７】
2019086849.tif 000009
【図８】
2019086849.tif 000010
【図９】
2019086849.tif 000011
【図１０】
2019086849.tif 000012