(58)【調査した分野】(Int.Cl.,DB名)
構造記述負担解析部は、複数のデータベース問合せ文の中から、述語の種類と、フィールドの数と、値の数とのうちの少なくとも一つに基づいて定められた複雑さが所定の水準以上となる条件式の頻出パターンを負担要因として検出し、
変更情報生成部は、検出された前記負担要因と対応付けて記憶されている生成情報がテンプレートを示すことに基づいて前記頻出パターンを用いて条件式の定型テンプレートを変更情報として生成する
請求項2記載のデータベース問合せ文解析装置。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を、図面を参照して説明する。
【0016】
実施形態1.
図1は、第1の実施形態(実施形態1)におけるデータベース問合せ文解析装置の構成を示すブロック図である。
図2は、データベース問合せ文解析装置に入力されるデータベース問合せ文の一例を示す説明図である。
図1に示すように、本実施形態のデータベース問合せ文解析装置は、負担要因検出部11と、変更情報生成部12とを含む。
【0017】
負担要因検出部11は、
図2に示すようなデータベース問合せ文(以下、検索式と記載する。)を入力し、入力された検索式を再利用する場合に再利用の目的に合わせた変更が難しい部分、および変更時に間違いを生じ易い部分の少なくとも一方を負担要因として検出する。
【0018】
変更情報生成部12は、負担要因の種類に応じて、検索式を、負担要因を低減させた検索式に変更するための変更情報を生成する。
【0019】
図3は、負担要因検出部11の構成を示すブロック図である。
図3に示すように、負担要因検出部11は、要素記述負担解析部111と構造記述負担解析部112とを含む。
【0020】
要素記述負担解析部111は、データベースのテーブルやフィールド、フィールドの値、またはそれらの集合の記述が、データベース問合せ文を再利用する際にユーザにとって負担となる場合に、それらを負担要因として検出する。要素記述負担解析部111は、例えば番号、記号列、専門用語など一般の人には理解し難い文字列を専用コードとして検出する専用コード検出部1111と、ある特定のフィールドの値(同種の値)がAND句、OR句またはIN述語を用いて列挙されている場合に、これらの値の集合を、要素集合として検出する要素集合検出部1112を含む。また、要素記述負担解析部111は、データベースの値の使い方もしくはSQLの書き方で誤りを生じ易い要注意部分の記述を、要注意記述として検出する要注意記述検出部1113を含む。
【0021】
構造記述負担解析部112は、構造的な複雑度が高く且つ多くの検索式に現れる記述パターン(頻出パターン)を検出する。構造記述負担解析部112は、検索式の複雑度評価を行なう複雑度評価部1121、条件式を必要に応じて抽象化する条件式抽象化部1122、抽象化された条件式を格納する条件式リポジトリ1124を含む。また、構造記述負担解析部112は、抽象化された条件式および条件式リポジトリ1124内の条件式に基づいて頻出する共通のパターン(頻出パターン)を抽出する頻出パターン抽出部1123を含む。
【0022】
図4は、変更情報生成部12の構成を示すブロック図である。変更情報生成部12は、負担要因検出部11の出力結果と変更情報テーブルを参照して検索式の変更タイプと必要な変更情報を特定し、必要な変更情報を構成する変更情報構成部121と、構成された負担要因の種類毎の変更情報を出力する変更情報出力部122と、変更情報を格納する変更情報テーブル123とを含む。
【0023】
次に、本実施形態のデータベース問合せ文解析装置の動作を説明する。
図5は、本実施形態のデータベース問合せ文解析装置の動作を示すフローチャートである。
【0024】
専用コード検出部1111は、入力した検索式に番号、記号列、専門用語など一般の人には理解し難い文字列が検索条件に使われている場合に、これら文字列を、専用コードとして検出する(ステップS01)。要素集合検出部1112は、入力した検索式にある特定のフィールドの値がAND句、OR句またはIN述語を用いて列挙されている場合に、これらの値の集合を、要素集合として検出する(ステップS02)。要注意記述検出部1113は、入力した検索式にデータベースの値の使い方もしくはSQLの書き方で誤りを生じ易い要注意部分の記述を、要注意記述として検出する(ステップS03)。要素記述負担解析部111は、これら専用コード、要素集合および要注意記述のうちの少なくとも一つを負担要因として出力する。また、要素集合に該当するフィールド、ならびに専用コードおよび要注意記述に該当する記述は、システム管理者等により予め定められる。
【0025】
専用コード、要素集合および要注意記述は、検索式中の同じ部分から検出されることもある。例えば、
図2に示す検索式の例では、WHERE以下で表される条件式の中にIN述語を用いた“prescription.atc in (‘N06A3’, ‘N06A4’, ‘N06A9’)”という記述がある。この記述において、例えば‘N06A3’などは専用コードに相当し、また3つの専用コードが列挙された要素集合でもある。さらに、“prescription.value >= 30”という条件の記述において“30”という数字は、単位が分かり難く要注意記述として検出すべき対象である。なお、“patients.date”の値のようなDATE型の値は、分かり易く曖昧性が低いため、要注意記述とはしない。
【0026】
なお、ステップS01〜ステップS03の順序は、上記の順序に限られず、別の順序で行ってもよい。また、ステップS01〜ステップS03を並行して行ってもよい。
【0027】
複雑度評価部1121は、検索式の複雑度評価を行なう(ステップS04)。複雑度評価部1121による検索式の複雑度評価は、簡易な方法としては、例えば、WHERE以下で表される条件式のうち使われている述語の種類、または参照しているフィールドおよび値の数の合計が、システム管理者等により予め定められた所定数以上であれば複雑な検索式と判断することで実現できる。
【0028】
ステップS04において、検索式の複雑度が所定の閾値以上であると判定された場合には、条件式抽象化部1122は、その検索式に含まれる条件式を必要に応じて抽象化する(ステップS05)。また、条件式抽象化部1122は、抽象化した条件式を条件式リポジトリ1124に追加する。
【0029】
条件式抽象化部1122による条件式の抽象化は、例えば、あるフィールドが特定の値であることが条件に含まれる場合に、条件の値を任意(ワイルドカード)とすることで実現できる。また、条件式抽象化部1122による条件式の抽象化は、例えば、AND句が複数並ぶ場合は出現頻度が上位所定数のテーブルやフィールドに関するAND句のみを残して出現頻度の低いテーブルやフィールドに関するAND句を削除するという方法により実現できる。
【0030】
次に、頻出パターン抽出部1123は、その抽象化された条件式と類似した条件式が条件式リポジトリ1124に所定の数以上存在していれば、それら条件式から共通のパターン(頻出パターン)を抽出する(ステップS06)。
【0031】
頻出パターン抽出部1123による頻出パターンの抽出における類似した条件式とは、例えば、条件式リポジトリ1124に蓄積された抽象化済みの条件式を、ANDやORの論理演算子を中間ノードとした木構造(最上位ノードはWHERE)で表し、木構造同士の類似性が所定の閾値以上の条件式である。また、木構造同士の類似性は、例えば、中間および末端ノードが共通している割合と、各末端ノード(述語)で指定された属性(テーブルやフィールド)が共通している割合との積であらわされる。
【0032】
以上の処理により、負担要因検出部11は、ユーザが理解し難い専用コード、その列挙時に要素の過不足や記入誤りが生じ易い要素集合、その他の誤り易い要注意部分、をそれぞれ負担要因として出力する。そして、負担要因検出部11は、所定の程度以上の複雑度を持つ条件式の使用頻度が高い部分を表す頻出パターンも負担要因の一種として出力する。
【0033】
変更情報生成部12は、負担要因検出部11によって検出された負担要因の種類に応じて、入力された検索式から負担要因を低減し、再利用が容易な記述内容に変更するための一連の情報を生成する。
図6は、変更情報生成部12が用いる変更情報テーブル123の一例を示す説明図である。変更情報構成部121は、負担要因検出部11の出力結果と変更情報テーブル123を参照して検索式の変更タイプと必要な変更情報を特定し、必要な変更情報を構成する(ステップS07)。
【0034】
次に、変更情報出力部122は、構成された負担要因の種類毎の変更情報を出力する(ステップS08)。例えば、
図2に示す検索式から負担要因検出部11によって検出された、負担要因として専用コードおよび要素集合を含む記述“prescription.atc in (‘N06A3’,‘N06A4’,‘N06A9’)”は、変更情報テーブルを参照すると、変更タイプは変換テーブル型であり、必要な変更情報は変換テーブル情報、変換テーブル埋め込み式にそれぞれ特定される。
【0035】
図7は、変更情報生成部12により生成された変更情報の一例を示す説明図である。
図7に示した変更情報は、元の検索式R01、変更タイプR02を含み、さらに変更タイプR02に対応する情報として変換テーブル情報R03、変換テーブル埋め込み式R04、アラート文R05、条件式テンプレートR06をそれぞれ含む。また、さらに元の検索式R01は、変換テーブル情報と対応する部分が明示されている(
図7における下線部)。
【0036】
図7に示す例における変更タイプR02は、変換テーブル型、アラート型、条件式テンプレート型の3種類が含まれている。このように、1つの検索式から複数の変更タイプを検出してもよい。
【0037】
また、変換テーブル情報R03には、テーブル名(table.name)やフィールド名(field1.nameなど)と、それらの値が記載される。値のうちの一部は、既定値(labelsなど)が設定され、他の一部は検索式から検出された負担要因に含まれる値(atcやN06A3など)が変更情報生成部12によって設定される。
【0038】
また、変換テーブル埋め込み式R04は、検索式の一部をその記述内容で置き替えるためのものであり、その記述内容の一部に変換テーブル情報R03の要素を含む(atc,labels,name,_field1.value_が相当。ただし、_field1.value_はfield1.valueの値部分を指す変数)。
【0039】
また、アラート文R05は、変更情報生成部12が備えるアラートの種類毎のテンプレート(図示せず)を用いて生成される。例えば、
図2および
図7のR01に示した検索式中の“prescription.value >= 30”から、“prescription.value”と曖昧性のある値“30”を検出し、これらを前記テンプレートに挿入することにより、アラート文R05が生成される。
【0040】
図7に示す条件式テンプレートR06は、
図2に示した検索式中の条件式(WHERE以下の記述)のうち、“OR prescription.atc = ‘N06A6’”および“AND prescription.value >= 30”以外の部分(個々のフィールド値を除く)が、他の多くの条件式にも含まれる頻出パターンとして抽出されたものである。また、
図7に示す条件式テンプレートR06は、負担要因検出部11の条件式抽象化部1122が、
図5のステップS05で個々のフィールド値をワイルドカード(“*”)や仮の共通値(“DATE型の値”など)に置き換え、頻出パターン抽出部1123がWHERE文中の出現頻度の高い記述の組合せのみを抽出した結果である。
【0041】
図8は、再利用性の高い検索式R08およびそれに用いられる変換テーブルR07の一例を示す説明図である。
図8に示す検索式R08および変換テーブルR07は、変更情報生成部12によって生成し出力された上記変更情報を用いることで得られたものである。
【0042】
変更情報生成部12が出力する変換テーブルR07は、変換テーブル情報R03に基づいて新たなテーブルをデータベースに定義した、または定義済みのテーブルにレコードを追加したものである。
【0043】
図8に示す変換テーブルR07は、
図7に示した変更情報のうち変換テーブル情報R03を用いて生成されたものである。変換テーブルR07は、テーブル名を「labels」、第1のフィールド名を「name」、第2のフィールド名を「atc」と設定されている。また、変換テーブルR07は、第2のフィールドの値にそれぞれ「N06A3」、「N06A4」、「N06A5」、「N06A9」が設定され、さらに第1のフィールドの値が全て「抗うつ薬」と設定されている。
【0044】
図8に示す検索式R08は、
図2の検索式中の条件式が条件式テンプレートR06で置き換えられている。また、検索式R08は、条件式テンプレートR06の一部であるIN述語の値指定部分に変更テーブル埋め込み式R04を挿入されている。また、検索式R08は、変換テーブルR07に対応して、条件式中のIN述語の値指定部分に挿入した変換テーブル埋め込み式R04の「_field1.value_」部分がlabelsテーブルのnameフィールドの共通値「抗うつ薬」で置き換えられている。
【0045】
なお、検索式R01の条件式部分を条件式テンプレートR06で置き換えたことにより、アラート文R05は対象とする条件記述が無くなっているため不要となる。
【0046】
以上のように、変更情報から変換テーブルR07や検索式R08を作成することで、ユーザは、「N06A3」といった分かり難い専用コードを理解する必要も、それらを複数列挙したものが何を表すのかを理解する必要もなく、替わりに「抗うつ薬」という分かり易い1つの総称で条件を理解できる。これにより、既存の検索式が所望の条件に基づく検索式であるかを容易に判断できる。また、「抗うつ薬」と同様に他の薬の総称(例えば「利尿薬」)も変換テーブルに定義されていれば、「抗うつ薬」という1つの値のみを他の薬の総称で置き換えることで、容易に類似した別の検索式を作成することもできる。
【0047】
本実施形態のデータベース問合せ文解析装置は、負担要因検出部11が、既存のデータベース問合せ文を解析してユーザが検索条件の値や構成を書き換えて再利用する際に困難を伴う部分や誤りを生じ易い部分(負担要因)を検出する。また、変更情報生成部12が、当該負担要因のタイプに応じて前記データベース問合せ文を適切に書き換えるために必要な情報を生成する。そのため、各種の人的な誤りを回避して正しく検索が行なえる、再利用に適したデータベース問合せ文を容易に、効率良く作成することができる。
【0048】
また、負担要因検出部11に含まれる要素記述負担解析部111が、複数の値の集合が検索条件に含まれている場合にこれらの値を検出し、変更情報生成部12が、当該複数の値の集合を1つの総称(代表値)で指定できるように変換テーブル情報R03および変換テーブル埋め込み式R04を出力する。このため、検索条件の値の指定が容易になり、且つ複数の値を指定することによって記述の誤りが生じる可能性を低減することができる。
【0049】
また、負担要因検出部11に含まれる構造記述負担解析部112が、構造的な複雑度が高く且つ多くの検索式に現れる記述パターン(頻出パターン)を検出し、変更情報生成部12が前記頻出パターンを条件式テンプレートR06として出力する。このため、多くの場面で検索者が自ら複雑な条件式を記述する必要なく、条件式テンプレートを用いて正確な条件の指定を効率良く行うことができる。
【0050】
実施形態2.
次に、変更情報を用いて再利用性の高いデータベース問合せ文を作成するデータベース問合せ文解析装置の例について、図面を参照して説明する。
図9は、第2の実施形態(実施形態2)におけるデータベース問合せ文解析装置の構成を示すブロック図である。本実施形態のデータベース問合せ文解析装置は、負担要因検出部11、変更情報生成部12、問合せ文変更部13および補足情報入力部14を備える。なお、
図9に示す負担要因検出部11及び変更情報生成部12は、
図1に示した第1の実施形態のものと同じであるため、説明を省略する。
【0051】
問合せ文変更部13は、
図7に示したような変更情報に基づき、既存の検索式を、負担要因を低減した再利用性の高い検索式に変更し、さらに変更後の検索式に必要な付随情報を生成する。
図10は、本実施形態のデータベース問合せ文解析装置の問合せ文変更部13の構成を示す説明図である。問合せ文変更部13は、条件変換テーブル生成部131と、条件式テンプレート適用部132とを含む。
【0052】
条件変換テーブル生成部131は、変更情報のうちの変更タイプに変換テーブル型が含まれている場合、当該変更情報のうちの変換テーブル情報R03を用いて条件式の値の変換テーブルを生成する。変換テーブルの生成方法は、実施形態1の説明で述べた、
図7に示す変換テーブル情報R03から
図8に示す変換テーブルR07(labelsテーブル)を生成する方法と同様であり、これを機械的に自動で行なう。ただし、変換テーブルR07(labelsテーブル)のnameフィールドの値指定は、後述する補足情報入力部14により行われる。
【0053】
条件式テンプレート適用部132は、変更情報のうちの条件式テンプレートおよび変換テーブル埋め込み式を元の検索式に適用することで、再利用性の高い検索式のベースとなる式を生成する。例えば、
図7の条件式テンプレートR06に示されるWHERE文のIN述語の値指定部分に
図7の変換テーブル埋め込み式R04を挿入し、そのWHERE文で検索式R01のWHERE文を置き換えた文を、再利用性の高い検索式のベースとなる式として出力する。
【0054】
補足情報入力部14は、問合せ文変更部13で生成された変換テーブルや再利用性の高い検索式のベースとなる式に対して、ユーザがさらに必要な情報を記入するためのユーザインタフェースを含む。
図11は、本実施形態の補足情報入力部の構成と表示されるユーザインタフェースの例を示した説明図である。補足情報入力部14は、検索式操作部1411、変換テーブル操作部1412、および検索対象説明入力部1413を含む補足情報入力ユーザインタフェース141と、補足情報の候補を保持する用語辞書142とを含む。
【0055】
検索式操作部1411は、前述した再利用性の高い検索式のベースとなる式を表示し、そのうち予め値を入力しておくべき部分を指摘する。
図11では、検索式のうちIN述語の値指定部分に含まれるnameフィールドの値の部分をグレーの箱で示し、その箱に何らかの値を指定するように促している。
【0056】
変換テーブル操作部1412は、前述した変換テーブルのいずれかのフィールドに値を指定するための支援を行なう。
図11に示す例では、変換テーブルのnameフィールドに予め用語辞書142を用いてatcフィールドの各値(“N06A3”など)に対応する日本語表記(“気分安定薬”など)が表示されている。ユーザは、変換テーブル操作部1412を介して、表示された各nameフィールドの値の、例えば共通の値を代表値(“抗うつ薬”など)に決定し、対応する全てのnameフィールドの値を代表値で置き換える。さらに、ユーザは、変換テーブル操作部1412を介して、検索式操作部1411が要求している検索式中のnameフィールドの値にも同じく前記代表値を検索条件として記入することで、
図8に示したものと同じ変換テーブル(labelsテーブル)および再利用性の高い検索式が得られる。
【0057】
図12は、検索式R08、変換テーブルR07および検索対象説明R09の一例を示す説明図である。
図12に示すように、変換テーブルR07と検索式R08に検索対象説明R09が付与されてユーザに示される。変換テーブルR07および検索式R08は、検索式操作部1411および変換テーブル操作部1412の操作によりnameフィールドの値が代表値(“抗うつ薬”)で置き換えられている。ユーザは、検索対象説明入力部1413を介して、検索条件として検索対象説明R09の“年月日1”および“年月日2”を入力するだけで必要な情報を検索できる。このように、ユーザは必要とする再利用性の高い検索式を容易に見つけ、利用することができる。
【0058】
図13は、本実施形態におけるデータベース問合せ文解析装置を利用することにより作成可能なデータベース検索ユーザインタフェースの一例を示す説明図である。問合せ文変更部13が生成した再利用性の高い検索式と変換テーブルを用いて、
図13に示すようなデータベース検索用のユーザインタフェースを容易に作成できる。
図13に示すように、検索条件の値として“N06A3”、“N06A4”のような分かり難い専用コードの集合の替わりに“抗うつ薬”等の分かり易い言葉で指定できる。
【0059】
また、“抗うつ薬”以外についても同様の変換テーブルが得られていれば、“抗うつ薬”を他の値(
図13では「処方した薬」の選択肢として表示している“抗肥満薬”など)に置き換えるだけで、検索式の変更などをユーザが行わなくても正しい検索を行うことが容易となる。このように、過去に蓄積された様々な検索式を再利用が容易な形で再定義し、頻出パターンを含んだ検索式を元に
図13のようなデータベース検索用のGUI(グラフィカル・ユーザインタフェース)を作成することで、実際に利用頻度の高い検索を容易に行なえる手段を提供できる。
【0060】
本実施形態のデータベース問合せ文解析装置は、問合せ文変更部13が、変更情報生成部12が生成する情報を用いて既存のデータベース問合せ文を再利用容易な内容に変更し、必要に応じて特定の値の集合を代表値で指定するための変換テーブルを生成する。そして、補足情報入力部14が、変更したデータベース問合せ文に対してさらに補足情報の簡便な追加を可能にする。これにより、既存の正しいデータベース問合せ文から、再利用時の書き換えや値設定の際の誤りが生じ難いデータベース問合せ文のテンプレートを得ることができる。
【0061】
次に、第1の実施形態及び第2の実施形態におけるデータベース問合せ文解析装置のハードウェア構成の具体例について説明する。
図14は、本発明の実施形態1及び実施形態2におけるデータベース問合せ文解析装置のハードウェア構成の例を示す説明図である。
図14に示すデータベース問合せ文解析装置Aは、CPU(Central Processing Unit)A1、主記憶部A2、出力部A3、入力部A4及び補助記憶部A6を少なくとも含む。また、データベース問合せ文解析装置Aは、通信部A5を備えていてもよい。
【0062】
主記憶部A2は、例えばRAM(Random Access Memory)等のメインメモリであって、データの作業領域やデータの一時退避領域として用いられる。出力部A3は、例えば液晶ディスプレイ装置等の表示装置、又はプリンタ等の印刷装置であり、データを出力する。入力部A4は、例えばキーボードやマウス等の入力デバイスであり、データを入力する。また、ファイル読み込みによってデータ入力を行なう場合には、入力部A4は、外部記録媒体読取装置等であってもよい。補助記憶部A6は、例えばROM(Read Only Memory)やハードディスク装置等である。また、
図14に示すように、データベース問合せ文解析装置Aにおいて、以上の各構成要素A1〜A6は、システムバスA7を介して相互に接続されている。
【0063】
また、補助記憶部A6は、
図1又は
図9に示した負担要因検出部11、変更情報生成部12、問合せ文変更部13及び補足情報入力部14をそれぞれ実現するプログラムを記憶している。さらに、補助記憶部A6は、負担要因検出部11が読み書きする条件式リポジトリ、変更情報生成部12が参照する変更情報テーブル123、変更情報生成部12が出力する変更情報、および補足情報入力部14が出力する検索式R08や変換テーブルR07を表すデータを記憶する。
【0064】
入力部A4または通信部A5は、データベース問合せ文を取得する。また、実施形態2における補足情報入力部14は、出力部A3を通じてデータベース問合せ文解析装置Aの利用者に補足情報の入力を促す問いかけを行なう。
【0065】
なお、データベース問合せ文解析装置Aは、その内部に、
図1又は
図9に示したような機能を実現するプログラムを組み込んだLSI(Large Scale Integration)等のハードウェア部品からなる回路を実装することで、ハードウェアにより実現してもよい。また、
図14に示したように、
図1又は
図9に示したような機能を提供するプログラムを、コンピュータのCPUA1に実行させることで、ソフトウェアにより実現してもよい。この場合、CPUA1は、補助記憶部A6に格納されているプログラムを、主記憶部A2にロードして実行し、データベース問合せ文解析装置Aの動作を制御することにより、上述した各機能をソフトウェアにより実現することができる。
【0066】
また、通信部A5は、周辺機器と接続され、データの送受信を行なう機能を有する。周辺機器の1つとして、
図14に示す外部記憶装置Bが通信部A5によりネットワーク(情報通信ネットワーク)を介してデータベース問合せ文解析装置Aと接続され、外部記憶装置Bに格納されたデータベース問合せ文を負担要因検出部11が取得してもよい。さらに、前述した変更情報生成部12が出力する変更情報のデータや、補足情報入力部14が出力する検索式テンプレートや変換テーブルを表すデータを外部記憶装置Bに格納してもよい。
【0067】
図15は、本発明のデータベース問合せ文解析装置の主要部を示すブロック図である。
図15に示すように、データベース問合せ文解析装置は、データベース問合せ文を入力し、予め定められた形態の記述と、複雑さが所定の水準以上となる条件式とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部11と、前記負担要因の種類に応じて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部12とを備えている。
【0068】
また、上記の実施形態では、以下の(1)〜(5)に示すようなデータベース問合せ文解析装置も開示されている。
【0069】
(1)データベース問合せ文を入力し、予め定められた形態の記述(例えば、専用コード検出部1111、要素集合検出部1112、要注意記述検出部1113から検出された記述)と、複雑さが所定の水準以上となる条件式(例えば、複雑度評価部1121により複雑であると評価された条件式)とのうちの少なくとも一方を、ユーザが当該データベース問合せ文を再利用する際に負担となる負担要因として検出する負担要因検出部(例えば、負担要因検出部11)と、前記負担要因の種類に応じて、前記データベース問合せ文を、前記負担要因が除去されたデータベース問合せ文に変更するための変更情報を生成する変更情報生成部(例えば、変更情報生成部12)とを備えたデータベース問合せ文解析装置。
【0070】
(2)データベース問合せ文解析装置は、負担要因検出部が、負担要因のうち、データベースに記録された情報の指定に関する部分を検出する要素記述負担解析部(例えば、要素記述負担解析部111)と、負担要因のうち、データベース問合せ文の構造に関する部分を検出する構造記述負担解析部(例えば、構造記述負担解析部112)とを含むように構成されていてもよい。
【0071】
(3)データベース問合せ文解析装置は、要素記述負担解析部が、データベースに記録された同じフィールドの複数の値の集合(例えば、要素集合検出部1112により検出された値の集合)がデータベース問合せ文に検索条件として含まれている場合、当該複数の値の集合を負担要因として検出し、変更情報生成部は、検出された複数の値の集合を1つの代表値で指定できるようにするための、当該複数の値の集合と当該代表値との対応関係を表す変換テーブルの定義のために必要な情報(例えば、変換テーブル情報R03)を変更情報として出力するように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、検索条件の値の指定が容易になり、且つ複数の値を指定することによって記述の誤りが生じる可能性を低減することができる。
【0072】
(4)データベース問合せ文解析装置は、構造記述負担解析部(例えば、構造記述負担解析部112)が、複数のデータベース問合せ文の中から、述語の種類と、フィールドの数と、値の数とのうちの少なくとも一つに基づいて定められた複雑さが所定の水準以上となる条件式の頻出パターンを負担要因として検出し、変更情報生成部は、頻出パターンを用いて条件式の定型テンプレート(例えば、条件式テンプレートR06)を変更情報として生成するように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、多くの場面で検索者が自ら複雑な条件式を記述する必要なく、条件式テンプレートを用いて正確な条件の指定を効率良く行うことができる。
【0073】
(5)データベース問合せ文解析装置は、変更情報生成部によって生成される変更情報を用いてデータベース問合せ文を変更する問合せ文変更部(例えば、問合せ文変更部13)と、変更されたデータベース問合せ文および変換テーブルに用いられる、少なくとも代表値を含む補足情報を入力する補足情報入力部(例えば、補足情報入力部14)とを備えるように構成されていてもよい。このようなデータベース問合せ文解析装置によれば、既存の正しいデータベース問合せ文から、再利用時の書き換えや値設定の際の誤りが生じ難いデータベース問合せ文のテンプレートを得ることができる。