JP2019086849A - データベース支援装置、データベース支援方法、及びプログラム - Google Patents

データベース支援装置、データベース支援方法、及びプログラム Download PDF

Info

Publication number
JP2019086849A
JP2019086849A JP2017212148A JP2017212148A JP2019086849A JP 2019086849 A JP2019086849 A JP 2019086849A JP 2017212148 A JP2017212148 A JP 2017212148A JP 2017212148 A JP2017212148 A JP 2017212148A JP 2019086849 A JP2019086849 A JP 2019086849A
Authority
JP
Japan
Prior art keywords
data
data structure
definition file
definition information
file
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.)
Granted
Application number
JP2017212148A
Other languages
English (en)
Other versions
JP6932064B2 (ja
Inventor
篤志 瀬戸
Atsushi Seto
篤志 瀬戸
康夫 宮館
Yasuo Miyadate
康夫 宮館
鉄也 桐生
Tetsuya Kiryu
鉄也 桐生
達彦 井上
Tatsuhiko Inoue
達彦 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2017212148A priority Critical patent/JP6932064B2/ja
Publication of JP2019086849A publication Critical patent/JP2019086849A/ja
Application granted granted Critical
Publication of JP6932064B2 publication Critical patent/JP6932064B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】データの変化に動的に対応しつつ、データの構造を把握するデータベース支援装置、データベース支援方法及びプログラムを提供する。【解決手段】データベース支援装置1は、データを識別するデータ識別情報とデータ値とを対応付けてデータが記述された対象データ記述を取得する取得部21と、取得した対象データ記述に含まれているデータを抽出し、抽出した当該データを解析するデータ解析部22と、解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部23とを備える。【選択図】図1

Description

本発明は、データベース支援装置、データベース支援方法、及びプログラムに関する。
XML(Extensible Markup Language)などのデータベースでは、投入されるデータ形式のバージョンが変わるなど、後から挿入されるデータの要素や属性などが変化しても、新旧データの差異を勘案することなくそのまま追加格納できることが魅力のひとつである。また、近年、XML分析を検証するのに用いられえる定義ファイルを自動で生成する技術が知られている(例えば、特許文献1を参照)。
特開2006−92529号公報
しかしながら、XMLなどのデータベースでは、静的な構造定義の利用を前提とすると、上述したデータ形式のバージョンの変化や、データの要素又は属性の変化などの構造の変化への対応を毎回迫られることになる。多くの場合、XMLなどのデータベースの中身は、複数の仕様が絡み合うなど複雑な記述になっていることが多い。
このような背景もあり、従来のXMLなどのデータベースでは、XMLデータの変化がある度に、システム開発の有識者が動員されて既存及び新規データの解析を行っていた。
本発明は、上記問題を解決すべくなされたもので、その目的は、データの変化に動的に対応しつつ、データの構造を把握することができるデータベース支援装置、データベース支援方法、及びプログラムを提供することにある。
上記問題を解決するために、本発明の一態様は、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得部と、前記取得部によって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析部と、前記データ解析部によって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部であって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成部とを備えることを特徴とするデータベース支援装置である。
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、前記対象データ記述に含まれる名前空間の記述を抽出し、前記ファイル生成部は、前記名前空間の一覧を含む前記データ構造動的定義ファイルを生成又は再生成することを特徴とする。
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記名前空間の識別情報が重複する場合に、重複した前記名前空間を個別に識別できるように、前記識別情報に枝番号を付与することを特徴とする。
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記データの要素ごとの構造及びデータ値を解析し、前記ファイル生成部は、前記要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成することを特徴とする。
また、本発明の一態様は、上記のデータベース支援装置において、前記データ解析部は、抽出した前記データの階層構造を解析し、前記ファイル生成部は、前記データの階層構造を維持した前記データ構造動的定義ファイルを生成又は再生成することを特徴とする。
また、本発明の一態様は、上記のデータベース支援装置において、前記ファイル生成部によって生成又は再生成された前記データ構造動的定義ファイルに基づいて、前記対象データ記述に含まれるデータの構造に関する情報を出力部に出力する出力処理部を備えることを特徴とする。
また、本発明の一態様は、データベース支援装置が実行するデータベース支援方法であって、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップとを含むことを特徴とするデータベース支援方法である。
また、本発明の一態様は、コンピュータに、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップとを実行させるためのプログラムである。
本発明によれば、データの変化に動的に対応しつつ、データの構造を把握することができる。
本実施形態によるデータベース支援装置の一例を示すブロック図である。 本実施形態におけるデータ構造動的定義ファイルの一例を示す図である。 本実施形態におけるデータ構造動的定義ファイルの記述内容を説明する図である。 本実施形態における名前空間の重複の回避例を示す図である。 本実施形態におけるデータ構造定義情報の生成例を示す第1の図である。 本実施形態におけるデータ構造定義情報の生成例を示す第2の図である。 本実施形態におけるデータ構造動的定義ファイルの生成例を示す図である。 本実施形態におけるデータベースの構造情報の表示例を示す図である。 本実施形態によるデータベース支援装置の動作の一例を示すフローチャートである。 本実施形態によるデータベース支援装置におけるデータ構造動的定義ファイルの更新例を示す図である。
以下、本発明の一実施形態によるデータベース支援装置、及びデータベース支援方法について、図面を参照して説明する。
図1は、本実施形態によるデータベース支援装置1の一例を示すブロック図である。
図1に示すように、データベース支援装置1は、入力部11と、表示部12と、記憶部13と、制御部20とを備えている。データベース支援装置1は、XMLで記述された対象XMLデータ(対象データ記述)を解析して、データ構造を示すデータ構造動的定義ファイルを生成する。ここで、XMLは、データを識別するデータ識別情報(例えば、データ項目、要素名など)と、データ値とを対応付けてデータを記述するデータ記述言語の一例である。また、データ構造動的定義ファイルは、図2に示すような記述を含むファイルであり、その詳細については後述する。
入力部11は、例えば、キーボードやタッチパネルなどの入力装置である。入力部11は、データベース支援装置1の各種操作をユーザから受け付け、受け付けた操作示す情報を制御部20に出力する。
表示部12(出力部の一例)は、例えば、液晶ディスプレイ装置などであり、制御部20による制御に基づいて、各種情報を表示する。
記憶部13は、例えば、ハードディスクドライブ装置(HDD装置)や半導体メモリなどであり、データベース支援装置1の各種処理に利用される情報を記憶する。記憶部13は、例えば、データベースの解析を行う対象XMLデータを含むファイル及びディレクトリや、データ構造動的定義ファイル及びディレクトリなどを記憶する。
制御部20は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、データベース支援装置1を統括的に制御する。制御部20は、対象XML取得部21と、データ解析部22と、定義ファイル生成部23と、表示処理部24とを備えている。
対象XML取得部21(取得部の一例)は、データがXMLで記述された対象XMLデータ(対象データ記述)を、例えば、記憶部13から取得する。対象XML取得部21は、例えば、ユーザから入力部11によって指定されたディレクトリ内のXMLデータファイルを記憶部13から取得する。
データ解析部22は、対象XML取得部21によって取得した対象XMLデータに含まれているデータを抽出し、抽出した当該データを解析する。データ解析部22は、例えば、抽出したデータの要素ごとの構造及びデータ値を解析する。具体的に、データ解析部22は、データの要素、及び属性のXPathによる位置を解析するとともに、データの階層構造(例えば、データの要素及び属性の階層構造)を解析する。また、データ解析部22は、データの繰り返し判定(例えば、繰返し数の取得)、データ型の判定、データ値の最大値、最小値、null(ヌル:空白)を含むか否かの判定、及びデータの出現回数の取得などを実行する。なお、データ解析部22は、データ型を判定できない場合に、文字列型と判定する。
また、データ解析部22は、対象XMLデータに含まれる名前空間の記述を抽出する。データ解析部22は、抽出した名前空間の識別情報(例えば、名前空間名(prefix))が重複する場合に、重複した名前空間を個別に識別できるように、識別情報(例えば、名前空間名(prefix))に枝番号を付与する。
定義ファイル生成部23(ファイル生成部の一例)は、データ解析部22によって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、定義ファイル生成部23は、対象XMLデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成する。そして、定義ファイル生成部23は、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
具体的に、定義ファイル生成部23は、要素(又は属性)に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値にnull(値がない場合)を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成し、データ構造動的定義ファイルを生成又は再生成(更新)する。また、定義ファイル生成部23は、データの階層構造を維持したデータ構造動的定義ファイルを生成又は再生成(更新)する。また、定義ファイル生成部23は、要素の出現順を維持して、データ構造動的定義ファイルを生成又は再生成(更新)する。
また、定義ファイル生成部23は、名前空間の一覧を含むデータ構造動的定義ファイルを生成又は再生成(更新)する。
ここで、図2を参照して、データ構造動的定義ファイルについて説明する。
図2は、本実施形態におけるデータ構造動的定義ファイルの一例を示す図である。
図2に示すように、データ構造動的定義ファイルF1は、名前空間の一覧(記述L1)と、データ構造定義情報の一覧(記述L2)とを含んでいる。なお、データ構造動的定義ファイルF1は、対象XMLデータと同様のXML形式で記述される。
名前空間の一覧(記述L1)には、対象XMLファイルに利用されている名前空間の一覧がnamespaces要素内のnamespace要素として列挙される。
また、データ構造定義情報の一覧(記述L2)には、各要素の解析結果であるデータ構造定義情報がdataSet要素内のdata要素として列挙される。
次に、図3〜図6を参照して、データ構造動的定義ファイルの記述内容の詳細について説明する。
図3は、本実施形態におけるデータ構造動的定義ファイルの記述内容を説明する図である。
図3に示す表は、データ構造動的定義ファイルを記述するための構造定義を表している。例えば、名前空間の一覧の記述は、「namespaces」により設定され、各名前空間の定義は、「namespace」により記述される。また、namespaceには、属性として、名前空間名「prefix」と、名前空間パス「uri」とが記述される。定義ファイル生成部23は、例えば、図4に示すように、データ構造動的定義ファイルに、名前空間の一覧(記述L3)を記述する。
なお、データ解析部22は、解析の結果、名前空間名が重複している場合に、名前空間名に枝番を付与し、定義ファイル生成部23は、図4に示すように、名前空間名の重複を回避して記述する。
図4は、本実施形態における名前空間の重複の回避例を示す図である。
図4に示す例では、名前空間名の“abcCm”が重複している場合の一例を示しており、一方の名前空間名「prefix」の記述を“abcCm01”に変更して記述する。
また、図3の説明に戻り、データ構造定義情報の一覧の記述は、データの詳細設定「dataset」により設定され、図3に示す項目定義により記述される。例えば、属性「attr」は、属性名を記述し、深度「depth」は、root要素を1層とした階層数を記述する。また、最小値「min」は、データ値の最小値を記述し、最大値「max」は、データ値の最大値を記述する。また、NULL「null」は、データにnullが存在するか否かを記述し、データにnullが存在する場合に、“true”が記述される。また、出現回数「occurrence」は、データの出現回数(1回か、複数か)を記述し、データ型「type」は、データ解析部22により解析されたデータの型を記述する。
例えば、図5及び図6は、本実施形態におけるデータ構造定義情報の生成例を示す図である。
図5に示す記述L4は、データ型が、“dateTime”であり、データ値の最大値が“2017−08−08T23:22:22”であり、データ値の最小値が“2016−01−04T10:11:12”である場合の記述例である。また、記述L4において、階層(depth)が、“1”であり、出現回数が“1”であることを示している。データ解析部22による解析結果がこのような場合に、定義ファイル生成部23は、データ構造定義情報として、記述L4を生成し、生成した記述L4をデータ構造動的定義ファイルに記述する。
また、図6に示す記述L5は、出現回数が“*”(複数回)であり、nullが存在する(null=“true”)場合の記述例である。また、記述L5において、階層(depth)が、“3”であることを示している。データ解析部22による解析結果がこのような場合に、定義ファイル生成部23は、データ構造定義情報として、記述L5を生成し、生成した記述L5をデータ構造動的定義ファイルに記述する。
このように、定義ファイル生成部23は、データ解析部22による解析結果から、上述した図3に示す構造定義に従って、データ構造動的定義ファイルを生成する。
図7は、本実施形態におけるデータ構造動的定義ファイルの生成例を示す図である。
定義ファイル生成部23は、例えば、図7に示すファイルF2のようなデータ構造動的定義ファイルを生成又は再生成する。定義ファイル生成部23は、例えば、記憶部13の指定されたディレクトリ内に、データ構造動的定義ファイルを記憶させる。
図1の説明に戻り、表示処理部24(出力処理部の一例)は、定義ファイル生成部23によって生成又は再生成されたデータ構造動的定義ファイルに基づいて、対象XMLデータに含まれるデータの構造に関する情報を表示部12(出力部)に出力する。すなわち、表示処理部24は、対象XMLデータに対応するデータ構造動的定義ファイルを記憶部13から取得し、当該データ構造動的定義ファイル内の記述に基づいて、例えば、図8に示すようなデータベースの構造情報を、表示部12に表示させる。
図8は、本実施形態におけるデータベースの構造情報の表示例を示す図である。
図8に示すように、表示処理部24は、データ構造動的定義ファイルの記述に基づいて、名前空間の一覧、及び要素の解析結果であるデータ構造を示す情報一覧を、データベースの構造情報の表示画面G1として、表示部12に表示させる。なお、表示画面G1に表示されている情報は、上述した図7に示すデータ構造動的定義ファイル(ファイルF2)に基づいて表示された情報である。表示処理部24は、表示画面G1に示すように、要素のデータ構造を、階層構造を維持して、表示部12に表示させる。
次に、図面を参照して、本実施形態によるデータベース支援装置1の動作について説明する。
図9は、本実施形態によるデータベース支援装置1の動作の一例を示すフローチャートである。
図9に示すように、データベース支援装置1は、まず、対象XMLデータのディレクトリの指定を受け付ける(ステップS101)。すなわち、データベース支援装置1の入力部11は、ユーザから、対象XMLデータのディレクトリの指定を受け付け、制御部20にディレクトリの指定を出力する。
次に、制御部20の対象XML取得部21は、指定されたディレクトリ内の対象XMLデータを取得する(ステップS102)。対象XML取得部21は、例えば、指定されたディレクトリ内の全XMLデータファイルを記憶部13から取得する。
次に、制御部20は、データ構造動的定義ファイルが既に存在するか否かを判定する(ステップS103)。すなわち、制御部20は、記憶部13のデータ構造動的定義ファイル用のディレクトリを確認し、対象XMLデータに対応するデータ構造動的定義ファイルが既に存在するか否かを判定する。制御部20は、データ構造動的定義ファイルが既に存在する場合(ステップS103:YES)に、処理をステップS104に進める。また、制御部20は、データ構造動的定義ファイルがまだ存在しない場合(ステップS103:NO)に、処理をステップS105に進める。
ステップS104において、制御部20は、データ構造動的定義ファイルを取得する。例えば、制御部20の対象XML取得部21は、対象XMLデータに対応するデータ構造動的定義ファイルを記憶部13から取得する。ステップS104の処理後に、対象XML取得部21は、処理をステップS105に進める。
また、ステップS105において、制御部20のデータ解析部22は、使用されている名前空間の一覧を抽出する。データ解析部22は、取得した対象XMLデータに含まれる名前空間を抽出する。
次に、データ解析部22は、要素解析を実行する(ステップS106)。データ解析部22は、例えば、データの要素ごとの構造及びデータ値を解析する。具体的に、データ解析部22は、データの要素、及び属性のXPathによる位置を解析するとともに、データの階層構造(例えば、データの要素及び属性の階層構造)を解析する。また、データ解析部22は、データの繰り返し判定(例えば、繰返し数の取得)、データ型の判定、データ値の最大値、最小値、null(ヌル:空白)を含むか否かの判定、及びデータの出現回数の取得などを実行する。また、データ解析部22は、抽出した名前空間名が重複する場合に、重複した名前空間名に枝番号を付与する。
次に、制御部20の定義ファイル生成部23は、データ構造動的定義ファイルが既に存在するか否かを判定する(ステップS107)。定義ファイル生成部23は、データ構造動的定義ファイルが既に存在する場合(ステップS107:YES)に、処理をステップS109に進める。また、定義ファイル生成部23は、データ構造動的定義ファイルがまだ存在しない場合(ステップS107:NO)に、処理をステップS108に進める。
ステップS108において、定義ファイル生成部23は、新規にデータ構造動的定義ファイルを生成する。定義ファイル生成部23は、データ解析部22による解析結果から、上述した図3に示す構造定義に従って、図7に示すようなデータ構造動的定義ファイルを生成する。定義ファイル生成部23は、生成したデータ構造動的定義ファイルを記憶部13に記憶させる。ステップS108の処理後に、定義ファイル生成部23は、処理をステップS111に進める。
また、ステップS109において、定義ファイル生成部23は、重複するパスや繰り返し項等について和集合を生成する。定義ファイル生成部23は、データ解析部22による解析結果と、取得した既存のデータ構造動的定義ファイルとから、例えば、重複するパス及び繰り返し項目を抽出し、上述した図3に示す構造定義に従って、和集合のデータ構造定義情報を生成する。
次に、定義ファイル生成部23は、表示順を維持しつつ、既存のデータ構造動的定義ファイルを更新する(ステップS110)。すなわち、定義ファイル生成部23は、生成した和集合のデータ構造定義情報に変更したデータ構造動的定義ファイルを生成し、記憶部13に記憶させる。
次に、定義ファイル生成部23は、次の対象XMLあるか否かを判定する(ステップS111)。定義ファイル生成部23は、指定されたディレクトリ内に他の対象XMLあるか否かを判定する。定義ファイル生成部23は、次の対象XMLある場合(ステップS111:YES)に、処理をステップS102に戻す。また、定義ファイル生成部23は、次の対象XMLない場合(ステップS111:NO)に、処理をステップS112に進める。
ステップS112において、制御部20の表示処理部24は、データ構造動的定義ファイルの内容に基づいて、データベースの構造情報を表示する。表示処理部24は、定義ファイル生成部23が生成したデータ構造動的定義ファイルの内容に基づいて、図8の表示画面G1に示すようなデータベースの構造情報を表示部12に表示させる。ステップS112の処理後に、制御部20は、処理を終了する。
なお、上述した図9に示すデータベース支援装置1の処理は、ユーザによる任意のタイミングで実行されてもよいし、定期的(例えば、1週間に1回、1カ月に1回など)に実行されてもよい。
また、上述した図9に示すデータベース支援装置1の処理では、指定されたディレクトリ内の全てのXMLデータを対象XMLデータとする例を説明したが指定されたディレクトリ内の一定件数のXMLデータなどを対象XMLデータとしてもよい。
次に、図10を参照して、和集合によるデータ構造動的定義ファイルの更新処理の具体例について説明する。
図10は、本実施形態によるデータベース支援装置におけるデータ構造動的定義ファイルの更新例を示す図である。
図10に示す例は、データベース支援装置1が、ディレクトリDR1に格納されている解析対象のデータベースの対象XMLデータを解析して、ディレクトリDR2にデータ構造動的定義ファイルを生成する場合の例である。
まず、図10(a)に示すように、データベース支援装置1は、ディレクトリDR1の対象XMLデータD11を解析して、データ構造動的定義ファイルF11を生成し、当該データ構造動的定義ファイルF11をディレクトリDR2に格納する。ここで、対象XMLデータD11は、data要素内にA要素として、文字列“ABC”を持つデータである。
次に、図10(b)に示すように、対象XMLデータD11が要素変更された対象XMLデータD12に変更された場合に、データベース支援装置1は、データ構造動的定義ファイルF11からデータ構造動的定義ファイルF12に更新する。ここで、対象XMLデータD12は、A要素からB要素に変更され、data要素内にB要素として、文字列“DEF”を持つデータである。そのため、データベース支援装置1は、和集合により、データ構造動的定義ファイルF11にB要素の記述(<data element=“B” occurrence=“1”/>)を追加したデータ構造動的定義ファイルF12に更新する。ここで、データ構造動的定義ファイルF12は、和集合により、A要素とB要素とのいずれにも対応可能なデータベースであることを示している。
次に、図10(c)に示すように、対象XMLデータD12が要素変更された対象XMLデータD13に変更された場合に、データベース支援装置1は、データ構造動的定義ファイルF12からデータ構造動的定義ファイルF13に更新する。ここで、対象XMLデータD13は、B要素のレイアウトが変更され、data要素内にB要素として、文字列“DEF”と“GHI”とを持つデータである。そのため、データベース支援装置1は、和集合により、データ構造動的定義ファイルF12のB要素の記述において、occurrence=“1”がoccurrence=“*”に変更されたデータ構造動的定義ファイルF13に更新する。ここで、データ構造動的定義ファイルF13は、和集合により、B要素が繰り返し出現可能なデータベースであることを示している。
以上説明したように、本実施形態によるデータベース支援装置1は、対象XML取得部21(取得部)と、データ解析部22と、定義ファイル生成部23(ファイル生成部)とを備える。対象XML取得部21は、データを識別するデータ識別情報(例えば、データ項目、要素名など)と、データ値とを対応付けてデータが記述された対象XMLデータ(対象データ記述)を取得する。データ解析部22は、対象XML取得部21によって取得した対象XMLデータに含まれているデータを抽出し、抽出した当該データを解析する。定義ファイル生成部23は、データ解析部22によって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、定義ファイル生成部23は、対象XMLデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
これにより、本実施形態によるデータベース支援装置1は、既に使用されているデータベースを、人手を介さずに解析することができるとともに、例えば、データ構造動的定義ファイルを確認することで、データの構造を把握することができる。本実施形態によるデータベース支援装置1では、例えば、システム開発の有識者を動員して、既存及び新規データの解析を行う必要がない。
また、例えば、データベースのデータが変更された場合や、データの構造が変更された場合などのデータの変化に対して、本実施形態によるデータベース支援装置1は、和集合したデータ構造定義情報を再生成し、データ構造動的定義ファイルを再生成する。そのため、本実施形態によるデータベース支援装置1は、データの変化に動的に対応することができる。
よって、本実施形態によるデータベース支援装置1は、データの変化に動的に対応しつつ、データの構造を把握することができる。
なお、本実施形態によるデータベース支援装置1では、データの構造として、例えば、ユーザが以下の情報を把握することが可能である。
(1)名前空間の一覧
(2)データの要素及び属性の階層、要素の出現順、要素間の親子関係や各属性の関連性
(3)要素の繰り返しの有無
(4)データ型、データ値の最大値、データ値の最小値、nullの有無、出現回数など
また、本実施形態では、データ解析部22は、対象XMLデータに含まれる名前空間の記述を抽出する。定義ファイル生成部23は、名前空間の一覧を含むデータ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置1は、名前空間の一覧を把握できるため、例えば、異なる名前空間の要素を容易に判別することができる。
また、本実施形態では、データ解析部22は、抽出した名前空間の識別情報が重複する場合に、重複した名前空間を個別に識別できるように、識別情報に枝番号を付与する。
これにより、本実施形態によるデータベース支援装置1は、名前空間の重複を回避して、データベース内の名前空間を適切に把握することができる。
また、本実施形態では、データ解析部22は、抽出したデータの要素ごとの構造及びデータ値を解析する。定義ファイル生成部23は、要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成する。
これにより、本実施形態によるデータベース支援装置1は、データの構造をより詳細に把握することができる。よって、本実施形態によるデータベース支援装置1は、利便性を向上させることができる。
また、本実施形態では、データ解析部22は、抽出したデータの階層構造を解析する。定義ファイル生成部23は、データの階層構造を維持したデータ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置1は、データの階層構造を把握することができるため、利便性を向上させることができる。
また、本実施形態では、定義ファイル生成部23は、要素の出現順を維持して、データ構造動的定義ファイルを生成又は再生成する。
これにより、本実施形態によるデータベース支援装置1は、例えば、要素間の親子関係や各属性の関連性を把握することができる。また、本実施形態によるデータベース支援装置1は、データ構造動的定義ファイルにおいて、後から追加された要素の識別が容易となる。
また、本実施形態によるデータベース支援装置1は、定義ファイル生成部23によって生成又は再生成されたデータ構造動的定義ファイルに基づいて、対象XMLデータに含まれるデータの構造に関する情報(例えば、図8に示すデータベースの構造情報)を表示部12(出力部)に出力する表示処理部24(出力処理部)を備える。
これにより、本実施形態によるデータベース支援装置1は、視覚的にデータの構造を把握することができるため、データの構造をさらに容易に把握することができる。よって、本実施形態によるデータベース支援装置1は、データベースの解析において、さらに利便性を向上させることができる。
また、本実施形態では、定義ファイル生成部23は、データ構造動的定義ファイルをXML形式で記述して生成又は再生成する。
これにより、本実施形態によるデータベース支援装置1では、データ構造動的定義ファイルが簡潔な記述になるため、データ構造動的定義ファイルのデータ容量を低減することができ、表示部12への表示を迅速化することができる。また、本実施形態によるデータベース支援装置1では、データ構造動的定義ファイルの可読性を高めることができ、利便性を向上させることができる。
また、本実施形態によるデータベース支援方法は、データベース支援装置1が実行するデータベース支援方法であって、取得ステップと、データ解析ステップと、ファイル生成ステップとを含む。取得ステップにおいて、対象XML取得部21(取得部)が、データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象XMLデータを取得する。データ解析ステップにおいて、データ解析部22が、取得ステップによって取得した対象XMLデータに含まれているデータを抽出し、抽出した当該データを解析する。ファイル生成ステップにおいて、定義ファイル生成部23(ファイル生成部)が、データ解析ステップによって解析された当該解析結果に基づいて、データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成する。また、ファイル生成ステップにおいて、定義ファイル生成部23は、対象XMLデータに対するデータ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新したデータ構造動的定義ファイルを再生成する。
これにより、本実施形態によるデータベース支援方法は、上述したデータベース支援装置1と同様の効果を奏し、データの変化に動的に対応しつつ、データの構造を把握することができる。
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、データベースは、XMLで記述された対象データ記述である場合の例を説明したが、これに限定されるものではなく、データを識別するデータ識別情報(データ項目、要素名など)と、データ値とを対応付けてデータが記述されたものであれば、他の記述言語で記述されたデータベースに適用してもよい。XML以外の記述言語は、例えば、HTML(Hyper Text Markup Language)などのマークアップ言語やJSON(JavaScript Object Notation)(JavaScriptは登録商標)、ヘッダ行付きのCSV(Character-Separated Values)/TSV(Tab-Separated Values)などであってもよい。
また、上記の実施形態において、対象XMLデータが記憶部13に記憶され、対象XML取得部21が、記憶部13から対象XMLデータを取得する例を説明したが、これに限定されるものではない。例えば、記憶部13は、データベース支援装置1の外部に備えられ、対象XML取得部21は、データベース支援装置1の外部から対象XMLデータを取得するようにしてもよい。また、対象XML取得部21は、ネットワークを介して、対象XMLデータを取得するようにしてもよい。また、記憶部13は、外付けHDD装置であってもよいし、ネットワークを介して接続されたファイルサーバ装置であってもよい。
また、上記の実施形態において、データベース支援装置1は、対象XMLデータに含まれるデータの構造に関する情報(例えば、図8に示すデータベースの構造情報)を表示部12に表示する例を説明したが、これに限定されるものではない。例えば、データベース支援装置1は、プリンタなどの出力部に、データの構造に関する情報を出力するようにしてもよいし、データ構造動的定義ファイルをCVD形式のファイルに変換して、外部に出力するようにしてもよい。また、データベース支援装置1は、データ構造動的定義ファイルを表示部12やプリンタなどの出力部にそのまま出力するようにしてもよい。
また、上記の図9に示すフローチャートにおいて、データ解析部22の解析処理(ステップS105、及びステップS106)の前に、データ構造動的定義ファイルが既にあるか否かを判定する処理(ステップS103)を実行しているが、これに限定されるものではない。例えば、データ構造動的定義ファイルが既にあるか否かを判定する処理は、データ解析部22の解析処理(ステップS105、及びステップS106)の後に実行してもよい。
なお、上述したデータベース支援装置1が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したデータベース支援装置1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したデータベース支援装置1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にデータベース支援装置1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
1 データベース支援装置
11 入力部
12 表示部
13 記憶部
20 制御部
21 対象XML取得部
22 データ解析部
23 定義ファイル生成部
24 表示処理部

Claims (8)

  1. データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得部と、
    前記取得部によって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析部と、
    前記データ解析部によって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成部であって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成部と
    を備えることを特徴とするデータベース支援装置。
  2. 前記データ解析部は、前記対象データ記述に含まれる名前空間の記述を抽出し、
    前記ファイル生成部は、前記名前空間の一覧を含む前記データ構造動的定義ファイルを生成又は再生成する
    ことを特徴とする請求項1に記載のデータベース支援装置。
  3. 前記データ解析部は、抽出した前記名前空間の識別情報が重複する場合に、重複した前記名前空間を個別に識別できるように、前記識別情報に枝番号を付与する
    ことを特徴とする請求項2に記載のデータベース支援装置。
  4. 前記データ解析部は、抽出した前記データの要素ごとの構造及びデータ値を解析し、
    前記ファイル生成部は、前記要素に対応するデータ型、データ値の最大値、データ値の最小値、又はデータ値に値がない場合を含むか否かを示す情報を含むデータ構造定義情報を生成又は再生成する
    ことを特徴とする請求項1から請求項3のいずれか一項に記載のデータベース支援装置。
  5. 前記データ解析部は、抽出した前記データの階層構造を解析し、
    前記ファイル生成部は、前記データの階層構造を維持した前記データ構造動的定義ファイルを生成又は再生成する
    ことを特徴とする請求項1から請求項4のいずれか一項に記載のデータベース支援装置。
  6. 前記ファイル生成部によって生成又は再生成された前記データ構造動的定義ファイルに基づいて、前記対象データ記述に含まれるデータの構造に関する情報を出力部に出力する出力処理部を備える
    ことを特徴とする請求項1から請求項5のいずれか一項に記載のデータベース支援装置。
  7. データベース支援装置が実行するデータベース支援方法であって、
    データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、
    前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、
    前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップと
    を含むことを特徴とするデータベース支援方法。
  8. コンピュータに、
    データを識別するデータ識別情報と、データ値とを対応付けてデータが記述された対象データ記述を取得する取得ステップと、
    前記取得ステップによって取得した前記対象データ記述に含まれている前記データを抽出し、抽出した当該データを解析するデータ解析ステップと、
    前記データ解析ステップによって解析された当該解析結果に基づいて、前記データに関するデータ構造定義情報を生成し、生成した当該データ構造定義情報を含むデータ構造動的定義ファイルを生成するファイル生成ステップであって、前記対象データ記述に対する前記データ構造動的定義ファイルが既に存在している場合には、当該データ構造動的定義ファイルに含まれるデータ構造定義情報と、生成した当該データ構造定義情報との和集合を示すデータ構造定義情報を再生成し、当該データ構造定義情報を更新した前記データ構造動的定義ファイルを再生成するファイル生成ステップと
    を実行させるためのプログラム。
JP2017212148A 2017-11-01 2017-11-01 データベース支援装置、データベース支援方法、及びプログラム Active JP6932064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017212148A JP6932064B2 (ja) 2017-11-01 2017-11-01 データベース支援装置、データベース支援方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017212148A JP6932064B2 (ja) 2017-11-01 2017-11-01 データベース支援装置、データベース支援方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019086849A true JP2019086849A (ja) 2019-06-06
JP6932064B2 JP6932064B2 (ja) 2021-09-08

Family

ID=66763043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017212148A Active JP6932064B2 (ja) 2017-11-01 2017-11-01 データベース支援装置、データベース支援方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6932064B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242676A (ja) * 1998-02-25 1999-09-07 Hitachi Ltd 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体
JP2003091535A (ja) * 2001-09-17 2003-03-28 Toshiba Corp データ管理方法及びプログラム並びに装置
JP2008217408A (ja) * 2007-03-05 2008-09-18 Njk:Kk Xmlデータ用操作ボタンの生成方法
US20090248716A1 (en) * 2008-03-31 2009-10-01 Caterpillar Inc. Hierarchy creation and management tool
JP2011186729A (ja) * 2010-03-08 2011-09-22 Hitachi Ltd データ処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242676A (ja) * 1998-02-25 1999-09-07 Hitachi Ltd 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体
JP2003091535A (ja) * 2001-09-17 2003-03-28 Toshiba Corp データ管理方法及びプログラム並びに装置
JP2008217408A (ja) * 2007-03-05 2008-09-18 Njk:Kk Xmlデータ用操作ボタンの生成方法
US20090248716A1 (en) * 2008-03-31 2009-10-01 Caterpillar Inc. Hierarchy creation and management tool
JP2011186729A (ja) * 2010-03-08 2011-09-22 Hitachi Ltd データ処理装置

Also Published As

Publication number Publication date
JP6932064B2 (ja) 2021-09-08

Similar Documents

Publication Publication Date Title
US9978024B2 (en) Workflow integration with Adobe™ Flex™ user interface
US20080028302A1 (en) Method and apparatus for incrementally updating a web page
US8489547B2 (en) System and method for transforming configuration data items in a configuration management database
CN114510231A (zh) 应用构建方法、装置、设备及计算机可读存储介质
JP2008097215A (ja) データ処理装置
JPWO2005098660A1 (ja) 文書処理装置及び文書処理方法
US10733206B2 (en) Propagating computable dependencies within synchronized content items between first and third-party applications
CN110222047A (zh) 一种动态表单生成方法和装置
US20180181550A1 (en) Screen information generation device and screen information generation method
JP2015204076A (ja) 文書差分表示プログラム及び情報処理装置
JP6932064B2 (ja) データベース支援装置、データベース支援方法、及びプログラム
JPWO2007052680A1 (ja) 文書処理装置及び文書処理方法
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
US20070236369A1 (en) Configurable importers and resource writers
US11663038B2 (en) Workflow data migration management
JP5685205B2 (ja) プログラム、情報処理装置およびアクセス支援方法
US11194786B2 (en) Reconciling conflicts between replicas of tree-structured data
JPWO2006046664A1 (ja) 時間共有管理装置、文書作成装置、文書閲覧装置、時間共有管理方法、文書作成方法および文書閲覧方法
JPWO2006001391A1 (ja) 文書処理装置および文書処理方法
Milovanovic et al. Python Data Visualization Cookbook
JP2019121087A (ja) 情報処理装置と、その処理方法及びプログラム
WO2014064746A1 (ja) データ操作命令生成装置、データ操作命令生成システム、データ操作命令生成方法およびデータ操作命令生成プログラム
JP5600826B1 (ja) 非構造化データ処理システム、非構造化データ処理方法およびプログラム
JP2011070369A (ja) データベース統合装置およびデータベース統合方法
JP2010257412A (ja) 情報フィルタリング装置、情報フィルタリング方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210316

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: 20210720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210817

R150 Certificate of patent or registration of utility model

Ref document number: 6932064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350