(57)【特許請求の範囲】
【請求項１】
負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部と、
入力されたデータベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部と、
検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部とを備えた
ことを特徴とするデータベース問合せ文解析装置。
【請求項２】
負担要因検出部は、
負担要因のうち、データベースに記録された情報の指定に関する部分を検出する要素記述負担解析部と、
前記負担要因のうち、データベース問合せ文の構造に関する部分を検出する構造記述負担解析部とを含む
請求項１記載のデータベース問合せ文解析装置。
【請求項３】
要素記述負担解析部は、
データベースに記録された同じフィールドの複数の値の集合がデータベース問合せ文に検索条件として含まれている場合、当該複数の値の集合を負担要因として検出し、
変更情報生成部は、検出された前記負担要因と対応付けて記憶されている生成情報が変換テーブルを示すことに基づいて前記複数の値の集合を１つの代表値で指定できるようにするための、当該複数の値の集合と当該代表値との対応関係を表す変換テーブルの定義のために必要な情報を変更情報として出力する
請求項２記載のデータベース問合せ文解析装置。
【請求項４】
構造記述負担解析部は、複数のデータベース問合せ文の中から、述語の種類と、フィールドの数と、値の数とのうちの少なくとも一つに基づいて定められた複雑さが所定の水準以上となる条件式の頻出パターンを負担要因として検出し、
変更情報生成部は、検出された前記負担要因と対応付けて記憶されている生成情報がテンプレートを示すことに基づいて前記頻出パターンを用いて条件式の定型テンプレートを変更情報として生成する
請求項２記載のデータベース問合せ文解析装置。
【請求項５】
構造記述負担解析部は、複数のデータベース問合せ文の中から所定の水準以上の複雑さがある条件式の頻出パターンを負担要因として検出し、
変更情報生成部は、検出された前記負担要因と対応付けて記憶されている生成情報がテンプレートを示すことに基づいて前記頻出パターンを用いて条件式の定型テンプレートを変更情報として生成する
請求項３記載のデータベース問合せ文解析装置。
【請求項６】
変更情報生成部によって生成される変更情報を用いてデータベース問合せ文を変更する問合せ文変更部と、
変更された前記データベース問合せ文および変換テーブルに用いられる、少なくとも代表値を含む補足情報を入力する補足情報入力部とを備えた
請求項３または請求項５記載のデータベース問合せ文解析装置。
【請求項７】
データベース問合せ文が入力され、負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部を備えたデータベース問合せ文解析装置において実行されるデータベース問合せ文解析方法であって、
前記データベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出し、
検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する
ことを特徴とするデータベース問合せ文解析方法。
【請求項８】
データベース問合せ文が入力され、負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部を備えたコンピュータにおいて実行されるデータベース問合せ文解析プログラムであって、
前記コンピュータに、
前記データベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出処理と、
検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成処理と
を実行させるためのデータベース問合せ文解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース問合せ文の再利用に用いられるデータベース問合せ文解析装置に関する。
【背景技術】
【０００２】
近年、個人、民間企業、公的機関などから供給される情報の量は、膨大になり、且つ高頻度で更新されている。そのような情報の中から必要な情報を選択的に抽出し利用するための一般的な仕組みとして、リレーショナル・データベース（以下、ＲＤＢと記載する。）や、大規模データに適したＫｅｙ−Ｖａｌｕｅストア（以下、ＫＶＳと記載する。）などがある。ＫＶＳは、簡単な条件による検索ならば対応できるが、より複雑な条件による検索に対応するには、ＲＤＢやＸＭＬデータベース、オブジェクト指向データベースなどが必要となる。これらのデータベースの中でも、データ管理の安全性の高さやアプリケーションシステムに適用した際の使い勝手の良さなどの理由により、現在もＲＤＢが主流となっている。
【０００３】
比較的複雑で多様な条件による検索が行なわれる大規模なデータベースの例として、診療報酬明細書（以下、レセプトと記載する。）のデータベース（以下、レセプトＤＢと記載する。）がある。レセプトＤＢとして、例えば、各病院が管理しているもののほか、全国のレセプトが集約されたナショナル・レセプト・データベース（以下、ＮＲＤＢと記載する。）が構築されている。ＮＲＤＢは、年間１０億件を超えるレセプトデータを蓄積する。そして、医療機関などから受ける要求に応じて必要な範囲のデータがＮＲＤＢから抽出され、提供される。
【０００４】
このような医療関連の大規模データベースを医学的な研究や国、地域の医療、健康に関わる施策検討に活用する際、検索や集計の誤りは、施策の実施において、薬やワクチン等の多大な無駄や不足の要因となる可能性がある。例えば、ある地域でのワクチン備蓄量を前年までの周辺地域を含めた実績から推定する場合、その実績の検索や集計を誤るとワクチン不足が生じる可能性がある。また、検索誤りに気づいて再度検索（データ抽出）を行なう場合でも、対象となるデータベースが巨大だと再検索自体が大きな時間的、処理的、金銭的なコスト増になる。
【０００５】
人的ミスを考慮した上で正しい検索を行なうための方法として、例えば、データベース操作用の標準言語であるＳＱＬで書かれた検索式（以下、ＳＱＬ文と記載する。）を自動生成し、正しい検索式をより確実に書けるようにする方法がある。例えば、特許文献１には、ＳＱＬ文をユーザから隠蔽し、ユーザが簡易な入力画面から入力操作を行うことでＳＱＬ文が自動生成され、ＳＱＬをまったく知らないユーザでもＲＤＢに対する検索が容易にできる方法が開示されている。
【０００６】
また、人的ミスを考慮した上で正しい検索を行なうための別の方法として、例えば、過去に得られた正しい検索結果またはその結果を得た検索式を再利用する方法がある。図１６は、特許文献２に記載されたデータベース利用システムの機能構成を示すブロック図である。例えば、特許文献２に記載された方法では、分析担当ユーザが指定した検索条件に従って得られたデータを基にユーザ利用テーブルを生成し、それを分析担当ユーザの判断によって一般ユーザが再利用できるようにしている。これにより、一般ユーザは、分析担当ユーザによる確認済みの正確な検索が手軽にできる。また、特許文献２の方法では、生成されたユーザ利用テーブルの集合から一般ユーザが任意に選択して必要な項目に検索条件の値を入力するだけで検索ができるため、一般ユーザはＳＱＬだけでなくデータ構造も知る必要なく正しい検索ができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１２６６８０公報
【特許文献２】特許第４７００４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１および特許文献２に示された技術では、検索式で指定されたデータベース上の特定部分の値以外には書き換えが出来ず、検索式の構成の一部のみが異なる類似した検索に既存の検索式を流用することもできない。すなわち、既存の検索式を再利用できる場面が非常に限られるという課題がある。また、検索条件において記述する値やその粒度が、用途によっては、ユーザにとって専門的すぎる場合または細かすぎるような場合があり、値の選択誤りや列挙漏れが発生するという課題がある。
【０００９】
そこで、本発明は、既存のデータベース問合せ文から、正確で再利用性の高いデータベース問合せ文を効率よく作成することができるデータベース問合せ文解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるデータベース問合せ文解析装置は、負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部と、入力されたデータベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部と、検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部とを備えたことを特徴とする。
【００１１】
本発明によるデータベース問合せ文解析方法は、データベース問合せ文が入力され、負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部を備えたデータベース問合せ文解析装置において実行されるデータベース問合せ文解析方法であって、前記データベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出し、検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成することを特徴とする。
【００１２】
本発明によるデータベース問合せ文解析プログラムは、データベース問合せ文が入力され、負担要因と変更情報の生成に要する生成情報とを対応付けて記憶する記憶部を備えたコンピュータにおいて実行されるデータベース問合せ文解析プログラムであって、前記コンピュータに、前記データベース問合せ文に含まれる、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出処理と、検出された前記負担要因と対応付けて記憶されている前記生成情報に基づいて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、既存のデータベース問合せ文から、正確で再利用性の高いデータベース問合せ文を効率よく作成することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明による第１の実施形態におけるデータベース問合せ文解析装置の構成を示すブロック図である。
【図２】本発明による第１の実施形態におけるデータベース問合せ文解析装置に入力されるデータベース問合せ文の一例を示す説明図である。
【図３】本発明による第１の実施形態におけるデータベース問合せ文解析装置の負担要因検出部の構成を示すブロック図である。
【図４】本発明による第１の実施形態におけるデータベース問合せ文解析装置の変更情報生成部の構成を示すブロック図である。
【図５】本発明による第１の実施形態におけるデータベース問合せ文解析装置の動作を示すフローチャートである。
【図６】変更情報テーブルの一例を示す説明図である。
【図７】変更情報の一例を示す説明図である。
【図８】再利用性の高い検索式およびそれに用いられるテーブルの一例を示す説明図である。
【図９】本発明による第２の実施形態におけるデータベース問合せ文解析装置の構成を示すプロック図である。
【図１０】本発明による第２の実施形態におけるデータベース問合せ文解析装置の問合せ文変更部の構成を示すブロック図である。
【図１１】本発明による第２の実施形態におけるデータベース問合せ文解析装置の補足情報入力部の構成と表示されるユーザインタフェースの例を示すブロック図である。
【図１２】検索式テンプレート、変換テーブルおよび検索対象説明の一例を示す説明図である。
【図１３】本発明による第２の実施形態におけるデータベース問合せ文解析装置を利用することにより作成可能なデータベース検索ユーザインタフェースの一例を示す説明図である。
【図１４】本発明による第１の実施形態及び第２の実施形態におけるデータベース問合せ文解析装置のハードウェア構成例を示す説明図である。
【図１５】本発明によるデータベース問合せ文解析装置の主要部を示すブロック図である。
【図１６】特許文献２に記載されたデータベース利用システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を、図面を参照して説明する。
【００１６】
実施形態１．
図１は、第１の実施形態（実施形態１）におけるデータベース問合せ文解析装置の構成を示すブロック図である。図２は、データベース問合せ文解析装置に入力されるデータベース問合せ文の一例を示す説明図である。図１に示すように、本実施形態のデータベース問合せ文解析装置は、負担要因検出部１１と、変更情報生成部１２とを含む。
【００１７】
負担要因検出部１１は、図２に示すようなデータベース問合せ文（以下、検索式と記載する。）を入力し、入力された検索式を再利用する場合に再利用の目的に合わせた変更が難しい部分、および変更時に間違いを生じ易い部分の少なくとも一方を負担要因として検出する。
【００１８】
変更情報生成部１２は、負担要因の種類に応じて、検索式を、負担要因を低減させた検索式に変更するための変更情報を生成する。
【００１９】
図３は、負担要因検出部１１の構成を示すブロック図である。図３に示すように、負担要因検出部１１は、要素記述負担解析部１１１と構造記述負担解析部１１２とを含む。
【００２０】
要素記述負担解析部１１１は、データベースのテーブルやフィールド、フィールドの値、またはそれらの集合の記述が、データベース問合せ文を再利用する際にユーザにとって負担となる場合に、それらを負担要因として検出する。要素記述負担解析部１１１は、例えば番号、記号列、専門用語など一般の人には理解し難い文字列を専用コードとして検出する専用コード検出部１１１１と、ある特定のフィールドの値（同種の値）がＡＮＤ句、ＯＲ句またはＩＮ述語を用いて列挙されている場合に、これらの値の集合を、要素集合として検出する要素集合検出部１１１２を含む。また、要素記述負担解析部１１１は、データベースの値の使い方もしくはＳＱＬの書き方で誤りを生じ易い要注意部分の記述を、要注意記述として検出する要注意記述検出部１１１３を含む。
【００２１】
構造記述負担解析部１１２は、構造的な複雑度が高く且つ多くの検索式に現れる記述パターン（頻出パターン）を検出する。構造記述負担解析部１１２は、検索式の複雑度評価を行なう複雑度評価部１１２１、条件式を必要に応じて抽象化する条件式抽象化部１１２２、抽象化された条件式を格納する条件式リポジトリ１１２４を含む。また、構造記述負担解析部１１２は、抽象化された条件式および条件式リポジトリ１１２４内の条件式に基づいて頻出する共通のパターン（頻出パターン）を抽出する頻出パターン抽出部１１２３を含む。
【００２２】
図４は、変更情報生成部１２の構成を示すブロック図である。変更情報生成部１２は、負担要因検出部１１の出力結果と変更情報テーブルを参照して検索式の変更タイプと必要な変更情報を特定し、必要な変更情報を構成する変更情報構成部１２１と、構成された負担要因の種類毎の変更情報を出力する変更情報出力部１２２と、変更情報を格納する変更情報テーブル１２３とを含む。
【００２３】
次に、本実施形態のデータベース問合せ文解析装置の動作を説明する。図５は、本実施形態のデータベース問合せ文解析装置の動作を示すフローチャートである。
【００２４】
専用コード検出部１１１１は、入力した検索式に番号、記号列、専門用語など一般の人には理解し難い文字列が検索条件に使われている場合に、これら文字列を、専用コードとして検出する（ステップＳ０１）。要素集合検出部１１１２は、入力した検索式にある特定のフィールドの値がＡＮＤ句、ＯＲ句またはＩＮ述語を用いて列挙されている場合に、これらの値の集合を、要素集合として検出する（ステップＳ０２）。要注意記述検出部１１１３は、入力した検索式にデータベースの値の使い方もしくはＳＱＬの書き方で誤りを生じ易い要注意部分の記述を、要注意記述として検出する（ステップＳ０３）。要素記述負担解析部１１１は、これら専用コード、要素集合および要注意記述のうちの少なくとも一つを負担要因として出力する。また、要素集合に該当するフィールド、ならびに専用コードおよび要注意記述に該当する記述は、システム管理者等により予め定められる。
【００２５】
専用コード、要素集合および要注意記述は、検索式中の同じ部分から検出されることもある。例えば、図２に示す検索式の例では、ＷＨＥＲＥ以下で表される条件式の中にＩＮ述語を用いた“prescription.atc in (‘N06A3’, ‘N06A4’, ‘N06A9’)”という記述がある。この記述において、例えば‘N06A3’などは専用コードに相当し、また３つの専用コードが列挙された要素集合でもある。さらに、“prescription.value >= 30”という条件の記述において“30”という数字は、単位が分かり難く要注意記述として検出すべき対象である。なお、“patients.date”の値のようなＤＡＴＥ型の値は、分かり易く曖昧性が低いため、要注意記述とはしない。
【００２６】
なお、ステップＳ０１〜ステップＳ０３の順序は、上記の順序に限られず、別の順序で行ってもよい。また、ステップＳ０１〜ステップＳ０３を並行して行ってもよい。
【００２７】
複雑度評価部１１２１は、検索式の複雑度評価を行なう（ステップＳ０４）。複雑度評価部１１２１による検索式の複雑度評価は、簡易な方法としては、例えば、ＷＨＥＲＥ以下で表される条件式のうち使われている述語の種類、または参照しているフィールドおよび値の数の合計が、システム管理者等により予め定められた所定数以上であれば複雑な検索式と判断することで実現できる。
【００２８】
ステップＳ０４において、検索式の複雑度が所定の閾値以上であると判定された場合には、条件式抽象化部１１２２は、その検索式に含まれる条件式を必要に応じて抽象化する（ステップＳ０５）。また、条件式抽象化部１１２２は、抽象化した条件式を条件式リポジトリ１１２４に追加する。
【００２９】
条件式抽象化部１１２２による条件式の抽象化は、例えば、あるフィールドが特定の値であることが条件に含まれる場合に、条件の値を任意（ワイルドカード）とすることで実現できる。また、条件式抽象化部１１２２による条件式の抽象化は、例えば、ＡＮＤ句が複数並ぶ場合は出現頻度が上位所定数のテーブルやフィールドに関するＡＮＤ句のみを残して出現頻度の低いテーブルやフィールドに関するＡＮＤ句を削除するという方法により実現できる。
【００３０】
次に、頻出パターン抽出部１１２３は、その抽象化された条件式と類似した条件式が条件式リポジトリ１１２４に所定の数以上存在していれば、それら条件式から共通のパターン（頻出パターン）を抽出する（ステップＳ０６）。
【００３１】
頻出パターン抽出部１１２３による頻出パターンの抽出における類似した条件式とは、例えば、条件式リポジトリ１１２４に蓄積された抽象化済みの条件式を、ＡＮＤやＯＲの論理演算子を中間ノードとした木構造（最上位ノードはＷＨＥＲＥ）で表し、木構造同士の類似性が所定の閾値以上の条件式である。また、木構造同士の類似性は、例えば、中間および末端ノードが共通している割合と、各末端ノード（述語）で指定された属性（テーブルやフィールド）が共通している割合との積であらわされる。
【００３２】
以上の処理により、負担要因検出部１１は、ユーザが理解し難い専用コード、その列挙時に要素の過不足や記入誤りが生じ易い要素集合、その他の誤り易い要注意部分、をそれぞれ負担要因として出力する。そして、負担要因検出部１１は、所定の程度以上の複雑度を持つ条件式の使用頻度が高い部分を表す頻出パターンも負担要因の一種として出力する。
【００３３】
変更情報生成部１２は、負担要因検出部１１によって検出された負担要因の種類に応じて、入力された検索式から負担要因を低減し、再利用が容易な記述内容に変更するための一連の情報を生成する。図６は、変更情報生成部１２が用いる変更情報テーブル１２３の一例を示す説明図である。変更情報構成部１２１は、負担要因検出部１１の出力結果と変更情報テーブル１２３を参照して検索式の変更タイプと必要な変更情報を特定し、必要な変更情報を構成する（ステップＳ０７）。
【００３４】
次に、変更情報出力部１２２は、構成された負担要因の種類毎の変更情報を出力する（ステップＳ０８）。例えば、図２に示す検索式から負担要因検出部１１によって検出された、負担要因として専用コードおよび要素集合を含む記述“prescription.atc in (‘N06A3’,‘N06A4’,‘N06A9’)”は、変更情報テーブルを参照すると、変更タイプは変換テーブル型であり、必要な変更情報は変換テーブル情報、変換テーブル埋め込み式にそれぞれ特定される。
【００３５】
図７は、変更情報生成部１２により生成された変更情報の一例を示す説明図である。図７に示した変更情報は、元の検索式Ｒ０１、変更タイプＲ０２を含み、さらに変更タイプＲ０２に対応する情報として変換テーブル情報Ｒ０３、変換テーブル埋め込み式Ｒ０４、アラート文Ｒ０５、条件式テンプレートＲ０６をそれぞれ含む。また、さらに元の検索式Ｒ０１は、変換テーブル情報と対応する部分が明示されている（図７における下線部）。
【００３６】
図７に示す例における変更タイプＲ０２は、変換テーブル型、アラート型、条件式テンプレート型の３種類が含まれている。このように、１つの検索式から複数の変更タイプを検出してもよい。
【００３７】
また、変換テーブル情報Ｒ０３には、テーブル名（table.name）やフィールド名（field1.nameなど）と、それらの値が記載される。値のうちの一部は、既定値（labelsなど）が設定され、他の一部は検索式から検出された負担要因に含まれる値（atcやN06A3など）が変更情報生成部１２によって設定される。
【００３８】
また、変換テーブル埋め込み式Ｒ０４は、検索式の一部をその記述内容で置き替えるためのものであり、その記述内容の一部に変換テーブル情報Ｒ０３の要素を含む（atc，labels，name，_field1.value_が相当。ただし、_field1.value_はfield1.valueの値部分を指す変数）。
【００３９】
また、アラート文Ｒ０５は、変更情報生成部１２が備えるアラートの種類毎のテンプレート（図示せず）を用いて生成される。例えば、図２および図７のＲ０１に示した検索式中の“prescription.value >= 30”から、“prescription.value”と曖昧性のある値“30”を検出し、これらを前記テンプレートに挿入することにより、アラート文Ｒ０５が生成される。
【００４０】
図７に示す条件式テンプレートＲ０６は、図２に示した検索式中の条件式（ＷＨＥＲＥ以下の記述）のうち、“OR prescription.atc = ‘N06A6’”および“AND prescription.value >= 30”以外の部分（個々のフィールド値を除く）が、他の多くの条件式にも含まれる頻出パターンとして抽出されたものである。また、図７に示す条件式テンプレートＲ０６は、負担要因検出部１１の条件式抽象化部１１２２が、図５のステップＳ０５で個々のフィールド値をワイルドカード（“＊”）や仮の共通値（“ＤＡＴＥ型の値”など）に置き換え、頻出パターン抽出部１１２３がＷＨＥＲＥ文中の出現頻度の高い記述の組合せのみを抽出した結果である。
【００４１】
図８は、再利用性の高い検索式Ｒ０８およびそれに用いられる変換テーブルＲ０７の一例を示す説明図である。図８に示す検索式Ｒ０８および変換テーブルＲ０７は、変更情報生成部１２によって生成し出力された上記変更情報を用いることで得られたものである。
【００４２】
変更情報生成部１２が出力する変換テーブルＲ０７は、変換テーブル情報Ｒ０３に基づいて新たなテーブルをデータベースに定義した、または定義済みのテーブルにレコードを追加したものである。
【００４３】
図８に示す変換テーブルＲ０７は、図７に示した変更情報のうち変換テーブル情報Ｒ０３を用いて生成されたものである。変換テーブルＲ０７は、テーブル名を「ｌａｂｅｌｓ」、第１のフィールド名を「ｎａｍｅ」、第２のフィールド名を「ａｔｃ」と設定されている。また、変換テーブルＲ０７は、第２のフィールドの値にそれぞれ「Ｎ０６Ａ３」、「Ｎ０６Ａ４」、「Ｎ０６Ａ５」、「Ｎ０６Ａ９」が設定され、さらに第１のフィールドの値が全て「抗うつ薬」と設定されている。
【００４４】
図８に示す検索式Ｒ０８は、図２の検索式中の条件式が条件式テンプレートＲ０６で置き換えられている。また、検索式Ｒ０８は、条件式テンプレートＲ０６の一部であるＩＮ述語の値指定部分に変更テーブル埋め込み式Ｒ０４を挿入されている。また、検索式Ｒ０８は、変換テーブルＲ０７に対応して、条件式中のＩＮ述語の値指定部分に挿入した変換テーブル埋め込み式Ｒ０４の「＿ｆｉｅｌｄ１．ｖａｌｕｅ＿」部分がｌａｂｅｌｓテーブルのｎａｍｅフィールドの共通値「抗うつ薬」で置き換えられている。
【００４５】
なお、検索式Ｒ０１の条件式部分を条件式テンプレートＲ０６で置き換えたことにより、アラート文Ｒ０５は対象とする条件記述が無くなっているため不要となる。
【００４６】
以上のように、変更情報から変換テーブルＲ０７や検索式Ｒ０８を作成することで、ユーザは、「Ｎ０６Ａ３」といった分かり難い専用コードを理解する必要も、それらを複数列挙したものが何を表すのかを理解する必要もなく、替わりに「抗うつ薬」という分かり易い１つの総称で条件を理解できる。これにより、既存の検索式が所望の条件に基づく検索式であるかを容易に判断できる。また、「抗うつ薬」と同様に他の薬の総称（例えば「利尿薬」）も変換テーブルに定義されていれば、「抗うつ薬」という１つの値のみを他の薬の総称で置き換えることで、容易に類似した別の検索式を作成することもできる。
【００４７】
本実施形態のデータベース問合せ文解析装置は、負担要因検出部１１が、既存のデータベース問合せ文を解析してユーザが検索条件の値や構成を書き換えて再利用する際に困難を伴う部分や誤りを生じ易い部分（負担要因）を検出する。また、変更情報生成部１２が、当該負担要因のタイプに応じて前記データベース問合せ文を適切に書き換えるために必要な情報を生成する。そのため、各種の人的な誤りを回避して正しく検索が行なえる、再利用に適したデータベース問合せ文を容易に、効率良く作成することができる。
【００４８】
また、負担要因検出部１１に含まれる要素記述負担解析部１１１が、複数の値の集合が検索条件に含まれている場合にこれらの値を検出し、変更情報生成部１２が、当該複数の値の集合を１つの総称（代表値）で指定できるように変換テーブル情報Ｒ０３および変換テーブル埋め込み式Ｒ０４を出力する。このため、検索条件の値の指定が容易になり、且つ複数の値を指定することによって記述の誤りが生じる可能性を低減することができる。
【００４９】
また、負担要因検出部１１に含まれる構造記述負担解析部１１２が、構造的な複雑度が高く且つ多くの検索式に現れる記述パターン（頻出パターン）を検出し、変更情報生成部１２が前記頻出パターンを条件式テンプレートＲ０６として出力する。このため、多くの場面で検索者が自ら複雑な条件式を記述する必要なく、条件式テンプレートを用いて正確な条件の指定を効率良く行うことができる。
【００５０】
実施形態２．
次に、変更情報を用いて再利用性の高いデータベース問合せ文を作成するデータベース問合せ文解析装置の例について、図面を参照して説明する。図９は、第２の実施形態（実施形態２）におけるデータベース問合せ文解析装置の構成を示すブロック図である。本実施形態のデータベース問合せ文解析装置は、負担要因検出部１１、変更情報生成部１２、問合せ文変更部１３および補足情報入力部１４を備える。なお、図９に示す負担要因検出部１１及び変更情報生成部１２は、図１に示した第１の実施形態のものと同じであるため、説明を省略する。
【００５１】
問合せ文変更部１３は、図７に示したような変更情報に基づき、既存の検索式を、負担要因を低減した再利用性の高い検索式に変更し、さらに変更後の検索式に必要な付随情報を生成する。図１０は、本実施形態のデータベース問合せ文解析装置の問合せ文変更部１３の構成を示す説明図である。問合せ文変更部１３は、条件変換テーブル生成部１３１と、条件式テンプレート適用部１３２とを含む。
【００５２】
条件変換テーブル生成部１３１は、変更情報のうちの変更タイプに変換テーブル型が含まれている場合、当該変更情報のうちの変換テーブル情報Ｒ０３を用いて条件式の値の変換テーブルを生成する。変換テーブルの生成方法は、実施形態１の説明で述べた、図７に示す変換テーブル情報Ｒ０３から図８に示す変換テーブルＲ０７（ｌａｂｅｌｓテーブル）を生成する方法と同様であり、これを機械的に自動で行なう。ただし、変換テーブルＲ０７（ｌａｂｅｌｓテーブル）のｎａｍｅフィールドの値指定は、後述する補足情報入力部１４により行われる。
【００５３】
条件式テンプレート適用部１３２は、変更情報のうちの条件式テンプレートおよび変換テーブル埋め込み式を元の検索式に適用することで、再利用性の高い検索式のベースとなる式を生成する。例えば、図７の条件式テンプレートＲ０６に示されるＷＨＥＲＥ文のＩＮ述語の値指定部分に図７の変換テーブル埋め込み式Ｒ０４を挿入し、そのＷＨＥＲＥ文で検索式Ｒ０１のＷＨＥＲＥ文を置き換えた文を、再利用性の高い検索式のベースとなる式として出力する。
【００５４】
補足情報入力部１４は、問合せ文変更部１３で生成された変換テーブルや再利用性の高い検索式のベースとなる式に対して、ユーザがさらに必要な情報を記入するためのユーザインタフェースを含む。図１１は、本実施形態の補足情報入力部の構成と表示されるユーザインタフェースの例を示した説明図である。補足情報入力部１４は、検索式操作部１４１１、変換テーブル操作部１４１２、および検索対象説明入力部１４１３を含む補足情報入力ユーザインタフェース１４１と、補足情報の候補を保持する用語辞書１４２とを含む。
【００５５】
検索式操作部１４１１は、前述した再利用性の高い検索式のベースとなる式を表示し、そのうち予め値を入力しておくべき部分を指摘する。図１１では、検索式のうちＩＮ述語の値指定部分に含まれるｎａｍｅフィールドの値の部分をグレーの箱で示し、その箱に何らかの値を指定するように促している。
【００５６】
変換テーブル操作部１４１２は、前述した変換テーブルのいずれかのフィールドに値を指定するための支援を行なう。図１１に示す例では、変換テーブルのｎａｍｅフィールドに予め用語辞書１４２を用いてａｔｃフィールドの各値（“Ｎ０６Ａ３”など）に対応する日本語表記（“気分安定薬”など）が表示されている。ユーザは、変換テーブル操作部１４１２を介して、表示された各ｎａｍｅフィールドの値の、例えば共通の値を代表値（“抗うつ薬”など）に決定し、対応する全てのｎａｍｅフィールドの値を代表値で置き換える。さらに、ユーザは、変換テーブル操作部１４１２を介して、検索式操作部１４１１が要求している検索式中のｎａｍｅフィールドの値にも同じく前記代表値を検索条件として記入することで、図８に示したものと同じ変換テーブル（ｌａｂｅｌｓテーブル）および再利用性の高い検索式が得られる。
【００５７】
図１２は、検索式Ｒ０８、変換テーブルＲ０７および検索対象説明Ｒ０９の一例を示す説明図である。図１２に示すように、変換テーブルＲ０７と検索式Ｒ０８に検索対象説明Ｒ０９が付与されてユーザに示される。変換テーブルＲ０７および検索式Ｒ０８は、検索式操作部１４１１および変換テーブル操作部１４１２の操作によりｎａｍｅフィールドの値が代表値（“抗うつ薬”）で置き換えられている。ユーザは、検索対象説明入力部１４１３を介して、検索条件として検索対象説明Ｒ０９の“年月日１”および“年月日２”を入力するだけで必要な情報を検索できる。このように、ユーザは必要とする再利用性の高い検索式を容易に見つけ、利用することができる。
【００５８】
図１３は、本実施形態におけるデータベース問合せ文解析装置を利用することにより作成可能なデータベース検索ユーザインタフェースの一例を示す説明図である。問合せ文変更部１３が生成した再利用性の高い検索式と変換テーブルを用いて、図１３に示すようなデータベース検索用のユーザインタフェースを容易に作成できる。図１３に示すように、検索条件の値として“Ｎ０６Ａ３”、“Ｎ０６Ａ４”のような分かり難い専用コードの集合の替わりに“抗うつ薬”等の分かり易い言葉で指定できる。
【００５９】
また、“抗うつ薬”以外についても同様の変換テーブルが得られていれば、“抗うつ薬”を他の値（図１３では「処方した薬」の選択肢として表示している“抗肥満薬”など）に置き換えるだけで、検索式の変更などをユーザが行わなくても正しい検索を行うことが容易となる。このように、過去に蓄積された様々な検索式を再利用が容易な形で再定義し、頻出パターンを含んだ検索式を元に図１３のようなデータベース検索用のＧＵＩ（グラフィカル・ユーザインタフェース）を作成することで、実際に利用頻度の高い検索を容易に行なえる手段を提供できる。
【００６０】
本実施形態のデータベース問合せ文解析装置は、問合せ文変更部１３が、変更情報生成部１２が生成する情報を用いて既存のデータベース問合せ文を再利用容易な内容に変更し、必要に応じて特定の値の集合を代表値で指定するための変換テーブルを生成する。そして、補足情報入力部１４が、変更したデータベース問合せ文に対してさらに補足情報の簡便な追加を可能にする。これにより、既存の正しいデータベース問合せ文から、再利用時の書き換えや値設定の際の誤りが生じ難いデータベース問合せ文のテンプレートを得ることができる。
【００６１】
次に、第１の実施形態及び第２の実施形態におけるデータベース問合せ文解析装置のハードウェア構成の具体例について説明する。図１４は、本発明の実施形態１及び実施形態２におけるデータベース問合せ文解析装置のハードウェア構成の例を示す説明図である。図１４に示すデータベース問合せ文解析装置Ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）Ａ１、主記憶部Ａ２、出力部Ａ３、入力部Ａ４及び補助記憶部Ａ６を少なくとも含む。また、データベース問合せ文解析装置Ａは、通信部Ａ５を備えていてもよい。
【００６２】
主記憶部Ａ２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであって、データの作業領域やデータの一時退避領域として用いられる。出力部Ａ３は、例えば液晶ディスプレイ装置等の表示装置、又はプリンタ等の印刷装置であり、データを出力する。入力部Ａ４は、例えばキーボードやマウス等の入力デバイスであり、データを入力する。また、ファイル読み込みによってデータ入力を行なう場合には、入力部Ａ４は、外部記録媒体読取装置等であってもよい。補助記憶部Ａ６は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスク装置等である。また、図１４に示すように、データベース問合せ文解析装置Ａにおいて、以上の各構成要素Ａ１〜Ａ６は、システムバスＡ７を介して相互に接続されている。
【００６３】
また、補助記憶部Ａ６は、図１又は図９に示した負担要因検出部１１、変更情報生成部１２、問合せ文変更部１３及び補足情報入力部１４をそれぞれ実現するプログラムを記憶している。さらに、補助記憶部Ａ６は、負担要因検出部１１が読み書きする条件式リポジトリ、変更情報生成部１２が参照する変更情報テーブル１２３、変更情報生成部１２が出力する変更情報、および補足情報入力部１４が出力する検索式Ｒ０８や変換テーブルＲ０７を表すデータを記憶する。
【００６４】
入力部Ａ４または通信部Ａ５は、データベース問合せ文を取得する。また、実施形態２における補足情報入力部１４は、出力部Ａ３を通じてデータベース問合せ文解析装置Ａの利用者に補足情報の入力を促す問いかけを行なう。
【００６５】
なお、データベース問合せ文解析装置Ａは、その内部に、図１又は図９に示したような機能を実現するプログラムを組み込んだＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路を実装することで、ハードウェアにより実現してもよい。また、図１４に示したように、図１又は図９に示したような機能を提供するプログラムを、コンピュータのＣＰＵＡ１に実行させることで、ソフトウェアにより実現してもよい。この場合、ＣＰＵＡ１は、補助記憶部Ａ６に格納されているプログラムを、主記憶部Ａ２にロードして実行し、データベース問合せ文解析装置Ａの動作を制御することにより、上述した各機能をソフトウェアにより実現することができる。
【００６６】
また、通信部Ａ５は、周辺機器と接続され、データの送受信を行なう機能を有する。周辺機器の１つとして、図１４に示す外部記憶装置Ｂが通信部Ａ５によりネットワーク（情報通信ネットワーク）を介してデータベース問合せ文解析装置Ａと接続され、外部記憶装置Ｂに格納されたデータベース問合せ文を負担要因検出部１１が取得してもよい。さらに、前述した変更情報生成部１２が出力する変更情報のデータや、補足情報入力部１４が出力する検索式テンプレートや変換テーブルを表すデータを外部記憶装置Ｂに格納してもよい。
【００６７】
図１５は、本発明のデータベース問合せ文解析装置の主要部を示すブロック図である。図１５に示すように、データベース問合せ文解析装置は、データベース問合せ文を入力し、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部１１と、前記負担要因の種類に応じて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部１２とを備えている。
【００６８】
また、上記の実施形態では、以下の（１）〜（５）に示すようなデータベース問合せ文解析装置も開示されている。
【００６９】
（１）データベース問合せ文を入力し、予め定められた形態の記述（例えば、専用コード検出部１１１１、要素集合検出部１１１２、要注意記述検出部１１１３から検出された記述）と、複雑さが所定の水準以上となる条件式（例えば、複雑度評価部１１２１により複雑であると評価された条件式）とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部（例えば、負担要因検出部１１）と、前記負担要因の種類に応じて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部（例えば、変更情報生成部１２）とを備えたデータベース問合せ文解析装置。
【００７０】
（２）データベース問合せ文解析装置は、負担要因検出部が、負担要因のうち、データベースに記録された情報の指定に関する部分を検出する要素記述負担解析部（例えば、要素記述負担解析部１１１）と、負担要因のうち、データベース問合せ文の構造に関する部分を検出する構造記述負担解析部（例えば、構造記述負担解析部１１２）とを含むように構成されていてもよい。
【００７１】
（３）データベース問合せ文解析装置は、要素記述負担解析部が、データベースに記録された同じフィールドの複数の値の集合（例えば、要素集合検出部１１１２により検出された値の集合）がデータベース問合せ文に検索条件として含まれている場合、当該複数の値の集合を負担要因として検出し、変更情報生成部は、検出された複数の値の集合を１つの代表値で指定できるようにするための、当該複数の値の集合と当該代表値との対応関係を表す変換テーブルの定義のために必要な情報（例えば、変換テーブル情報Ｒ０３）を変更情報として出力するように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、検索条件の値の指定が容易になり、且つ複数の値を指定することによって記述の誤りが生じる可能性を低減することができる。
【００７２】
（４）データベース問合せ文解析装置は、構造記述負担解析部（例えば、構造記述負担解析部１１２）が、複数のデータベース問合せ文の中から、述語の種類と、フィールドの数と、値の数とのうちの少なくとも一つに基づいて定められた複雑さが所定の水準以上となる条件式の頻出パターンを負担要因として検出し、変更情報生成部は、頻出パターンを用いて条件式の定型テンプレート（例えば、条件式テンプレートＲ０６）を変更情報として生成するように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、多くの場面で検索者が自ら複雑な条件式を記述する必要なく、条件式テンプレートを用いて正確な条件の指定を効率良く行うことができる。
【００７３】
（５）データベース問合せ文解析装置は、変更情報生成部によって生成される変更情報を用いてデータベース問合せ文を変更する問合せ文変更部（例えば、問合せ文変更部１３）と、変更されたデータベース問合せ文および変換テーブルに用いられる、少なくとも代表値を含む補足情報を入力する補足情報入力部（例えば、補足情報入力部１４）とを備えるように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、既存の正しいデータベース問合せ文から、再利用時の書き換えや値設定の際の誤りが生じ難いデータベース問合せ文のテンプレートを得ることができる。
【産業上の利用可能性】
【００７４】
本発明は、データベース問合せ文が再利用される検索システムに適用できる。
【符号の説明】
【００７５】
１１  負担要因検出部
１２  変更情報生成部
１３  問合せ文変更部
１４  補足情報入力部
１１１  要素記述負担解析部
１１２  構造記述負担解析部
１３１  条件変換テーブル生成部
１３２  条件式テンプレート適用部
１４１１  検索式操作部
１４１２  変換テーブル操作部
１４１３  検索対象説明入力部
Ａ  データベース問合せ文解析装置
Ａ１  ＣＰＵ
Ａ２  主記憶部
Ａ３  出力部
Ａ４  入力部
Ａ５  通信部
Ａ６  補助記憶部
Ａ７  システムバス
Ｂ  外部記憶装置
【図１】
0006044100.tif 000002
【図２】
0006044100.tif 000003
【図３】
0006044100.tif 000004
【図４】
0006044100.tif 000005
【図５】
0006044100.tif 000006
【図６】
0006044100.tif 000007
【図７】
0006044100.tif 000008
【図８】
0006044100.tif 000009
【図９】
0006044100.tif 000010
【図１０】
0006044100.tif 000011
【図１２】
0006044100.tif 000012
【図１４】
0006044100.tif 000013
【図１５】
0006044100.tif 000014
【図１６】
0006044100.tif 000015
【図１１】
0006044100.tif 000016
【図１３】
0006044100.tif 000017