説明

設定情報入力支援装置およびプログラム

【課題】アプリケーションの自動生成に必要な情報の設定を支援することを可能とする。
【解決手段】入力情報取得部31は、入力情報ファイル22に設定されている複数のテーブル情報を取得する。入力値候補取得部32は、第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが主キーでない場合、当該第1のテーブルにおいて主キーであるカラムを第1のテーブルにおける外部キーの候補として取得する。入力値候補取得部32は、対象カラムが主キーでない場合、対象カラムのカラム名および第2のテーブルにおいて主キーであるカラムのカラム名が同一であるかを判定する。入力値候補取得部32は、対象カラムのカラム名および第2のテーブルにおいて主キーであるカラムのカラム名が同一である場合、当該対象カラムを第1のテーブルにおける外部キーの候補として取得する。入力値決定部33は、外部キーの候補を提示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、アプリケーションの自動生成に必要な情報の設定を支援する設定情報入力支援装置およびプログラムに関する。
【背景技術】
【0002】
一般的に、アプリケーションは、リレーショナルデータベースを用いる場合が多い。このリレーショナルデータベースでは、複数のテーブル間に関係がある場合がある。
【0003】
例えば従業員テーブルに部署番号のカラムがあり、部署テーブルに部署番号および部署名のカラムがある場合、当該従業員テーブルと部署テーブルとは部署番号を介して関係があるといえる。また、従業員テーブルの部署番号から部署テーブルの部署番号を介して部署名を参照することができる。このため、従業員テーブルと部署テーブルとの間では参照関係があるともいえる。なお、このような場合における従業員テーブルの部署番号は、当該従業員テーブルにおいて外部キーと呼ばれる。
【0004】
このような参照関係があるテーブルにアクセスするようなアプリケーションを作成する場合、参照先となるテーブルの表示形式および参照画面の表示内容等が多様になる。
【0005】
ところで、近年、アプリケーションを自動生成するシステムが増加している。そこで、上記したようなアプリケーションを自動生成する場合、当該自動生成されるアプリケーションのために多様な表示形式を指定するためには、入力情報としてユーザが多くの項目を設定する必要がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−318260号公報
【特許文献2】特開2005−055951号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記したように、リレーショナルデータベースのテーブル間の参照関係に対応したアプリケーションを自動生成するためには、ユーザが多くの項目を設定する必要がある。
【0008】
しかしながら、このような多くの項目の全てをユーザが設定しなければならないとすると手間が掛かり、当該ユーザにとっては非常に煩雑である。
【0009】
そこで、本明細書で開示された実施形態では、アプリケーションの自動生成に必要な情報の設定を支援することが可能な設定情報入力支援装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
実施形態によれば、アプリケーションを自動生成するために必要な情報の設定を支援する設定情報入力支援装置が提供される。
【0011】
実施形態に係る設定情報入力支援装置は、前記アプリケーションにおいて用いられる複数のカラムから構成される第1のテーブルを示す第1のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第1のテーブル情報と、前記アプリケーションにおいて用いられる複数のカラムから構成される第2のテーブルを示す第2のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第2のテーブル情報とを含む複数のテーブル情報が設定されている入力情報ファイルを具備する。
【0012】
実施形態に係る設定情報入力支援装置は、前記入力情報ファイルに設定されている複数のテーブル情報を取得するテーブル情報取得手段を具備する。
【0013】
実施形態に係る設定情報入力支援装置は、前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第1のテーブル情報に含まれる主キー情報に基づいて、当該第1のテーブル情報によって示される第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが主キーであるかを判定する第1の判定手段を具備する。
【0014】
実施形態に係る設定情報入力支援装置は、前記対象カラムが主キーでないと前記第1の判定手段によって判定された場合、当該対象カラムから構成される第1のテーブルを構成する複数のカラムのうち当該第1のテーブルにおいて主キーであるカラムを、前記第1のテーブル情報に含まれる主キー情報に基づいて特定する第1の特定手段を具備する。
【0015】
実施形態に係る設定情報入力支援装置は、前記第1の特定手段によって特定されたカラムを前記第1のテーブルにおける外部キーの候補として取得する第1の外部キー候補取得手段を具備する。
【0016】
実施形態に係る設定情報入力支援装置は、前記対象カラムが主キーでないと前記第1の判定手段によって判定された場合、当該対象カラムから構成される第1のテーブル以外の第2のテーブルを構成する複数のカラムのうち当該第2のテーブルにおいて主キーであるカラムを、前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第2のテーブル情報に含まれる主キー情報に基づいて特定する第2の特定手段を具備する。
【0017】
実施形態に係る設定情報入力支援装置は、前記第1のテーブル情報に含まれる前記対象カラムのカラム名および前記第2のテーブル情報に含まれる前記第2の特定手段によって特定されたカラムのカラム名が同一であるかを判定する第2の判定手段を具備する。
【0018】
実施形態に係る設定情報入力支援装置は、前記対象カラムのカラム名および前記第2の特定手段によって特定されたカラムのカラム名が同一であると前記第2の判定手段によって判定された場合、当該第2の特定手段によって特定されたカラムを前記第1のテーブルにおける外部キーの候補として取得する第2の外部キー候補取得手段を具備する。
【0019】
実施形態に係る設定情報入力支援装置は、前記第1および第2の外部キー候補取得手段によって外部キーの候補として取得されたカラムを提示する提示手段を具備する。
【図面の簡単な説明】
【0020】
【図1】実施形態に係る設定情報入力支援装置のハードウェア構成を示すブロック図。
【図2】図1に示す設定情報入力支援装置30の主として機能構成を示すブロック図。
【図3】図2に示す入力情報ファイル22に設定されている第1のテーブル情報221のデータ構造の一例を示す図。
【図4】図2に示す入力情報ファイル22に設定されている第2のテーブル情報222のデータ構造の一例を示す図。
【図5】参照先テーブル定義情報に含まれる参照時の表示項目の一例を示す図。
【図6】外部キー参照先テーブルの参照時の画面の一例を示す図。
【図7】参照先テーブル定義情報に含まれる参照時の表示項目の一例を示す図。
【図8】外部キー参照先テーブルの参照時の画面の一例を示す図。
【図9】参照先テーブル定義情報に含まれる参照時の表示項目の一例を示す図。
【図10】外部キー参照先テーブルの参照時の画面の一例を示す図。
【図11】図2に示す入力値候補取得ルール保持部23に保持されているルールのデータ構造の一例を示す図。
【図12】本実施形態に係る設定情報入力支援装置30の処理手順を示すフローチャート。
【図13】第1の入力値候補取得処理の処理手順を示すフローチャート。
【図14】第1の入力値候補取得処理の処理手順を示すフローチャート。
【図15】入力値決定部33に対して出力される外部キーの入力値の候補のデータ構造の一例を示す図。
【図16】第1の入力値候補選択画面の一例を示す図。
【図17】図16に示す第1の入力値候補選択画面におけるプルダウン表示の一例を示す図。
【図18】第2の入力値候補取得処理の処理手順を示すフローチャート。
【図19】入力値決定部33に対して出力される外部キー参照先テーブルの入力値の候補のデータ構造の一例を示す図。
【図20】第2の入力値候補選択画面の一例を示す図。
【図21】図20に示す第2の入力値候補選択画面におけるプルダウン表示の一例を示す図。
【図22】第2の入力値候補取得処理の処理手順を示すフローチャート。
【図23】入力値決定部33に対して出力される外部キー参照先構成列の入力値の候補のデータ構造の一例を示す図。
【図24】第3の入力値候補選択画面の一例を示す図。
【図25】図24に示す第3の入力値候補選択画面におけるプルダウン表示の一例を示す図。
【図26】第4の入力値候補取得処理の処理手順を示すフローチャート。
【図27】入力値決定部33に対して出力される参照時の表示形式の入力値の候補のデータ構造の一例を示す図。
【図28】第4の入力値候補選択画面の一例を示す図。
【図29】図28に示す第4の入力値候補選択画面におけるプルダウン表示の一例を示す図。
【図30】第5の入力値候補取得処理の処理手順を示すフローチャート。
【図31】入力値決定部33に対して出力される参照時の表示項目の入力値の候補のデータ構造の一例を示す図。
【図32】第5の入力値候補選択画面の一例を示す図。
【図33】図32に示す第5の入力値候補選択画面におけるプルダウン表示の一例を示す図。
【発明を実施するための形態】
【0021】
以下、図面を参照して、実施形態について説明する。
【0022】
図1は、本実施形態に係る設定情報入力支援装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、設定情報入力支援装置30を構成する。
【0023】
この設定情報入力支援装置30は、例えばアプリケーションを自動生成するために必要な情報の設定を支援するために用いられる。
【0024】
図2は、図1に示す設定情報入力支援装置30の主として機能構成を示すブロック図である。
【0025】
図2に示すように、設定情報入力支援装置30は、入力情報取得部31、入力値候補取得部32、入力値決定部33および入力情報反映部34を含む。本実施形態において、これらの各部31〜34は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
【0026】
また、設定情報入力支援装置30は、入力情報ファイル22および入力値候補取得ルール保持部23を含む。本実施形態において、入力情報ファイル22および入力値候補取得ルール保持部23は、例えば外部記憶装置20に格納される。
【0027】
入力情報ファイル22には、例えばアプリケーションを自動生成するために必要な情報が設定される。この入力情報ファイル22に設定された情報は、例えばアプリケーションを自動生成する際に用いられる。
【0028】
入力情報ファイル22には、自動生成されるアプリケーションにおいて用いられる複数のカラムから構成されるテーブルを示すテーブル情報が当該テーブル毎に設定されている。入力情報ファイル22に設定されているテーブル情報には、当該テーブル情報によって示されるテーブルを構成するカラムの各々が主キーであるか否かを示す主キー情報および当該カラムのカラム名等が含まれる。なお、テーブル情報に含まれる主キー情報およびカラム名等の情報は、例えばユーザによって予め設定(入力)さている。
【0029】
なお、入力情報ファイル22には、予め設定されている情報以外に、テーブル情報によって示されるテーブルと例えば参照関係があるテーブル(以下、参照先テーブルと表記)についての情報等がアプリケーションを自動生成するために必要な情報として設定される。
【0030】
入力情報取得部31は、入力情報ファイル22に設定されているテーブル毎のテーブル情報(つまり、複数のテーブル情報)を、当該入力情報ファイル22から取得する。ここで、入力情報取得部31によって取得される複数のテーブル情報は、上記したようにユーザによって予め入力(設定)されている情報(入力情報)である。
【0031】
入力値候補取得ルール保持部23には、入力値候補取得部32によって用いられるルールが予め保持されている。この入力値候補取得ルール保持部23に保持されているルールの詳細については後述する。
【0032】
入力値候補取得部32は、入力情報取得部31によって取得された複数のテーブル情報(テーブル毎のテーブル情報)および入力値候補取得ルール保持部23に保持されているルールに基づいて、入力情報ファイル22に設定すべき値(入力値)の候補を取得する処理を実行する。
【0033】
入力値決定部33は、入力値候補取得部32によって取得された入力値の候補を出力する。入力値決定部33は、ユーザの操作に応じて、出力された入力値の候補を入力情報ファイル22に設定すべき値(つまり、入力値)として決定する。
【0034】
入力情報反映部34は、入力値決定部33によって決定された入力値を入力情報ファイル22に設定(反映)する。
【0035】
図3および図4を参照して、図2に示す入力情報ファイル22のデータ構造について説明する。上述したように、入力情報ファイル22には、アプリケーションにおいて用いられるテーブル毎のテーブル情報(つまり、複数のテーブル情報)が設定される。
【0036】
入力情報ファイル22に設定されるテーブル情報の各々には、当該テーブル情報によって示されるテーブルの構造を定義するテーブル定義情報および当該テーブルと参照関係があるテーブル(参照先テーブル)についての情報(以下、参照先テーブル定義情報と表記)が含まれる。
【0037】
ここでは、入力情報ファイル22には、第1および第2のテーブル情報を含む複数のテーブル情報が設定されているものとする。以下、第1のテーブル情報によって示されるテーブルを第1のテーブル、第2のテーブル情報によって示されるテーブルを第2のテーブルと称する。
【0038】
図3は、入力情報ファイル22に設定されている第1のテーブル情報221のデータ構造の一例を示す。
【0039】
図3に示す第1のテーブル情報221は、第1のテーブル定義情報221aおよび第1の参照先テーブル定義情報221bを含む。
【0040】
第1のテーブル定義情報221aには、テーブル名およびテーブルID(の項目)が含まれる。テーブル名の項目には、第1のテーブルのテーブル名が設定される。テーブルIDの項目には、第1のテーブルを識別するためのテーブルID(テーブル識別情報)が設定される。
【0041】
また、第1のテーブル定義情報221aには、第1のテーブルを構成するカラム毎に、当該カラムのカラム名(論理名、物理名)、型、桁、位取、Not Null、主キー、外部キー、検索条件、一覧表示および排他制御(の項目)が含まれる。
【0042】
Not Nullの項目には、各カラムがNull(つまり、空)であるか否かを示す情報が設定される。主キーの項目には、各カラムが主キーであるか否かを示す情報(主キー情報)が設定される。外部キーの項目には、各カラムが外部キーであるか否かを示す情報が設定される。検索条件の項目には、各カラムが第1のテーブル情報によって示される第1のテーブルの参照時に検索条件として表示される項目(カラム)であるか否かを示す情報が設定される。一覧表示の項目には、各カラムが第1のテーブル情報によって示される第1のテーブルの参照時に一覧表示される項目(カラム)であるか否かを示す情報が設定される。また、排他制御の項目には、各第1のカラムが排他制御用のカラムであるか否かを示す情報(排他制御情報)が設定される。
【0043】
第1の参照先テーブル定義情報221bには、第1のテーブルにおける外部キー毎に、当該外部キーの外部キー名、外部キー参照先テーブル、外部キー参照先構成列、参照時の表示形式および参照時の表示項目(の項目)が含まれる。
【0044】
外部キー名の項目には、第1のテーブルにおいて外部キーとして設定されているカラムのカラム名(物理名)が設定される。外部キー参照先テーブルの項目には、第1のテーブルにおける外部キーによって参照される参照先テーブル(以下、外部キー参照先テーブル)が設定される。外部キー参照先テーブルの項目には、名称およびID(物理名)の項目が含まれる。外部キー参照先テーブルの項目に含まれる名称の項目には、外部キー参照先テーブルのテーブル名が設定される。外部キー参照先テーブルの項目に含まれるIDの項目には、外部キー参照先テーブルを識別するためのテーブルIDが設定される。外部キー参照先構成列の項目には、外部キー参照先テーブル(の項目に設定されているテーブル)を構成する複数のカラムのうち当該テーブルにおいて主キーであるカラムのカラム名(物理名)が設定される。
【0045】
参照時の表示形式の項目には、例えばアプリケーションで外部キー参照先テーブル(の項目に設定されているテーブル)が参照される際の表示形式が設定される。この参照時の表示形式(の項目に設定される表示形式)には、例えばチェックボックス、ラジオボタン、コンボボックス、リストボックスおよびポップアップが含まれる。
【0046】
参照時の表示項目の項目には、外部キー参照先テーブル(の項目に設定されているテーブル)が参照される際に表示される項目について設定される。参照時の表示項目の項目には、検索条件および一覧表示の項目が含まれる。参照時の表示項目の項目に含まれる検索条件の項目には、外部キー参照先テーブルが参照される際に検索条件として表示されるカラムのカラム名(物理名)等が設定される。参照時の表示項目の項目に含まれる一覧表示の項目には、外部キー参照先テーブルが参照される際に一覧表示されるカラムのカラム名(物理名)等が設定される。参照時の表示項目(に含まれる検索条件及び一覧表示)の項目は、参照時の表示形式の項目にポップアップが設定(指定)された場合に設定される。
【0047】
図3に示す第1のテーブル情報221において、点線枠101に該当する項目(つまり、第1のテーブル定義情報221aに含まれるテーブル名、テーブルID、論理名、物理名、型、桁、位取、Not Null、主キー、検索条件、一覧表示および排他制御の項目)は、ユーザが設定する項目である。また、図3に示す第1のテーブル情報221において、太線枠102に該当する項目(つまり、第1のテーブル定義情報221aに含まれる外部キー、第1の参照先テーブル定義情報221bに含まれる外部キー名、外部キー参照先テーブル、外部キー参照先構成列、参照時の表示形式および参照時の表示項目の項目)は設定情報入力支援装置30において入力支援が行われる項目である。
【0048】
図4は、入力情報ファイル22に設定されている第2のテーブル情報222のデータ構造の一例を示す。図4に示す第2のテーブル情報222は、第2のテーブル定義情報222aおよび第2の参照先テーブル定義情報222bを含む。
【0049】
第2のテーブル定義情報222aには、上記した第1のテーブル定義情報221aと同様に、テーブル名およびテーブルID(の項目)が含まれる。また、第2のテーブル定義情報222aには、第2のテーブルを構成するカラム毎に、当該カラムのカラム名(論理名、物理名)、型、桁、位取、Not Null、主キー、外部キー、検索条件、一覧表示および排他制御(の項目)が含まれる。なお、これらの項目については、上記した第1のテーブル定義情報221aにおいて説明した通りであるため、その詳しい説明を省略する。
【0050】
第2の参照先テーブル定義情報222bには、上記した第1の参照先テーブル定義情報221bと同様に、第2のテーブルにおける外部キー毎に、当該外部キーの外部キー名、外部キー参照先テーブル、外部キー参照先構成列、参照時の表示形式および参照時の表示項目(の項目)が含まれる。なお、これらの項目については、上記した第1の参照先テーブル定義情報222bにおいて説明した通りであるため、その詳しい説明を省略する。
【0051】
また、図3に示す第1のテーブル情報221と同様に、図4に示す第2のテーブル情報222において、点線枠101に該当する項目はユーザが設定する項目であり、太線枠102は設定情報入力支援装置30において入力支援が行われる項目である。
【0052】
本実施形態においては、図3に示す第1のテーブル情報221および図4に示す第2のテーブル情報222(を含む複数のテーブル情報)の点線枠101に該当する項目には、予めユーザによって値が設定(入力)されていることを前提としている。
【0053】
なお、上記したように入力情報ファイル22に設定されるテーブル情報に含まれる参照先テーブル定義情報において、参照時の表示項目に含まれる検索条件および一覧表示の項目には例えばカラム名等が設定(指定)されるが、当該設定の仕方によって外部キー参照先テーブルについて複数通りの内容を表示させることが可能となる。
【0054】
ここで、図5〜図10を参照して、外部キー参照先テーブルの参照時の画面(以下、参照画面と表記)について具体的に説明する。
【0055】
なお、外部キー参照先テーブルは、上記した図4に示す第2のテーブル情報222によって示される第2のテーブルであるものとして説明する。
【0056】
まず、図5に示すように、参照先テーブル定義情報に含まれる参照時の表示項目の項目(に含まれる検索条件および一覧表示の項目)が空欄のままである場合を想定する。
【0057】
この場合、図6に示すように、参照画面300に設けられている検索条件領域301には、上記した図4に示す第2のテーブル定義情報222aに含まれる検索条件の項目において「表示」が設定されているカラムの論理名(カラム名)がラベルとして表示される。ここでは、参照画面300に設けられている検索条件領域301には、検索条件の項目に「表示」が設定されているカラムの論理名である「部署番号」、「部署名」および「所在地」がラベルとして表示されている。
【0058】
また、図6に示すように、参照画面300に設けられている一覧表示領域302には、上記した図4に示す第2のテーブル定義情報222aに含まれる一覧表示の項目において「表示」が設定されているカラムの論理名(カラム名)がラベルとして表示される。ここでは、参照画面300に設けられている一覧表示領域302には、一覧表示の項目に「表示」が設定されているカラムの論理名である「部署番号」、「部署名」および「所在地」がラベルとして表示されている。
【0059】
次に、図7に示すように、参照先テーブル定義情報に含まれる参照時の表示項目の項目(に含まれる検索条件および一覧表示の項目)にカラム名(物理名)が設定された場合を想定する。図7に示す例では、検索条件の項目には「deptno」および「dname」が設定されており、一覧表示の項目には「dname」および「loc」が設定されている。
【0060】
この場合、図8に示すように、参照画面310に設けられている検索条件領域311には、上記した図4に示す第2のテーブル定義情報222aに含まれる検索条件の項目において「表示」が設定されているカラムであって図7に示す参照先テーブル定義情報の参照時の表示項目の項目に含まれる検索条件の項目に物理名が設定されたカラムの論理名がラベルとして表示される。ここでは、参照先テーブル定義情報の参照時の表示項目の項目に含まれる検索条件の項目には「deptno」および「dname」が設定されているため、参照画面310に設けられている検索条件領域311には、物理名が当該「deptno」および「dname」であるカラムの論理名である「部署番号」および「部署名」がラベルとして表示されている。
【0061】
また、図8に示すように、参照画面310に設けられている一覧表示領域312には、上記した図4に示す第2のテーブル定義情報222aに含まれる一覧表示の項目において「表示」が設定されているカラムであって図7に示す参照先テーブル定義情報の参照時の表示項目の項目に含まれる一覧表示の項目に物理名が設定されたカラムの論理名がラベルとして表示される。ここでは、参照先テーブル定義情報の参照時の表示項目の項目に含まれる一覧表示の項目には「dname」および「loc」が設定されているため、参照画面310に設けられている一覧表示領域312には、物理名が当該「dname」および「loc」であるカラムの論理名である「部署名」および「所在地」がラベルとして表示されている。
【0062】
次に、図9に示すように、参照先テーブル定義情報の参照時の表示項目の項目に含まれる検索条件の項目に「なし」が設定された場合を想定する。
【0063】
この場合、図10に示すように、参照画面320には、検索条件領域は設けられず、一覧表示領域321のみが設けられる。この参照画面320に設けられた一覧表示領域321には、上記した図6に示す一覧表示領域302と同様に、図4に示す第2のテーブル定義情報222aに含まれる一覧表示の項目において「表示」が設定されているカラムの論理名(ここでは、「部署番号」、「部署名」および「所在地」)が表示される。
【0064】
図11は、図2に示す入力値候補取得ルール保持部23に保持されているルールのデータ構造の一例を示す。入力値候補取得ルール保持部23に保持されているルールには、以下に説明する例えば第1〜第5のルールが含まれる。
【0065】
第1のルールは、外部キーの項目に設定すべき値の候補(外部キーの入力値の候補)を取得するために用いられる外部キー候補取得ルールである。第2のルールは、外部キー参照先テーブルの項目に設定すべき値の候補(外部キー参照先テーブルの入力値の候補)を取得するために用いられる外部キー参照先テーブル候補取得ルールである。第3のルールは、外部キー参照先構成列の項目に設定すべき値の候補(外部キー参照先構成列の入力値の候補)を取得するために用いられる外部キー参照先構成列候補取得ルールである。第4のルールは、参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)を取得するために用いられる参照時の表示形式候補取得ルールである。第5のルールは、参照時の表示項目の項目に設定すべき値の候補(参照時の表示項目の入力値の候補)を取得するために用いられる参照時の表示項目候補取得ルールである。
【0066】
第1のルールは、図11に示すルールにおける1行目〜3行目に記述されている。図11に示すルールの1行目には第1のルールのルール名(外部キー候補取得ルール)が記述されており、2行目および3行目には当該第1のルールの内容が記述されている。
【0067】
なお、図11に示すルールの2行目(つまり、第1のルール)によれば、対象のカラムが主キーおよび排他制御用のカラムでない場合、当該対象のカラムから構成されるテーブルにおいて主キーであるカラムを外部キー候補とすることが記述されている。また、図11に示すルールの3行目(つまり、第1のルール)によれば、対象のカラムが主キーおよび排他制御用のカラムでない場合、当該対象のカラムから構成されるテーブル以外のテーブルにおいて主キーであるカラムであって、かつ、当該対象のカラムとカラム名(物理名)が同一であるカラムを外部キーの候補とすることが記述されている。
【0068】
第2のルールは、図11に示すルールにおける4行目および5行目に記述されている。図11に示すルールの4行目には第2のルールのルール名(外部キー参照先テーブル候補取得ルール)が記述されており、5行目には当該第2のルールの内容が記述されている。
【0069】
なお、図11に示すルールの5行目(つまり、第2のルール)によれば、対象の外部キーの外部キー名(の項目に設定されている値)をカラム名(物理名)とするカラム(つまり、当該外部キー名と同一のカラム名を持つカラム)であって、当該カラムが主キーであるテーブルを外部キー参照先テーブルの候補とすることが記述されている。
【0070】
第3のルールは、図11に示すルールにおける6行目および7行目に記述されている。図11に示すルールの6行目には第3のルールのルール名(外部キー参照先構成列候補取得ルール)が記述されており、7行目には当該第3のルールの内容が記述されている。
【0071】
なお、図11に示すルールの7行目(つまり、第3のルール)によれば、対象の外部キーによって参照されるテーブル(つまり、当該対象の外部キーの外部キー参照先テーブルの項目に設定されているテーブル)において主キーであるカラムを外部キー参照先構成列の候補とすることが記述されている。
【0072】
第4のルールは、図11に示すルールにおける8行目〜10行目に記述されている。図11に示すルールの8行目には第4のルールのルール名(参照時の表示形式候補取得ルール)が記述されており、9行目および10行目には当該第4のルールの内容が記述されている。
【0073】
なお、図11に示すルールの9行目(つまり、第4のルール)によれば、対象の外部キーの外部キー参照先構成列の項目に設定されているカラム(つまり、当該外部キー参照先構成列に物理名が設定されているカラム)の桁数が1の場合にはチェックボックス、ラジオボタン、コンボボックスおよびリストボックスを参照時の表示形式の候補とすることが記述されている。また、図11に示すルールの10行目(つまり、第4のルール)によれば、対象の外部キーの外部キー参照先構成列の項目に設定されているカラムの桁数が2以上の場合にはポップアップを参照時の表示形式の候補とすることが記述されている。
【0074】
第5のルールは、図11に示すルールにおける11行目および12行目に記述されている。図11に示すルールの11行目には第5のルールのルール名(参照時の表示項目候補取得ルール)が記述されており、12行目には当該第5のルールの内容が記述されている。
【0075】
なお、図11に示すルールの12行目(つまり、第5のルール)によれば、対象の外部キーの外部キー参照先テーブルの項目に設定されているテーブル(外部キー参照先テーブル)を構成する複数のカラムのうち排他制御用のカラムでないカラムを参照時の表示項目の候補とすることが記述されている。
【0076】
次に、図12のフローチャートを参照して、本実施形態に係る設定情報入力支援装置30の処理手順について説明する。
【0077】
入力値候補取得部32は、上述した入力値候補取得ルール保持部23に保持されているルールに含まれる第1〜第5のルールの各々を順に対象ルールとして以下のステップS1以降の処理を実行する。
【0078】
入力情報取得部31は、入力情報ファイル22に設定されている複数のテーブル情報(の各項目に設定されている入力情報)を、当該入力情報ファイル22から取得する(ステップS1)。
【0079】
次に、入力値候補取得部32は、対象ルール(例えば、第1のルール)を用いて、入力情報ファイル22に設定すべき値(入力値)の候補を取得する処理(以下、入力値候補取得処理と表記)を実行する(ステップS2)。なお、ステップS2において実行される入力値候補取得処理の詳細については後述する。
【0080】
次に、ステップS2の入力値候補取得処理において入力値の候補が出力されたか否かが判定される(ステップS3)。
【0081】
入力値の候補が出力されたと判定された場合(ステップS3のYES)、入力値決定部33は、当該入力値の候補をユーザに対して提示する。この場合、ユーザは、入力値決定部33によって提示された入力値の候補の中から入力値(つまり、入力情報ファイル22に設定すべき値)を選択(指定)することができる。
【0082】
入力値決定部33は、ユーザの操作に応じて、ユーザに対して提示された入力値の候補の中から入力値を決定する(ステップS4)。換言すれば、入力値決定部33は、ユーザに対して提示された入力値の候補のうち、当該ユーザによって指定された入力値の候補を入力値として決定する。
【0083】
入力情報反映部34は、入力値決定部33によって決定された入力値を入力情報ファイル22に反映(設定)する(ステップS5)。
【0084】
次に、第1〜第5のルールの全てを対象ルールとして上記したステップS1以降の処理が実行されたか否かが判定される(ステップS6)。
【0085】
全てのルールを対象ルールとして処理が実行されていないと判定された場合(ステップS6のNO)、ステップS1に戻って処理が繰り返される。
【0086】
この場合、対象ルールとされていない次のルールを対象ルールとしてステップS1以降の処理が実行される。具体的には、第1〜第5のルールを順に対象ルールとして処理が実行されるため、例えば対象ルールが第1のルールであった場合には、次は、第2のルールを対象ルールとしてステップS1以降の処理が実行される。
【0087】
このように処理が繰り返されることで、第1〜第5のルールの各々を用いて入力値候補取得処理が実行される。
【0088】
一方、全てのルールについて処理が実行されたと判定された場合(ステップS6のYES)、処理が終了される。
【0089】
また、上記したステップS3において入力値の候補が出力されていないと判定された場合、ステップS6の処理が実行される。
【0090】
上記したように、設定情報入力支援装置30の処理においては、第1〜第5のルールの各々を用いて入力値候補取得処理(ステップS2の処理)が実行される。この入力値候補取得処理は、用いられるルール(つまり、第1〜第5のルール)の内容に応じて異なる。
【0091】
なお、第1〜第5のルールを順に用いて入力候補取得処理が実行されると、入力情報ファイル22に設定されているテーブル情報(に含まれるテーブル定義情報および参照先テーブル定義情報)の各々において、外部キー(外部キー名)、外部キー参照先テーブル、外部キー参照先構成列、参照時の表示形式および参照時の表示項目の順に値が設定されているか否かがチェックされる。
【0092】
ここで、第1〜第5のルールを用いた場合のそれぞれの入力値候補取得処理について詳細に説明する。
【0093】
以下の説明では、第1のルールを用いた場合の入力値候補取得処理を第1の入力値候補取得処理、第2のルールを用いた場合の入力値候補取得処理を第2の入力値候補取得処理、第3のルールを用いた場合の入力値候補取得処理を第3の入力値候補取得処理、第4のルールを用いた場合の入力値候補取得処理を第4の入力値候補取得処理、第5のルールを用いた場合の入力値候補取得処理を第5の入力値候補取得処理と称する。
【0094】
また、第1〜第5の入力値候補取得処理の説明においては、便宜的に、入力情報ファイル22には複数のテーブル情報として例えば第1および第2のテーブル情報が設定されているものとして説明する。この場合、第1および第2のテーブル情報によって示されるテーブルをそれぞれ第1および第2のテーブルと称する。また、第1のテーブル情報に含まれるテーブル定義情報を第1のテーブル定義情報、当該第1のテーブル情報に含まれる参照先テーブル定義情報を第1の参照先テーブル定義情報と称する。更に、第2のテーブル情報に含まれるテーブル定義情報を第2のテーブル定義情報、当該第2のテーブル情報に含まれる参照先テーブル定義情報を第2の参照先テーブル定義情報と称する。
【0095】
なお、入力情報ファイル22には複数のテーブル情報として第1および第2のテーブル情報が設定されているため、上述した図12に示すステップS1においては、入力情報ファイル22に設定されている第1および第2のテーブル情報(の各項目に設定されている値)が入力情報取得部31によって取得されたものとする。
【0096】
まず、図13および図14のフローチャートを参照して、第1の入力値候補取得処理の処理手順について説明する。
【0097】
第1の入力値候補取得処理は、上記したように第1のルール(外部キー候補取得ルール)を用いた場合の入力値候補取得処理である。この第1の入力値候補取得処理においては、第1のルールに基づいて、入力情報ファイル22に設定されているテーブル情報によって示されるテーブルを構成する複数のカラムの中から当該テーブルにおいて外部キーとして設定すべきカラムの候補(外部キーの入力値の候補)が取得される。
【0098】
まず、入力値候補取得部32は、入力情報取得部31によって取得された第1および第2のテーブル情報(の各項目に設定されている値)を、当該入力情報取得部31から取得する(ステップS11)。この第1および第2のテーブル情報の各々には、上述したようにテーブル定義情報および参照先テーブル定義情報が含まれる。以下、第1のテーブル情報に含まれるテーブル定義情報を第1のテーブル定義情報、当該第1のテーブル情報に含まれる参照先テーブル定義情報を第1の参照先テーブル定義情報と称する。また、第2のテーブル情報に含まれるテーブル定義情報を第2のテーブル定義情報、当該第2のテーブル情報に含まれる参照先テーブル定義情報を第2の参照先テーブル定義情報と称する。
【0099】
入力値候補取得部32は、入力値候補取得ルール保持部23に保持されているルールに含まれる第1のルール(外部キー候補取得ルール)を取得する(ステップS12)。以下に説明するステップS13〜S18の処理は、この第1のルールに基づいて実行される。なお、第1のルールの内容については上述した図11において説明した通りであるため、ここでは詳しい説明を省略する。
【0100】
次に、入力値候補取得部32は、ステップS11において取得されたテーブル情報(ここでは、第1および第2のテーブル情報)によって示されるテーブルを構成するカラムの各々について以下のステップS13以降の処理を実行する。以下、この処理の対象となるカラムを対象カラムとする。つまり、対象カラムとは、ステップS1において取得されたテーブル情報によって示されるテーブルを構成する複数のカラムのうちの1つのカラムである。ここでは、ステップS11において取得された第1および第2のテーブル情報のうちの第1のテーブル情報によって示される第1のテーブルを構成する複数のカラムのうちの1つが対象カラムであるものとする。
【0101】
入力値候補取得部32は、第1のテーブル情報に含まれる第1のテーブル定義情報に含まれる対象カラムの外部キー(の項目)がnullであるか否かを判定する(ステップS13)。
【0102】
対象カラムの外部キーがnullであると判定された場合(ステップS13のYES)、入力値候補取得部32は、第1のテーブル情報に含まれる第1のテーブル定義情報に含まれる対象カラムの主キー(の項目)を参照して、当該対象カラムが第1のテーブルにおいて主キーであるか否かを判定する(ステップS14)。この場合、第1のテーブル定義情報に含まれる対象カラムの主キーの項目がnullであれば当該対象カラムが主キーでないと判定され、当該対象カラムの主キーの項目に「○」が設定されていれば当該対象カラムが主キーであると判定される。
【0103】
対象カラムが主キーでないと判定された場合(ステップS14のNO)、入力値候補取得部32は、第1のテーブル情報に含まれる第1のテーブル定義情報に含まれる対象カラムの排他制御(の項目)を参照して、当該対象カラムが第1のテーブルにおいて排他制御用のカラムであるか否かを判定する(ステップS15)。この場合、第1のテーブル定義情報に含まれる対象カラムの排他制御の項目がnullであれば当該対象カラムが排他制御用のカラムでないと判定され、当該対象カラムの排他制御の項目に「○」が設定されていれば当該対象カラムが排他制御用のカラムであると判定される。
【0104】
対象カラムが排他制御用のカラムでないと判定された場合(ステップS15のNO)、入力値候補取得部32は、第1のテーブル情報に含まれる第1のテーブル定義情報に基づいて、第1の外部キー候補特定処理を実行する(ステップS16)。
【0105】
この第1の外部キー候補特定処理では、入力値候補取得部32は、第1のテーブル定義情報に含まれる主キーの項目に設定されている値(主キー情報)に基づいて、対象カラムから構成される第1のテーブルにおいて主キーであるカラムを検索する。この場合、入力値候補取得部32は、第1のテーブル定義情報に含まれる主キーの項目を参照して第1のテーブルを構成するカラムの各々が主キーであるか否かを判定することによって、検索処理を実行する。入力値候補取得部32は、検索されたカラムを第1のテーブルにおける外部キーの候補として特定する。
【0106】
次に、入力値候補取得部32は、第1および第2のテーブル情報に含まれる第1および第2のテーブル定義情報に基づいて、第2の外部キー候補特定処理を実行する(ステップS17)。
【0107】
この第2の外部キー候補取得処理では、入力値候補取得部32は、対象カラムから構成される第1のテーブル以外の他のテーブル(ここでは、第2のテーブル)において主キーであるカラムを検索する。この場合、入力値候補取得部32は、第2のテーブル情報に含まれる第2のテーブル定義情報に含まれる主キーの項目に設定されている値(主キー情報)に基づいて第2のテーブルを構成するカラムの各々が主キーであるか否かを判定することによって、検索処理を実行する。入力値候補取得部32は、この検索処理によって、第2のテーブルにおいて主キーであるカラムを特定する。次に、入力値候補取得部32は、第1および第2のテーブル定義情報に含まれる物理名(の項目)を参照して、対象カラムの物理名および特定されたカラム(第2のテーブルにおいて主キーであるカラム)の物理名が同一であるか否かを判定する。入力値候補取得部32は、対象カラムの物理名および第2のテーブルにおいて主キーであるカラムの物理名が同一であると判定された場合、当該第2のテーブルにおいて主キーであるカラムを第1のテーブルにおける外部キーの候補として特定する。
【0108】
上記したように第1および第2の外部キー候補特定処理が実行されると、入力値候補取得部32は、当該第1および第2の外部キー候補特定処理において特定されたカラム(の物理名)を、第1のテーブルにおける外部キーとして設定すべきカラムの候補(つまり、外部キーの入力値の候補)として取得する(ステップS18)。
【0109】
なお、上記したステップS14において対象カラムが主キーであると判定された場合およびステップS15において対象カラムが排他制御用のカラムであると判定された場合、ステップS16〜S18の処理は実行されない。
【0110】
次に、入力値候補取得部32は、ステップS11において取得されたテーブル情報(第1および第2のテーブル情報)によって示されるテーブルを構成する全てのカラムについて上記したステップS13以降の処理が実行されたか否かを判定する(ステップS19)。
【0111】
全てのカラムについて処理が実行されていないと判定された場合(ステップS19のNO)、上記したステップS13に戻って処理が繰り返される。この場合、ステップS13以降の処理が実行されていないカラムを対象カラムとして処理が実行される。
【0112】
一方、全てのカラムについて処理が実行されたと判定された場合(ステップS19のYES)、入力値候補取得部32は、上記したステップS19の処理において取得された外部キーの入力値の候補があるか否かを判定する(ステップS20)。
【0113】
外部キーの入力値の候補があると判定された場合(ステップS20のYES)、入力値候補取得部32は、当該外部キーの入力値の候補を入力値決定部33に対して出力する(ステップS21)。なお、入力値決定部33に対して出力される外部キーの入力値の候補には、外部キーの候補となるカラムのカラム名(物理名)等が含まれる。
【0114】
一方、外部キーの入力値の候補がないと判定された場合(ステップS20のNO)、ステップS21の処理は実行されない。
【0115】
また、上記したステップS13において対象カラムの外部キーがnullでないと判定された場合、入力値候補取得部32は、第1のテーブル情報に含まれる第1の参照先テーブル定義情報に含まれる外部キー名(の項目)に当該対象カラムの物理名が設定されているか否かを判定する(ステップS22)。
【0116】
外部キー名に対象カラムの物理名が設定されていないと判定された場合(ステップS22のNO)、入力値候補取得部32は、第1のテーブル定義情報に含まれる対象カラムの物理名を取得し、当該取得された対象カラムの物理名を外部キー名として入力情報ファイル22に反映(設定)する(ステップS23)。具体的には、入力値候補取得部32は、第1の参照先テーブル定義情報に含まれる外部キー名(の項目)に対象カラムの物理名を設定する。なお、この設定処理は、入力情報反映部34を介して実行される。ステップS23の処理が実行されると、上記したステップS19の処理が実行される。
【0117】
一方、外部キー名に対象カラムの物理名が設定されていると判定された場合(ステップS22のYES)、ステップS23の処理は実行されず、上記したステップS19の処理が実行される。
【0118】
上記したように第1の入力値候補取得処理においては、例えば第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが主キーおよび排他制御用のカラムでない場合には、当該第1のテーブルにおいて主キーであるカラムおよび当該第1のテーブル以外の第2のテーブルにおいて主キーであるカラムであって対象カラムと物理名が同一であるカラムが当該第1のテーブルにおいて外部キーとして設定すべきカラムの候補(外部キーの入力値の候補)として取得される。
【0119】
上記した図13および14においては、第1のテーブルを構成するカラムが対象カラムであるものとして説明したが、当該第1のテーブル以外のテーブル(ここでは、第2のテーブル)を構成するカラムが対象カラムである場合についても同様である。
【0120】
ここで、第1の入力値候補取得処理について、上述した図3および図4を用いて具体的に説明する。ここでは、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成するカラムの各々が対象カラムである場合について説明する。
【0121】
まず、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの論理名が「従業員番号」であるカラムが対象カラムである場合を想定する。以下、論理名が「従業員番号」であるカラムを単に「従業員番号」カラムと称する。なお、他のカラムについても同様であるものとする。
【0122】
この場合、図3に示す第1のテーブル情報221に含まれる第1のテーブル定義情報221aに含まれる「従業員番号」カラムの主キーの項目には「○」が設定されている。このため、「従業員番号」カラムは第1のテーブルにおいて主キー(のカラム)である。したがって、第1のテーブルを構成する「従業員番号」カラムが対象カラムである場合には、外部キーの入力値の候補は取得されない。
【0123】
次に、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「氏名」カラムが対象カラムである場合を想定する。
【0124】
この場合、図3に示す第1のテーブル情報221に含まれる第1のテーブル定義情報221aに含まれる「氏名」カラムの主キーの項目および排他制御の項目はnullである。したがって、「氏名」カラムは第1のテーブルにおいて主キーのカラムでなく、かつ、排他制御用のカラムでない。
【0125】
ここで、対象カラムである「氏名」カラムから構成される第1のテーブルにおいては上記したように「従業員番号」カラムが主キーである。このため、上記した第1の外部キー候補特定処理においては、「従業員番号」カラムが第1のテーブルにおける外部キーの候補として特定される。
【0126】
一方、図3に示す第1のテーブル定義情報221aによれば、「氏名」カラムの物理名は、「ename」である。また、「氏名」カラムから構成される第1のテーブル以外のテーブル(ここでは、第2のテーブル)において主キーであるカラムは、図4に示す第2のテーブル定義情報222aによれば、主キーの項目に「○」が設定されている「部署番号」カラムである。更に、図4に示す第2のテーブル定義情報222aによれば、この「部署番号」カラムの物理名は、「deptno」である。
【0127】
ここで、対象カラムである「氏名」カラムの物理名(ここでは、「ename」)および第2のテーブル(第1のテーブル以外の他のテーブル)において主キーである「部署番号」カラムの物理名(ここでは、「deptno」)は同一ではない。したがって、上記した第2の外部キー候補特定処理においては、第1のテーブルにおける外部キーの候補は特定されない。
【0128】
つまり、上記したように第1のテーブルを構成する「氏名」カラムが対象カラムである場合には、第1の外部キー候補特定処理において特定された「従業員番号」カラムが外部キーの入力値の候補として取得される。
【0129】
なお、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「職種」カラム、「上長」カラム、「入社年月日」カラム、「給料」カラムおよび「手当」カラムが対象カラムである場合も同様に、「従業員番号」カラムが外部キーの入力値の候補として取得される。
【0130】
次に、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「部署番号」カラムが対象カラムである場合を想定する。
【0131】
この場合、図3に示す第1のテーブル情報221に含まれる第1のテーブル定義情報221aに含まれる「部署番号」カラムの主キーの項目および排他制御の項目はnullである。したがって、「部署番号」カラムは第1のテーブルにおいて主キーのカラムでなく、かつ、排他制御用のカラムでない。
【0132】
ここで、対象カラムである「部署番号」カラムから構成される第1のテーブルにおいては上記したように「従業員番号」カラムが主キーである。このため、上記した第1の外部キー候補特定処理においては、「従業員番号」カラムが第1のテーブルにおける外部キーの候補として特定される。
【0133】
一方、図3に示す第1のテーブル定義情報221aによれば、第1のテーブルを構成する「部署番号」カラムの物理名は、「deptno」である。また、「部署番号」カラムから構成される第1のテーブル以外のテーブル(ここでは、第2のテーブル)において主キーであるカラムは、図4に示す第2のテーブル定義情報222aによれば、主キーの項目に「○」が設定されている「部署番号」カラムである。更に、図4に示す第2のテーブル定義情報222aによれば、この第2のテーブルを構成する「部署番号」カラムの物理名は、「deptno」である。
【0134】
ここで、対象カラムである「部署番号」カラムの物理名および第2のテーブルにおいて主キーである「部署番号」カラムの物理名は「deptno」で同一である。したがって、上記した第2の外部キー候補特定処理においては、第2のテーブルにおいて主キーである「部署番号」カラムが第1のテーブルにおける外部キーの候補として特定される。
【0135】
つまり、上記したように第1のテーブルを構成する「部署番号」カラムが対象カラムである場合には、第1の外部キー候補特定処理において特定された「従業員番号」カラムおよび第2の外部キー候補特定処理において特定された「部署番号」カラム(第2のテーブルにおいて主キーであるカラム)が外部キーの入力値の候補として取得される。
【0136】
次に、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「バージョン」カラムが対象カラムである場合を想定する。
【0137】
この場合、図3に示す第1のテーブル情報221に含まれる第1のテーブル定義情報221aに含まれる「バージョン」カラムの排他制御の項目には「○」が設定されている。このため、「バージョン」カラムは第1のテーブルにおいて排他制御用のカラムである。したがって、第1のテーブルを構成する「バージョン」カラムが対象カラムである場合には、外部キーの入力値の候補は取得されない。
【0138】
上記したように入力値候補取得部32によって取得された外部キーの入力値の候補(つまり、外部キーとして設定すべきカラムの候補)は、入力値決定部33に対して出力される。
【0139】
ここで、図15は、入力値決定部33に対して出力される外部キーの入力値の候補のデータ構造の一例を示す。
【0140】
図15に示すように、入力値決定部33に対して出力される外部キーの入力値の候補(外部キー入力値候補)には、入力値候補取得部32によって外部キーの入力値の候補として取得されたカラム(第1および第2の外部キー候補特定処理において外部キーの候補として特定されたカラム)の物理名が参照先テーブル主キーとして含まれる。また、外部キーの入力値の候補には、参照先テーブル主キーに加えて、対象カラム名、テーブル名、テーブルID、参照先テーブル名および参照先テーブルIDが含まれる。
【0141】
対象カラム名は、外部キーの入力値の候補が取得された際における対象カラムのカラム名(物理名)である。テーブル名は、対象カラムから構成されるテーブルのテーブル名である。テーブルIDは、対象カラムから構成されるテーブルを識別するための識別子である。
【0142】
参照先テーブル名は、外部キーの入力値の候補であるカラム(つまり、外部キーの入力値の候補として入力値候補取得部32によって取得されたカラム)を外部キーとした場合に当該外部キーによって参照されるテーブルであって、当該カラムが主キーとして設定されているテーブルのテーブル名である。参照先テーブルIDは、外部キーの入力値の候補であるカラムを外部キーとして場合に当該外部キーによって参照されるテーブルであって、当該カラムが主キーとして設定されているテーブルを識別するためのテーブルIDである。
【0143】
入力値決定部33に対して出力される外部キーの入力値の候補に含まれる対象カラム名、テーブル名、テーブルID、参照先テーブル名および参照先テーブルIDは、上記した第1の入力値候補取得処理において取得されたテーブル情報(第1および第2のテーブル情報)から取得される。
【0144】
図15に示す例では、外部キーの入力値の候補には、外部キー入力値候補1および2が含まれる。
【0145】
なお、図15に示す外部キー入力候補1および2は、上記した図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「部署番号」カラムが対象カラムである場合に第1の入力値候補取得処理において出力される外部キーの入力値の候補の一例を示す。
【0146】
外部キー入力値候補1には、対象カラム名「deptno」、テーブル名「従業員テーブル」、テーブルID「emp」、参照先テーブル名「従業員テーブル」、参照先テーブルID「emp」および参照先テーブル主キー「empno」が含まれている。これによれば、外部キー入力値候補1は、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する「部署番号」カラム(物理名が「deptno」であるカラム)が対象カラムである場合における外部キーの入力値の候補が「従業員番号」カラム(の物理名)であることを示している。なお、この外部キーの入力値の候補である「従業員番号」カラムは、上記した第1の外部キー候補特定処理において特定されたカラムである。
【0147】
また、外部キー入力値候補2には、対象カラム名「deptno」、テーブル名「従業員テーブル」、テーブルID「emp」、参照先テーブル名「部署テーブル」、参照先テーブルID「dept」および参照先テーブル主キー「deptno」が含まれている。これによれば、外部キー入力値候補2は、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する「部署番号」カラム(物理名が「deptno」であるカラム)が対象カラムである場合における外部キーの入力値の候補が「部署番号」カラム(の物理名)であることを示している。なお、この外部キーの入力値の候補である「部署番号」カラムは、上記した第2の外部キー候補特定処理において特定されたカラムである。
【0148】
ここでは、図3に示す第1のテーブル情報221によって示される第1のテーブルを構成する複数のカラムのうちの「部署番号」カラムが対象カラムである場合に出力される外部キーの入力値の候補について説明したが、他のカラムが対象カラムである場合に出力される外部キーの入力値の候補についても同様である。
【0149】
なお、図15に示す外部キーの入力値の候補においては、対象カラム名として対象カラムの物理名のみが含まれているが、当該物理名に加えて対象カラムの論理名が含まれていても構わない。
【0150】
上記した図15に示す形式の外部キーの入力値の候補が入力値決定部33に対して出力されると、入力値決定部33は、当該外部キーの入力値の候補を選択するための画面(以下、第1の入力値候補選択画面と表記)を表示する。
【0151】
ここで、図16は、第1の入力値候補選択画面(外部キー入力値候補選択画面)の一例を示す。第1の入力値候補選択画面400には、例えばテーブル名およびテーブルIDが表示される。この第1の入力値候補選択画面400に表示されるテーブル名およびテーブルIDは、上記した図15に示す入力値決定部33に対して出力された外部キーの入力値の候補に含まれるテーブル名およびテーブルIDである。
【0152】
また、第1の入力値候補選択画面400には、図15に示す入力値決定部33に対して出力された外部キーの入力値の候補に含まれる対象カラム名(ここでは、論理名および物理名)が表示されている。
【0153】
更に、第1の入力値候補選択画面400においては、対象カラム名に対応づけてプルダウン401が設けられている。この第1の入力値候補選択画面400に設けられているプルダウン401には、例えば図17に示すように外部キーの入力値の候補(ここでは、参照先テーブルIDおよび参照先テーブル主キーの組)が設定されている。なお、図17は、論理名「部署番号」および物理名「deptno」に対応づけられているプルダウン401の表示(つまり、対象カラムが「部署番号」カラムである場合における外部キーの入力値の候補)の例を示す。つまり、図17に示すように、論理名「部署番号」および物理名「deptno」に対応づけられているプルダウン401においては、上記した図15に示す外部キー入力値候補1および2の各々に含まれる参照先テーブルIDおよび参照先テーブル主キーの組(つまり、外部キーの入力値の候補)が表示される。
【0154】
これにより、ユーザは、第1の入力値候補選択画面400を介して、外部キーの入力値の候補(つまり、外部キーとして設定すべきカラムの候補)の中から実際に入力値とすべき候補を選択することができる。なお、図17に示すように、外部キーに関しては「(空欄)」が設定されており、ユーザは、当該「(空欄)」を選択することも可能である。
【0155】
また、第1の入力値候補選択画面400には、設定ボタン402が設けられている。ユーザが第1の入力値候補選択画面400に設けられているプルダウン401において所望の外部キーの入力値の候補を選択し、設定ボタン402を指定(押下)すると、当該選択された外部キーの入力値の候補が入力値(外部キーとして設定すべきカラム)として決定され、当該入力値が入力情報反映部34によって入力情報ファイル22に反映される。
【0156】
この場合、入力情報反映部34は、入力情報ファイル22に設定されているテーブル情報(上記した外部キーの入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報)に含まれるテーブル定義情報において、入力値として決定されたカラム(外部キーの入力値の候補であるカラム)の外部キーの項目に「○」を設定する。これにより、入力値として決定されたカラムが外部キーとして設定される。
【0157】
また、入力情報反映部34は、外部キーとして設定されたカラムの物理名(外部キーの入力値の候補に参照先テーブル主キーとして含まれるカラムの物理名)を、当該外部キーの入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報の参照先テーブル定義情報に含まれる外部キー名の項目に設定する。
【0158】
また、入力情報反映部34は、外部キーとして設定されたカラムの物理名が設定された外部キー名の項目を含む参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目に、当該外部キーによって参照されるテーブル(外部キー参照先テーブル)を設定する。この場合、入力情報反映部34は、外部キー参照先テーブルのテーブル名(外部キーの入力値の候補に含まれる参照先テーブル名)を、外部キー参照先テーブルの項目に含まれる名称の項目に設定する。また、入力情報反映部34は、外部キー参照先テーブルのテーブルID(外部キーの入力値の候補に含まれる参照先テーブルID)を、外部キー参照先テーブルの項目に含まれるIDの項目に設定する。
【0159】
更に、入力情報反映部34は、外部キー参照先テーブルの項目に設定されたテーブル(外部キー参照先テーブル)において主キーであるカラムの物理名(外部キーの入力値の候補に含まれる参照先テーブル主キー)を、外部キーとして設定されたカラムの物理名が設定された外部キー名の項目を含む参照先テーブル定義情報に含まれる外部キー参照先構成列の項目に設定する。
【0160】
つまり、第1の入力値候補取得処理において外部キーの入力値の候補が取得され、当該外部キーの入力値の候補(であるカラム)の中から外部キーが設定された場合には、参照先テーブル定義情報に含まれる当該外部キーの外部キー名、外部キー参照先テーブルおよび外部キー参照先構成列の項目についても適切な入力値が自動的に設定される。
【0161】
次に、図18のフローチャートを参照して、第2の入力値候補取得処理の処理手順について説明する。
【0162】
第2の入力値候補取得処理は、上記したように第2のルール(外部キー参照先テーブル候補取得ルール)を用いた場合の入力値候補取得処理である。この第2の入力値候補取得処理においては、第2のルールに基づいて、入力情報ファイル22に設定されているテーブル情報の参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目に設定すべき値の候補(外部キー参照先テーブルの入力値の候補)が取得される。
【0163】
なお、第2の入力値候補取得処理が実行される際、入力情報ファイル22に設定されているテーブル情報によって示されるテーブルにおいて外部キーが設定されている場合には当該テーブル情報の参照先テーブル定義情報に含まれる少なくとも外部キー名の項目に値が設定されているものとする。
【0164】
まず、入力値候補取得部32は、入力情報取得部31によって取得された第1および第2のテーブル情報を、当該入力情報取得部31から取得する(ステップS31)。
【0165】
入力値候補取得部32は、入力値候補取得ルール保持部23に保持されているルールに含まれる第2のルール(外部キー参照先テーブル候補取得ルール)を取得する(ステップS32)。以下に説明するステップS33〜S36の処理は、この第2のルールに基づいて実行される。なお、第2のルールの内容は上述した図11において説明した通りであるため、ここではその詳しい説明を省略する。
【0166】
次に、入力値候補取得部32は、ステップS31において取得されたテーブル情報(ここでは、第1および第2のテーブル情報)によって示されるテーブルにおける外部キー(当該第1および第2のテーブル情報の参照先テーブル定義情報に含まれる外部キー名)の各々について以下のステップS33以降の処理を実行する。以下、この処理の対象となる外部キーを対象外部キーとする。ここでは、対象外部キーは、第1のテーブルにおける外部キーであるものとする。
【0167】
入力値候補取得部32は、ステップS31において取得された第1のテーブル情報に含まれる参照先テーブル定義情報(第1の参照先テーブル定義情報)を参照して、対象外部キーの外部キー参照先テーブルの項目に含まれるID(の項目)がnullであるか否かを判定する(ステップS33)。
【0168】
IDがnullであると判定された場合(ステップS33のYES)、入力値候補取得部32は、第1および第2のテーブル情報に基づいて、当該第2のテーブル情報によって示される第2のテーブルが該当テーブルであるか否かを判定する(ステップS34)。入力値候補取得部32は、対象外部キーとして設定されているカラムから構成されるテーブル(ここでは、第1のテーブル)以外のテーブルが該当テーブルであるか否かを判定する。
【0169】
ここで、該当テーブルとは、第1のテーブル情報の第1の参照先テーブル情報に含まれる対象外部キーの外部キー名(の項目に設定されている物理名)を物理名とするカラムから構成されるテーブルをいう。換言すれば、該当テーブルは、対象外部キーの外部キー名と同一のカラム名(物理名)を持つテーブルである。
【0170】
第2のテーブルが該当テーブルであると判定された場合(ステップS34のYES)、入力値候補取得部32は、当該第2のテーブルを構成する複数のカラムのうちの対象外部キーの外部キー名(の項目に設定されている物理名)を物理名とするカラムが当該第2のテーブルにおいて主キーであるか否かを判定する(ステップS35)。この場合、入力値候補取得部32は、第2のテーブルを示す第2のテーブル情報のテーブル定義情報(第2のテーブル定義情報)に含まれる主キーの項目を参照して判定処理を実行する。
【0171】
対象外部キーの外部キー名を物理名とするカラムが第2のテーブルにおいて主キーであると判定された場合(ステップS35のYES)、入力値候補取得部32は、当該第2のテーブル(のテーブル名およびテーブルID)を対象外部キーの外部キー参照先テーブルの入力値の候補として取得する(ステップS36)。第2のテーブルのテーブル名およびテーブルIDは、第2のテーブル情報(に含まれる第2のテーブル定義情報)から取得される。
【0172】
次に、入力値候補取得部32は、ステップS31において取得されたテーブル情報(第1および第2のテーブル情報)によって示されるテーブルにおける全ての外部キー(つまり、当該第1および第2のテーブル情報において設定されている全ての外部キー)について上記したステップS33以降の処理が実行されたか否かを判定する(ステップS37)。
【0173】
全ての外部キーについて処理が実行されていないと判定された場合(ステップS37のNO)、上記したステップS33に戻って処理が繰り返される。この場合、ステップS33以降の処理が実行されていない外部キーを対象外部キーとして処理が実行される。
【0174】
一方、全ての外部キーについて処理が実行されたと判定された場合(ステップS37のYES)、入力値候補取得部32は、上記したステップS36の処理において取得された外部キー参照先テーブルの入力値の候補があるか否かを判定する(ステップS38)。
【0175】
外部キー参照先テーブルの入力値の候補があると判定された場合(ステップS38のYES)、入力値候補取得部32は、当該外部キー参照先テーブルの入力値の候補を入力値決定部33に対して出力する(ステップS39)。なお、入力値決定部33に対して出力される外部キー参照先テーブルの入力値の候補には、外部キー参照先テーブルの項目に設定すべき値の候補となるテーブルのテーブル名およびテーブルID等が含まれる。
【0176】
一方、外部キー参照先テーブルの入力値の候補がないと判定された場合(ステップS38のNO)、ステップS39の処理は実行されない。
【0177】
なお、上述したように図18に示す第2の入力値候補取得処理の前には、図13および図14に示す第1の入力値候補取得処理が実行される。この第1の入力値候補取得処理において外部キーの入力値の候補が取得され、当該外部キーの入力値の候補の中から外部キーが設定された場合には、上記したように参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目(に含まれる名称およびIDの項目)にも値が設定される。
【0178】
したがって、このような場合には、上記したステップS33においてIDがnullでないと判定され、外部キー参照先テーブルの入力値の候補は取得されず、ステップS37の処理が実行される。
【0179】
また、上記したステップS34において第2のテーブルが該当テーブルでないと判定された場合およびステップS35において対象外部キーの外部キー名を物理名とするカラムが第2のテーブル(該当テーブル)において主キーでないと判定された場合、ステップS37の処理が実行される。
【0180】
上記したように第2の入力値候補取得処理においては、対象外部キーの外部キー名を物理名とするカラムから構成されるテーブルにおいて当該カラムが主キーである場合には、当該テーブルのテーブル名およびテーブルIDが外部キー参照先テーブルの入力値の候補として取得される。
【0181】
例えば、上述した図14に示すステップS23の処理によって図3に示す第1のテーブル情報221の第1の参照先テーブル定義情報221bに含まれる外部キー名の項目に「deptno」が設定されている場合を想定する。この場合には、この外部キー名「deptno」を物理名とするカラムが図4に示す第2のテーブル情報222によって示される第2のテーブルを構成する複数のカラムの中に存在する。また、この複数のカラムの中の物理名が「deptno」であるカラム(「部署番号」カラム)は、第2のテーブルにおける主キーである。したがって、外部キー名が「deptno」である外部キーが対象外部キーである場合には、第2のテーブルのテーブル名およびテーブルIDが外部キー参照先テーブルの入力値の候補として取得される。
【0182】
このように入力値候補取得部32によって取得された外部キー参照先テーブルの入力値の候補は、入力値決定部33に対して出力される。
【0183】
ここで、図19は、入力値決定部33に対して出力される外部キー参照先テーブルの入力値の候補のデータ構造の一例を示す。
【0184】
図19に示すように、入力値決定部33に対して出力される外部キー参照先テーブルの入力値の候補(外部キー参照先テーブル入力値候補)には、上記した図18に示すステップS36において取得されたテーブル名およびテーブルID(ここでは、第2のテーブルのテーブル名およびテーブルID)が参照先テーブル名および参照先テーブルIDとして含まれる。また、外部キー参照先テーブルの入力値の候補には、参照先テーブル名および参照先テーブルIDに加えて、テーブル名、テーブルID、外部キー名および参照先テーブル主キーが含まれる。
【0185】
テーブル名は、対象外部キーとして設定されているカラム(対象外部キーのカラム)から構成されるテーブル(つまり、当該対象外部キーが設定されているテーブル)のテーブル名である。テーブルIDは、対象外部キーのカラムから構成されるテーブルを識別するための識別子である。外部キー名は、対象外部キーの外部キー名(対象外部キーのカラムの物理名)である。参照先テーブル主キーは、外部キー参照先テーブルの入力値の候補に含まれる参照先テーブルIDによって識別されるテーブルにおいて主キーであるカラムの物理名である。つまり、参照先テーブル主キーは、対象外部キーによって参照されるテーブル(外部キー参照先テーブル)において主キーであるカラムの物理名である。
【0186】
外部キー参照先テーブルの入力値の候補に含まれるテーブル名、テーブルID、外部キー名および参照先テーブル主キーは、上記した第2の入力値候補取得処理において取得されたテーブル情報(第1および第2のテーブル情報)から取得される。
【0187】
図19に示す例では、外部キー参照先テーブルの入力値の候補には、外部キー参照先テーブル入力値候補1が含まれる。
【0188】
なお、図19に示す外部キー参照先テーブル入力値候補1は、上記した図3に示す第1のテーブル情報221の第1の参照先テーブル定義情報221bに含まれる外部キー名の項目に例えば「deptno」が設定されていた場合に第2の入力値候補取得処理において出力される外部キー参照先テーブルの入力値の候補の一例である。
【0189】
この外部キー参照先テーブル入力値候補1には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」、参照先テーブル名「部署テーブル」、参照先テーブルID「dept」および参照先テーブル主キー「deptno」が含まれている。これによれば、外部キー参照先テーブル入力値候補1は、上記したように図3に示す第1のテーブル情報221の第1の参照先テーブル定義情報221bに含まれる外部キー名に例えば「deptno」が設定されていた場合における外部キー参照先テーブルの入力値の候補が図4に示す第2のテーブル情報222によって示される第2のテーブル(のテーブル名「部署テーブル」およびテーブルID「dept」)であることを示している。
【0190】
上記した図19に示す形式の外部キー参照先テーブルの入力値の候補が入力値決定部33に対して出力されると、入力値決定部33は、当該外部キー参照先テーブルの入力値の候補を選択するための画面(以下、第2の入力値候補選択画面と表記)を表示する。
【0191】
ここで、図20は、第2の入力値候補選択画面(外部キー参照先テーブル入力値候補選択画面)の一例を示す。第2の入力値候補選択画面410には、例えばテーブル名およびテーブルIDが表示される。この第2の入力値候補選択画面410に表示されるテーブル名およびテーブルIDは、上記した図19に示す入力値決定部33に対して出力された外部キー参照先テーブルの入力値の候補に含まれるテーブル名およびテーブルIDである。
【0192】
また、第2の入力値候補選択画面410においては、対象外部キーの外部キー名に対応づけてプルダウン411が設けられている。この第2の入力値候補選択画面410に設けられているプルダウン411には、例えば図21に示すように外部キー参照先テーブルの入力値の候補(ここでは、参照先テーブル名、参照先テーブルIDおよび参照先テーブル主キーの組)が設定されている。
【0193】
これにより、ユーザは、第2の入力値候補選択画面410を介して、外部キー参照先テーブルの入力値の候補(つまり、外部キー参照先テーブルの項目に設定すべきテーブル名およびテーブルIDの候補)の中から実際に入力値とすべき候補を選択することができる。
【0194】
また、第2の入力値候補選択画面410には、設定ボタン412が設けられている。ユーザが第2の入力値候補選択画面410に設けられているプルダウン411において所望の外部キー参照先テーブルの入力値の候補を選択し、設定ボタン412を指定(押下)すると、当該選択された外部キー参照先テーブルの入力値の候補が入力値(外部キー参照先テーブルの項目に設定すべきテーブル名およびテーブルID)として決定され、当該入力値が入力情報反映部34によって入力情報ファイル22に反映される。
【0195】
この場合、入力情報反映部34は、入力情報ファイル22に設定されているテーブル情報(上記した外部キー参照先テーブルの入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報)の参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目(に含まれる名称およびIDの項目)に、入力値として決定されたテーブル名およびテーブルID(外部キー参照先テーブルの入力値の候補に含まれる参照先テーブル名および参照先テーブルID)を設定する。これにより、入力情報反映部34は、参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目に対象外部キーによって参照されるテーブルを設定する。
【0196】
また、入力情報反映部34は、外部キー参照先テーブルの項目に設定されたテーブルにおいて主キーであるカラムの物理名(外部キー参照先テーブルの入力値の候補に含まれる参照先テーブル主キー)を、当該外部キー参照先テーブルの項目を含む参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先構成列の項目に設定する。
【0197】
つまり、第2の入力値候補取得処理において外部キー参照先テーブルの入力値の候補が取得され、当該外部キー参照先テーブルの入力値の候補の中から外部キー参照先テーブルの項目に値が設定された場合には、当該外部キー参照先テーブルの項目を含む参照先テーブル定義情報に含まれる外部キー参照先構成列の項目についても適切な入力値が自動的に設定される。
【0198】
次に、図22のフローチャートを参照して、第3の入力値候補取得処理の処理手順について説明する。
【0199】
第3の入力値候補取得処理は、上記したように第3のルール(外部キー参照先構成列候補取得ルール)を用いた場合の入力値候補取得処理である。この第3の入力値候補取得処理においては、第3のルールに基づいて、入力情報ファイル22に設定されているテーブル情報の参照先テーブル定義情報に含まれる外部キー参照先構成列の項目に設定すべき値の候補(外部キー参照先構成列の入力値の候補)が取得される。
【0200】
なお、第3の入力値候補取得処理が実行される際、入力情報ファイル22に設定されているテーブル情報によって示されるテーブルにおいて外部キーが設定されている場合には当該テーブル情報の参照先テーブル定義情報に含まれる少なくとも外部キー名および外部キー参照先テーブルの項目に値が設定されているものとする。
【0201】
まず、入力値候補取得部32は、入力情報取得部31によって取得された第1および第2のテーブル情報を、当該入力情報取得部31から取得する(ステップS41)。
【0202】
入力値候補取得部32は、入力値候補取得ルール保持部23に保持されているルールに含まれる第3のルール(外部キー参照先構成列候補取得ルール)を取得する(ステップS42)。以下に説明するステップS43〜S45の処理は、この第3のルールに基づいて実行される。なお、第3のルールの内容は上述した図11において説明した通りであるため、ここではその詳しい説明を省略する。
【0203】
次に、入力値候補取得部32は、ステップS41において取得されたテーブル情報(ここでは、第1および第2のテーブル情報)によって示されるテーブルにおける外部キー(当該第1および第2のテーブル情報の参照先テーブル定義情報に含まれる外部キー名)の各々について以下のステップS43以降の処理を実行する。以下、この処理の対象となる外部キーを対象外部キーとする。ここでは、対象外部キーは、第1のテーブルにおける外部キーであるものとする。
【0204】
入力値候補取得部32は、ステップS41において取得された第1のテーブル情報に含まれる参照先テーブル定義情報(第1の参照先テーブル定義情報)を参照して、対象外部キーの外部キー参照先構成列(の項目)がnullであるか否かを判定する(ステップS43)。
【0205】
外部キー参照先構成列がnullであると判定された場合(ステップS43のYES)、入力値候補取得部32は、第1の参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先テーブル(に含まれる名称およびID)の項目にテーブル名およびテーブルIDが設定されているテーブル(つまり、当該外部キー参照先テーブルの項目に設定されているテーブル)において主キーであるカラムを特定する(ステップS44)。
【0206】
なお、対象外部キーの外部キー参照先テーブルの項目にテーブル名およびテーブルIDが設定されている外部キー参照先テーブルとは、当該テーブルIDによって識別されるテーブルであり、対象外部キーによって参照されるテーブルである。以下、対象外部キーの外部キー参照先テーブルの項目にテーブル名およびテーブルIDが設定されている外部キー参照先テーブルを、単に対象外部キー参照先テーブルと称する。ここでは、対象外部キー参照先テーブルは、第2のテーブルであるものとする。
【0207】
この場合、入力値候補取得部32は、対象外部キー参照先テーブルである第2のテーブルを示す第2のテーブル情報の第2のテーブル定義情報に含まれる主キーの項目を参照してステップS44の処理を実行する。
【0208】
入力値候補取得部32は、特定されたカラム(ここでは、第2のテーブルにおいて主キーであるカラム)の物理名を第1の参照先テーブル定義情報に含まれる外部キー参照先構成列の入力値の候補として取得する(ステップ45)。なお、第2のテーブルにおいて主キーであるカラムの物理名は、第2のテーブル情報から取得される。
【0209】
なお、例えば上述した図13および図14に示す第1の入力値候補取得処理および図18に示す第2の入力値候補取得処理が実行されることによって外部キー参照先構成列の項目に値が設定されている場合には、上記したステップS43において外部キー参照先構成列がnullでないと判定され、ステップS44およびS45の処理は実行されない。
【0210】
次に、入力値候補取得部32は、ステップS41において取得されたテーブル情報(第1および第2のテーブル情報)によって示されるテーブルにおける全ての外部キー(つまり、当該第1および第2のテーブル情報において設定されている全ての外部キー)について上記したステップS43以降の処理が実行されたか否かを判定する(ステップS46)。
【0211】
全ての外部キーについて処理が実行されていないと判定された場合(ステップS46のNO)、上記したステップS43に戻って処理が繰り返される。この場合、ステップS43以降の処理が実行されていない外部キーを対象外部キーとして処理が実行される。
【0212】
一方、全ての外部キーについて処理が実行されたと判定された場合(ステップS46のYES)、入力値候補取得部32は、上記したステップS45の処理において取得された外部キー参照先構成列の入力値の候補があるか否かを判定する(ステップS47)。
【0213】
外部キー参照先構成列の入力値の候補があると判定された場合(ステップS47のYES)、入力値候補取得部32は、当該外部キー参照先構成列の入力値の候補を入力値決定部33に対して出力する(ステップS48)。なお、入力値決定部33に対して出力される外部キー参照先構成列の入力値の候補には、外部キー参照先構成列の項目に設定すべき値の候補となるカラムの物理名等が含まれる。
【0214】
一方、外部キー参照先構成列の入力値の候補がないと判定された場合(ステップS47のNO)、ステップS48の処理は実行されない。
【0215】
上記したように第3の入力値候補取得処理においては、対象外部キー参照先テーブルにおいて主キーであるカラムの物理名が外部キー参照先構成列の入力値の候補として取得される。
【0216】
例えば、対象外部キー参照先テーブルが図4に示す第2のテーブル情報222によって示される第2のテーブルである場合、つまり、対象外部キーの外部キー参照先テーブルの項目に含まれる名称の項目に「部署テーブル」、IDの項目に「dept」が設定されている場合を想定する。この場合には、対象外部キー参照先テーブルである第2のテーブルにおいて主キーである「部署番号」カラムの物理名(ここでは、「deptno」)が外部キー参照先構成例の入力値の候補として取得される。
【0217】
このように入力値候補取得部32によって取得された外部キー参照先構成列の入力値の候補は、入力値決定部33に対して出力される。
【0218】
ここで、図23は、入力値決定部33に対して出力される外部キー参照先構成列の入力値の候補のデータ構造の一例を示す。
【0219】
図23に示すように、入力値決定部33に対して出力される外部キー参照先構成列の入力値の候補(外部キー参照先構成列入力値候補)には、上記した図22に示すステップS45の処理において取得された対象外部キー参照先テーブルにおいて主キーであるカラムの物理名が参照先テーブル主キー(外部キー参照先構成列)として含まれる。また、外部キー参照先構成列の入力値の候補には、参照先テーブル主キーに加えて、テーブル名、テーブルID、外部キー名、参照先テーブル名および参照先テーブルIDが含まれる。
【0220】
テーブル名は、対象外部キーのカラムから構成されるテーブルのテーブル名である。テーブルIDは、対象外部キーのカラムから構成されるテーブルを識別するための識別子である。外部キー名は、対象外部キーの外部キー名である。参照先テーブル名は、対象外部キー参照先テーブルのテーブル名である。参照先テーブルIDは、対象外部キー参照先テーブルを識別するためのテーブルIDである。
【0221】
外部キー参照先構成列の入力値の候補に含まれるテーブル名、テーブルID、外部キー名、参照先テーブル名および参照先テーブルIDは、上記した第3の入力値候補取得処理において取得されたテーブル情報(第1および第2のテーブル情報)から取得される。
【0222】
図23に示す例では、外部キー参照先構成列の入力値の候補には、外部キー参照先構成列入力値候補1が含まれる。
【0223】
なお、図23に示す外部キー参照先構成列入力値候補1は、上記した図3に示す第1のテーブル情報221の第1の参照先テーブル定義情報221bに含まれる外部キー参照先テーブルの項目に、図4に示す第2のテーブル情報222に含まれるテーブル名およびテーブルIDが設定されていた場合に第3の入力値候補取得処理において出力される外部キー参照先構成列の入力値の候補の一例である。
【0224】
この外部キー参照先構成列入力値候補1には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」、参照先テーブル名「部署テーブル」、参照先テーブルID「dept」および参照先テーブル主キー「deptno」が含まれている。これによれば、外部キー参照先構成列入力値候補1は、上記したように図3に示す第1のテーブル情報221の第1の参照先テーブル定義情報221bに含まれる外部キー参照先テーブルの項目に第2のテーブル(図4に示す第2のテーブル情報222に含まれるテーブル名およびテーブルID)が設定されていた場合における外部キー参照先構成列の入力値の候補が当該第2のテーブルにおいて主キーである「部署番号」カラムの物理名「deptno」であることを示している。
【0225】
上記した図23に示す形式の外部キー参照先構成列の入力値の候補が入力値決定部33に対して出力されると、入力値決定部33は、当該外部キー参照先構成列の入力値の候補を選択するための画面(以下、第3の入力値候補選択画面と表記)を表示する。
【0226】
ここで、図24は、第3の入力値候補選択画面(外部キー参照先構成列入力値候補選択画面)の一例を示す。第3の入力値候補選択画面420には、例えばテーブル名およびテーブルIDが表示される。この第3の入力値候補選択画面420に表示されるテーブル名およびテーブルIDは、上記した図23に示す入力値決定部33に対して出力された外部キー参照先構成列の入力値の候補に含まれるテーブル名およびテーブルIDである。
【0227】
また、第3の入力値候補選択画面420においては、対象外部キーの外部キー名に対応づけてプルダウン421が設けられている。この第3の入力値候補選択画面420に設けられているプルダウン421には、例えば図25に示すように外部キー参照先構成列の入力値の候補(ここでは、参照先テーブル名、参照先テーブルIDおよび参照先テーブル主キーの組)が設定されている。
【0228】
これにより、ユーザは、第3の入力値候補選択画面420を介して、外部キー参照先構成列の入力値の候補(つまり、外部キー参照先構成列の項目に設定すべきカラムの物理名)の中から実際に入力値とすべき候補を選択することができる。
【0229】
また、第3の入力値候補選択画面420には、設定ボタン422が設けられている。ユーザが第3の入力値候補選択画面420に設けられているプルダウン421において所望の外部キー参照先構成列の入力値の候補を選択し、設定ボタン422を指定(押下)すると、当該選択された外部キー参照先構成列の入力値の候補が入力値(外部キー参照先構成列に設定すべきカラムの物理名)として決定され、当該入力値が入力情報反映部34によって入力情報ファイル22に反映される。
【0230】
この場合、入力情報反映部34は、入力情報ファイル22に設定されているテーブル情報(上記した外部キー参照先構成列の入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報)の参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先構成列の項目に、入力値として決定されたカラムの物理名(外部キー参照先構成列の入力値の候補に含まれる参照先テーブル主キー)を設定する。
【0231】
次に、図26のフローチャートを参照して、第4の入力値候補取得処理の処理手順について説明する。
【0232】
第4の入力値候補取得処理は、上記したように第4のルール(参照時の表示形式候補取得ルール)を用いた場合の入力値候補取得処理である。この第4の入力値候補取得処理においては、第4のルールに基づいて、入力情報ファイル22に設定されているテーブル情報の参照先テーブル定義情報に含まれる参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)が取得される。なお、参照先テーブル定義情報に含まれる参照時の表示形式の項目には、当該参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目に設定されているテーブル(外部キー参照先テーブル)の参照時における表示形式が設定される。
【0233】
なお、第4の入力値候補取得処理が実行される際、入力情報ファイル22に設定されているテーブル情報によって示されるテーブルにおいて外部キーが設定されている場合には当該テーブル情報の参照先テーブル定義情報に含まれる少なくとも外部キー名、外部キー参照先テーブルおよび外部キー参照先構成列の項目に値が設定されているものとする。
【0234】
まず、入力値候補取得部32は、入力情報取得部31によって取得された第1および第2のテーブル情報を、当該入力情報取得部31から取得する(ステップS51)。
【0235】
入力値候補取得部32は、入力値候補取得ルール保持部23に保持されているルールに含まれる第4のルール(参照時の表示形式候補取得ルール)を取得する(ステップS52)。以下に説明するステップS53〜S56の処理は、この第4のルールに基づいて実行される。なお、第4のルールの内容は上述した図11において説明した通りであるため、ここではその詳しい説明を省略する。
【0236】
次に、入力値候補取得部32は、ステップS51において取得されたテーブル情報(ここでは、第1および第2のテーブル情報)によって示されるテーブルにおける外部キー(当該第1および第2のテーブル情報の参照先テーブル定義情報に含まれる外部キー名)の各々について以下のステップS53以降の処理を実行する。以下、この処理の対象となる外部キーを対象外部キーとする。ここでは、対象外部キーは、第1のテーブルにおける外部キーであるものとする。
【0237】
入力値候補取得部32は、ステップS51において取得された第1のテーブル情報に含まれる参照先テーブル定義情報(第1の参照先テーブル定義情報)を参照して、対象外部キーの参照時の表示形式(の項目)がnullであるか否かを判定する(ステップS53)。
【0238】
参照時の表示形式がnullであると判定された場合(ステップS53のYES)、入力値候補取得部32は、第1の参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先構成列の項目に物理名が設定されているカラムを特定する。ここで、入力値候補取得部32によって特定されたカラムは、第1の参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先テーブルの項目に設定されているテーブル(つまり、対象外部キー参照先テーブル)において主キーであるカラムである。以下、対象外部キー参照先テーブルは、第2のテーブルであるものとする。
【0239】
次に、入力値候補取得部32は、特定されたカラムから構成されるテーブルを示すテーブル情報(ここでは、第2のテーブル情報)に含まれるテーブル定義情報に含まれる当該カラムの桁(の項目に設定されている値)が2以上であるか否かを判定する(ステップS54)。
【0240】
カラムの桁が2以上でない、つまり、1であると判定された場合(ステップS54のNO)、入力値候補取得部32は、チェックボックス、ラジオボタン、コンボボックスおよびリストボックスを参照時の表示形式の入力値の候補として取得する(ステップS55)。
【0241】
一方、カラムの桁が2以上であると判定された場合(ステップS54のYES)、入力値候補取得部32は、ポップアップを参照時の表示形式の入力値の候補として取得する(ステップS56)。
【0242】
ステップS55またはS56の処理が実行されると、入力値候補取得部32は、ステップS51において取得されたテーブル情報(第1および第2のテーブル情報)によって示されるテーブルにおける全ての外部キー(つまり、当該第1および第2のテーブル情報において設定されている全ての外部キー)について上記したステップS53以降の処理が実行されたか否かを判定する(ステップS57)。
【0243】
全ての外部キーについて処理が実行されていないと判定された場合(ステップS57のNO)、上記したステップS53に戻って処理が繰り返される。この場合、ステップS53以降の処理が実行されていない外部キーを対象外部キーとして処理が実行される。
【0244】
一方、全ての外部キーについて処理が実行されたと判定された場合(ステップS57のYES)、入力値候補取得部32は、上記したステップS55およびS56において取得された参照時の表示形式の入力値の候補があるか否かを判定する(ステップS58)。
【0245】
参照時の表示形式の入力値の候補があると判定された場合(ステップS58のYES)、入力値候補取得部32は、当該参照時の表示形式の入力値の候補を入力値決定部33に対して出力する(ステップS59)。
【0246】
一方、参照時の表示形式の入力値の候補がないと判定された場合(ステップS58のNO)、ステップS59の処理は実行されない。
【0247】
また、上記したステップS53において参照時の表示形式がnullでないと判定された場合、ステップS54〜S56の処理は実行されず、ステップS57の処理が実行される。
【0248】
上記したように第4の入力値候補取得処理においては、対象外部キーの外部キー参照先構成列のカラム(当該外部キー参照先構成列の項目に物理名が設定されているカラム)の桁数に基づいて参照時の表示形式の入力値の候補が取得される。
【0249】
例えば、対象外部キー参照先テーブルが図4に示す第2のテーブル情報222によって示される第2のテーブルであり、対象外部キーの外部キー参照先構成列の項目に「deptno」が設定されていた場合には、当該第2のテーブル情報222の第2のテーブル定義情報222aに含まれる物理名が「deptno」であるカラム(つまり、「部署番号」カラム)の桁数は2以上であるため、ポップアップが参照時の表示形式の入力値の候補として取得される。
【0250】
このように入力値候補取得部32によって取得された参照時の表示形式の入力値の候補は、入力値決定部33に対して出力される。
【0251】
ここで、図27は、入力値決定部33に対して出力される参照時の表示形式の入力値の候補のデータ構造の一例を示す。
【0252】
図27に示すように、入力値決定部33に対して出力される参照時の表示形式の入力値の候補(参照時の表示形式入力値候補)には、上記した図26に示すステップS55またはS56において取得された参照時の表示形式の候補(チェックボックス、ラジオボタン、コンボボックス、リストボックスまたはポップアップ)が表示形式として含まれる。また、入力値決定部33に対して出力される参照時の表示形式の入力値の候補には、表示形式に加えて、テーブル名、テーブルIDおよび外部キー名が含まれる。
【0253】
テーブル名は、対象外部キーのカラムから構成されるテーブルのテーブル名である。テーブルIDは、対象外部キーのカラムから構成されるテーブルを識別するための識別子である。外部キー名は、対象外部キーの外部キー名である。
【0254】
参照時の表示形式の入力値の候補に含まれるテーブル名、テーブルIDおよび外部キー名は、上記した第4の入力値候補取得処理において取得されたテーブル情報(第1および第2のテーブル情報)から取得される。
【0255】
図27に示す例では、入力値決定部33に対して出力される参照時の表示形式の入力値の候補には、参照時の表示形式入力値候補1〜4が含まれる。
【0256】
なお、図27に示す参照時の表示形式入力値候補1〜4は、例えば図3に示す第1の参照先テーブル定義情報221bに含まれる外部キー参照先テーブルの項目に第2のテーブルが設定されており、外部キー参照先構成列の項目に図4に示す第2のテーブル定義情報222aに含まれる「部署番号」カラムの物理名「deptno」が設定されている場合に第4の入力値候補取得処理において出力される参照時の表示形式の入力値の候補(ここでは、ポップアップ、チェックボックス、ラジオボタン、コンボボックスおよびリストボックス)の一例である。
【0257】
図27に示す例では、参照時の表示形式入力値候補1には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示形式「ポップアップ」が含まれている。これによれば、参照時の表示形式入力値候補1は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)がポップアップであることを示している。
【0258】
また、参照時の表示形式入力値候補2には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示形式「ポップアップ」が含まれている。これによれば、参照時の表示形式入力値候補1は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)がポップアップであることを示している。
【0259】
また、参照時の表示形式入力値候補3には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示形式「ポップアップ」が含まれている。これによれば、参照時の表示形式入力値候補1は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)がポップアップであることを示している。
【0260】
また、参照時の表示形式入力値候補4には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示形式「ポップアップ」が含まれている。これによれば、参照時の表示形式入力値候補1は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示形式の項目に設定すべき値の候補(参照時の表示形式の入力値の候補)がポップアップであることを示している。
【0261】
これらの例では、外部キー名が「deptno」であるため参照時の表示形式の候補は「ポップアップ」であるが、外部キー名が他のものであれば、参照時の表示形式の候補として、ポップアップ以外のチェックボックス、ラジオボタン、コンボボックスおよびリストボックスも示されることになる。
【0262】
上記した図27に示す形式の参照時の表示形式の入力値の候補が入力値決定部33に対して出力されると、入力値決定部33は、当該参照時の表示形式の入力値の候補を選択するための画面(以下、第4の入力値選択画面と表記)を表示する。
【0263】
ここで、図28は、第4の入力値候補選択画面(参照時の表示形式入力値候補選択画面)の一例を示す。第4の入力値候補選択画面430には、例えばテーブル名およびテーブルIDが表示される。この第4の入力値候補選択画面430に表示されるテーブル名およびテーブルIDは、上記した図27に示す入力値決定部33に対して出力された参照時の表示形式の入力値の候補に含まれるテーブル名およびテーブルIDである。
【0264】
また、第4の入力値候補選択画面430においては、対象外部キーの外部キー名に対応づけてプルダウン431が設けられている。この第4の入力値候補選択画面430に設けられているプルダウン431には、例えば図29に示すように参照時の表示形式の入力値の候補(ここでは、ポップアップ)が設定されている。
【0265】
これにより、ユーザは、第4の入力値候補選択画面430を介して、参照時の表示形式の入力値の候補(つまり、参照時の表示形式の項目に設定すべき値の候補)の中から実際に入力値とすべき候補を選択することができる。
【0266】
また、第4の入力値候補選択画面430には、設定ボタン432が設けられている。ユーザが第4の入力値候補選択画面430に設けられているプルダウン431において所望の参照時の表示形式の入力値の候補を選択し、設定ボタン432を指定(押下)すると、当該選択された参照時の表示形式の入力値の候補が入力値として決定され、当該入力値が入力情報反映部34によって入力情報ファイル22に反映される。
【0267】
この場合、入力情報反映部34は、入力情報ファイル22に設定されているテーブル情報(上記した参照時の表示形式の入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報)の参照先テーブル定義情報に含まれる対象外部キーの参照時の表示形式の項目に、入力値として決定された表示形式(ここでは、ポップアップ)を設定する。
【0268】
次に、図30のフローチャートを参照して、第5の入力値候補取得処理の処理手順について説明する。
【0269】
第5の入力値候補取得処理は、上記したように第5のルール(参照時の表示項目候補取得ルール)を用いた場合の入力値候補取得処理である。この第5の入力値候補取得処理においては、第5のルールに基づいて、入力情報ファイル22に設定されているテーブル情報の参照先テーブル定義情報に含まれる参照時の表示項目の項目に設定すべき値の候補(参照時の表示項目の入力値の候補)が取得される。なお、参照先テーブル定義情報に含まれる参照時の表示項目の項目には、当該参照先テーブル定義情報に含まれる外部キー参照先テーブルの項目に設定されているテーブル(外部キー参照先テーブル)の参照時に表示される項目(表示項目)が設定される。
【0270】
なお、第5の入力値候補取得処理が実行される際、入力情報ファイル22に設定されているテーブル情報によって示されるテーブルにおいて外部キーが設定されている場合には当該テーブル情報の参照先テーブルテーブル定義情報に含まれる外部キー名、外部キー参照先テーブル、外部キー参照先構成列および参照時の表示形式の項目に値が設定されているものとする。
【0271】
まず、入力値候補取得部32は、入力情報取得部31によって取得された第1および第2のテーブル情報を、当該入力情報取得部31から取得する(ステップS61)。
【0272】
入力値候補取得部32は、入力値候補取得ルール保持部23に保持されているルールに含まれる第5のルール(参照時の表示項目候補取得ルール)を取得する(ステップS62)。以下に説明するステップS63〜S67の処理は、この第5のルールに基づいて実行される。なお、第5のルールの内容は上述した図11において説明した通りであるため、ここではその詳しい説明を省略する。
【0273】
次に、入力値候補取得部32は、ステップS61において取得されたテーブル情報(ここでは、第1および第2のテーブル情報)によって示されるテーブルにおける外部キー(当該第1および第2のテーブル情報の参照先テーブル定義情報に含まれる外部キー名)の各々について以下のステップS63以降の処理を実行する。以下、この処理の対象となる外部キーを対象外部キーとする。ここでは、対象外部キーは、第1のテーブルにおける外部キーであるものとする。
【0274】
入力値候補取得部32は、ステップS61において取得された第1のテーブル情報に含まれる参照先テーブル定義情報(第1の参照先テーブル定義情報)を参照して、対象外部キーの参照時の表示形式の項目にポップアップが設定されているか否かを判定する(ステップS63)。
【0275】
参照時の表示形式の項目にポップアップが設定されていると判定された場合(ステップS63)、入力値候補取得部32は、第1の参照先テーブル定義情報を参照して、対象外部キーの参照時の表示項目(の項目)がnullであるか否かを判定する(ステップS64)。
【0276】
参照時の表示項目がnullであると判定された場合(ステップS64のYES)、入力値候補取得部32は、第1の参照先テーブル定義情報に含まれる対象外部キーの外部キー参照先テーブルの項目に設定されているテーブル(対象外部キー参照先テーブル)を示すテーブル情報に基づいて、当該対象外部キー参照先テーブルを構成するカラムの中から排他制御用のカラムでないカラムを特定する(ステップS65)。以下、対象外部キー参照先テーブルは、第2のテーブルであるものとする。この場合、入力値候補取得部32は、対象外部キー参照先テーブルである第2のテーブルを示す第2のテーブル情報に含まれる当該第2のテーブルを構成するカラムの各々の排他制御の項目がnullであるか否かを判定することによって、排他制御用のカラムでないカラムを特定する。
【0277】
入力値候補取得部32は、特定されたカラムの物理名を参照時の表示項目の入力値の候補として取得する(ステップS66)。入力値候補取得部32によって特定されたカラムの物理名は、第2のテーブルを示す第2のテーブル情報に含まれるテーブル定義情報(第2のテーブル定義情報)から取得される。
【0278】
入力値候補取得部32は、ステップS61において取得されたテーブル情報(第1および第2のテーブル情報)によって示されるテーブルにおける全ての外部キー(つまり、当該第1および第2のテーブル情報において設定されている全ての外部キー)について上記したステップS63以降の処理が実行されたか否かを判定する(ステップS67)。
【0279】
全ての外部キーについて処理が実行されていないと判定された場合(ステップS67のNO)、上記したステップS63に戻って処理が繰り返される。この場合、ステップS63以降の処理が実行されていない外部キーを対象外部キーとして処理が実行される。
【0280】
一方、全ての外部キーについて処理が事項されたと判定された場合(ステップS67のYES)、入力値候補取得部32は、上記したステップS66において取得された参照時の表示項目の入力値の候補があるか否かを判定する(ステップS68)。
【0281】
参照時の表示項目の入力値の候補があると判定された場合(ステップS68のYES)、入力値候補取得部32は、当該参照時の表示項目の入力値の候補を入力値決定部33に対して出力する(ステップS69)。
【0282】
一方、参照時の表示項目の入力値の候補がないと判定された場合(ステップS68のNO)、ステップS69の処理は実行されない。
【0283】
また、上記したステップS63において参照時の表示形式の項目にポップアップが設定されていないと判定された場合およびステップS64において参照時の表示項目がnullでないと判定された場合、ステップS67の処理が実行される。
【0284】
上記したように第5の入力値候補取得処理においては、対象外部キーによって参照されるテーブル(対象外部キー参照先テーブル)を構成する複数のカラムのうちの排他制御用のカラムでないカラムの物理名が参照時の表示項目の入力値の候補として取得される。
【0285】
例えば、対象外部キー参照テーブルが図4に示す第2のテーブル情報222によって示される第2のテーブルである場合には、当該第2のテーブルを構成する複数のカラムのうちの当該第2のテーブル定義情報222aに含まれる排他制御の項目に「○」が設定されていないカラムの物理名「deptno」、「dname」および「loc」が参照時の表示項目の入力値の候補として取得される。
【0286】
このように入力値候補取得部32によって取得された参照時の表示項目の入力値の候補は、入力値決定部33に対して出力される。
【0287】
ここで、図31は、入力値決定部33に対して出力される参照時の表示項目の入力値の候補のデータ構造の一例を示す。
【0288】
図31に示すように、入力値決定部33に対して出力される参照時の表示項目の入力値の候補(参照時の表示項目入力値候補)には、上記した図30に示すステップS66において取得された参照時の表示項目の候補(対象外部キー参照先テーブルを構成する複数のカラムのうちの排他制御用のカラムでないカラムの物理名)が表示項目として含まれる。また、入力値決定部33に対して出力される参照時の表示項目の入力値の候補には、表示項目に加えて、テーブル名、テーブルIDおよび外部キー名が含まれる。
【0289】
テーブル名は、対象外部キーのカラムから構成されるテーブルのテーブル名である。テーブルIDは、対象外部キーのカラムから構成されるテーブルを識別するための識別子である。外部キー名は、対象外部キーの外部キー名である。
【0290】
参照時の表示形式の入力値の候補に含まれるテーブル名、テーブルIDおよび外部キー名は、上記した第5の入力値候補取得処理において取得されたテーブル情報(第1および第2のテーブル情報)から取得される。
【0291】
図31に示す例では、入力値決定部33に対して出力される参照時の表示項目の入力値の候補には、参照時の表示項目入力値候補1〜3が含まれる。
【0292】
なお、図31に示す参照時の表示項目入力値候補1〜3は、例えば図3に示す第1の参照先テーブル定義情報221bに含まれる外部キー参照先テーブルの項目に第2のテーブルが設定されている場合に第5の入力値候補取得処理において出力される参照時の表示形式の入力値の候補の一例である。
【0293】
図31に示す例では、参照時の表示項目入力値候補1には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示項目「deptno」が含まれている。これによれば、参照時の表示項目入力値候補1は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示項目に設定すべき値の候補(参照時の表示項目の候補)が「deptno」であることを示している。
【0294】
また、参照時の表示項目入力値候補2には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示項目「dname」が含まれている。これによれば、参照時の表示項目入力値候補2は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示項目に設定すべき値の候補(参照時の表示項目の候補)が「dname」であることを示している。
【0295】
また、参照時の表示項目入力値候補3には、テーブル名「従業員テーブル」、テーブルID「emp」、外部キー名「deptno」および表示項目「loc」が含まれている。これによれば、参照時の表示項目入力値候補3は、対象外部キー(ここでは、外部キー名が「deptno」である外部キー)の参照時の表示項目に設定される値の候補(参照時の表示項目の候補)が「loc」であることを示している。
【0296】
上記した図31に示す形式の参照時の表示項目の入力値の候補が入力値決定部33に対して出力されると、入力値決定部33は、当該参照時の表示形式の入力値の候補を選択するための画面(以下、第5の入力値選択画面と表記)を表示する。
【0297】
ここで、図32は、第5の入力値候補選択画面(参照時の表示項目入力値候補選択画面)の一例を示す。
【0298】
第5の入力値候補選択画面440においては、対象外部キーの外部キー名に対応づけてプルダウン441が設けられている。なお、プルダウン441は、検索条件および一覧表示の各々について設けられている。この第5の入力値候補選択画面440に設けられているプルダウン441には、例えば図33に示すように参照時の表示項目の入力値の候補(ここでは、「deptno」、「dname」および「loc」)が設定されている。なお、図33に示すように、第5の入力値候補選択画面440に設けられているプルダウン441には、空欄が設定されており、検索条件のみには「なし」についても設定されている(一覧表示には「なし」は設定されていない)。
【0299】
これにより、ユーザは、第5の入力値候補選択画面440を介して、参照時の表示項目の入力値の候補(つまり、参照時の表示項目の項目に設定すべき値の候補)の中から実際に入力値とすべき候補を選択することができる。
【0300】
第5の入力値候補選択画面440には、設定ボタン442が設けられている。ユーザが第5の入力値候補選択画面440に設けられているプルダウン441において所望の参照時の表示項目の入力値の候補を選択し、設定ボタン442を指定(押下)すると、当該選択された参照時の表示項目の入力値の候補が入力値として決定され、当該入力値が入力情報反映部34によって入力情報ファイル22に反映される。
【0301】
この場合、入力情報反映部34は、入力情報ファイル22に設定されているテーブル情報(上記した参照時の表示項目の入力値の候補に含まれるテーブルIDによって識別されるテーブルを示すテーブル情報)の参照先テーブル情報に含まれる対象外部キーの参照時の表示項目の項目(に含まれる検索条件および一覧表示の項目)に、入力値として決定された表示項目(ここでは、「(空欄)」、「なし」、「deptno」、「dname」または「loc」)を設定する。
【0302】
なお、参照時の表示項目に関しては複数の値を設定することができる。このため、第5の入力値候補選択画面440においては、プルダウン追加ボタン443およびプルダウン削除ボタン444が設けられている。このプルダウン追加ボタン443がユーザによって指定(押下)されると、プルダウン441が1つ追加される。これにより、複数の参照時の表示項目に設定される値を複数選択することができる。一方、プルダウン削除ボタン444がユーザによって指定(押下)されると、プルダウン441が1つ削除される。
【0303】
上記したように本実施形態においては、入力情報ファイル22に設定されている複数のテーブル情報が取得され、当該複数のテーブル情報および入力値候補取得ルール保持部23に保持されているルール(例えば、第1のルール)に基づいて当該入力情報ファイル22に設定すべき値(入力値)の候補が取得される。
【0304】
具体的には、本実施形態においては、入力情報ファイル22に設定されている複数のテーブル情報(例えば、第1および第2のテーブル情報)のうちの第1のテーブル情報によって示されるテーブル(第1のテーブル)を構成する複数のカラムのうちの1つである対象カラムが当該第1のテーブルにおいて主キーでない場合、当該第1のテーブルにおいて主キーであるカラムが当該第1のテーブルにおける外部キーの候補として取得される。
【0305】
また、本実施形態においては、例えば第1のテーブル情報によって示される第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが当該第1のテーブルにおいて主キーでない場合、当該第1のテーブルとは異なるテーブル(例えば、第2のテーブル)を構成する複数のカラムのうち当該第2のテーブルにおいて主キーであるカラムが当該第2のテーブルを示す第2のテーブル情報に含まれる主キー情報(主キーの項目に設定されている値)に基づいて特定され、当該対象カラムのカラム名および当該特定されたカラムのカラム名が同一である場合には、当該第2のテーブルにおいて主キーであるカラムが第1のテーブルにおける外部キーの候補として取得される。
【0306】
本実施形態においては、上記したように取得された外部キーの候補(外部キーの入力値の候補)がユーザに対して提示される。
【0307】
これにより、本実施形態においては、ユーザは提示された外部キーの候補の中から外部キー(実際に入力情報ファイル22に外部キーとして設定すべきカラム)を選択することが可能となるため、アプリケーションの自動生成に必要な情報の設定を支援することが可能となる。また、本実施形態においては、ユーザの操作に応じて決定された外部キー(を示す外部キー情報)を自動的に入力情報ファイル22に設定(反映)することができる。
【0308】
また、本実施形態においては、上記したように外部キーが入力情報ファイル22に設定された場合、外部キー名、外部キー参照先テーブルおよび外部キー参照先構成列の項目についても自動的に適切な値を入力情報ファイル22に設定することができる。
【0309】
また、本実施形態においては、外部キー参照先構成列として入力情報ファイル22に設定されたカラムの桁数に基づいて外部キー参照先テーブルとして入力情報ファイル22(の外部キー参照先テーブルの項目)に設定されたテーブルの表示形式の候補が取得され、当該取得された表示形式の候補がユーザに対して提示される。これにより、本実施形態においては、ユーザの操作に応じて、提示された表示形式の候補を、外部キー参照先テーブルの表示形式(入力情報ファイル22に設定すべき表示形式)として決定し、当該決定された表示形式を入力情報ファイル22に設定することができる。
【0310】
また、本実施形態においては、外部キー参照先テーブルとして入力情報ファイル22(の外部キー参照先テーブルの項目)に設定されたテーブルを構成する複数のカラムのうちの排他制御用のカラムでないカラムが当該テーブルの表示項目の候補として取得され、当該取得された表示項目の候補がユーザに対して提示される。これにより、本実施形態においては、ユーザの操作に応じて、提示された表示項目の候補を、外部キー参照先テーブルの表示項目(入力情報ファイル22に設定すべき表示項目)として決定し、当該決定された表示項目を入力情報ファイル22に設定することができる。
【0311】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【0312】
10…コンピュータ、20…外部記憶装置、22…入力情報ファイル、23…入力値候補取得ルール保持部、30…設定情報入力支援装置、31…入力情報取得部、32…入力値候補取得部、33…入力値決定部、34…入力情報反映部。

【特許請求の範囲】
【請求項1】
アプリケーションを自動生成するために必要な情報の設定を支援する設定情報入力支援装置において、
前記アプリケーションにおいて用いられる複数のカラムから構成される第1のテーブルを示す第1のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第1のテーブル情報と、前記アプリケーションにおいて用いられる複数のカラムから構成される第2のテーブルを示す第2のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第2のテーブル情報とを含む複数のテーブル情報が設定されている入力情報ファイルと、
前記入力情報ファイルに設定されている複数のテーブル情報を取得するテーブル情報取得手段と、
前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第1のテーブル情報に含まれる主キー情報に基づいて、当該第1のテーブル情報によって示される第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが主キーであるかを判定する第1の判定手段と、
前記対象カラムが主キーでないと前記第1の判定手段によって判定された場合、当該対象カラムから構成される第1のテーブルを構成する複数のカラムのうち当該第1のテーブルにおいて主キーであるカラムを、前記第1のテーブル情報に含まれる主キー情報に基づいて特定する第1の特定手段と、
前記第1の特定手段によって特定されたカラムを前記第1のテーブルにおける外部キーの候補として取得する第1の外部キー候補取得手段と、
前記対象カラムが主キーでないと前記第1の判定手段によって判定された場合、当該対象カラムから構成される第1のテーブル以外の第2のテーブルを構成する複数のカラムのうち当該第2のテーブルにおいて主キーであるカラムを、前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第2のテーブル情報に含まれる主キー情報に基づいて特定する第2の特定手段と、
前記第1のテーブル情報に含まれる前記対象カラムのカラム名および前記第2のテーブル情報に含まれる前記第2の特定手段によって特定されたカラムのカラム名が同一であるかを判定する第2の判定手段と、
前記対象カラムのカラム名および前記第2の特定手段によって特定されたカラムのカラム名が同一であると前記第2の判定手段によって判定された場合、当該第2の特定手段によって特定されたカラムを前記第1のテーブルにおける外部キーの候補として取得する第2の外部キー候補取得手段と、
前記第1および第2の外部キー候補取得手段によって外部キーの候補として取得されたカラムを提示する提示手段と
を具備することを特徴とする設定情報入力支援装置。
【請求項2】
ユーザの操作に応じて、前記提示されたカラムを前記第1のテーブルにおける外部キーとして決定する決定手段と、
前記決定されたカラムを外部キーとして前記入力情報ファイルに設定する設定手段と
を更に具備することを特徴とする請求項1記載の設定情報入力支援装置。
【請求項3】
前記設定手段は、
前記提示されたカラムのうち前記第1の外部キー候補取得手段によって取得されたカラムが前記外部キーとして決定された場合、前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第1のテーブル情報に含まれる当該カラムのカラム名を外部キー名として前記入力情報ファイルに設定し、当該第1のテーブル情報によって示される第1のテーブルを当該外部キーによって参照される外部キー参照先テーブルとして前記入力情報ファイルに設定し、当該外部キー参照先テーブルとして前記入力情報ファイルに設定された第1のテーブルを構成する複数のカラムのうち当該第1のテーブルにおいて主キーであるカラムを外部キー参照先構成列として前記入力情報ファイルに設定し、
前記提示されたカラムのうち前記第2の外部キー候補取得手段によって取得されたカラムが前記外部キーとして決定された場合、前記テーブル情報取得手段によって取得された複数のテーブル情報のうちの第2のテーブル情報に含まれる当該カラムのカラム名を外部キー名として前記入力情報ファイルに設定し、当該第2のテーブル情報によって示される第2のテーブルを当該外部キーによって参照される外部キー参照先テーブルとして前記入力情報ファイルに設定し、当該外部キー参照先テーブルとして前記入力情報ファイルに設定された第2のテーブルを構成する複数のカラムのうち当該第2のテーブルにおいて主キーであるカラムを外部キー参照先構成列として前記入力情報ファイルに設定する
ことを特徴とする請求項2記載の設定情報入力支援装置。
【請求項4】
表示形式候補取得手段を更に具備し、
前記入力情報ファイルに設定されている第1のテーブル情報は、当該第1のテーブル情報によって示される第1のテーブルを構成するカラムの各々の桁数を更に含み、
前記入力情報ファイルに設定されている第2のテーブル定義情報は、当該第2のテーブル情報によって示される第2のテーブルを構成するカラムの各々の桁数を更に含み、
前記表示形式候補取得手段は、前記第1または第2のテーブル情報に含まれる前記設定手段によって外部キー参照先構成列として前記入力情報ファイルに設定されたカラムの桁数に基づいて、前記設定手段によって外部キー参照先テーブルとして前記入力情報ファイルに設定された第1または第2のテーブルの表示形式の候補を取得し、
前記出力手段は、前記表示形式候補取得手段によって取得された表示形式の候補を更に出力し、
前記決定手段は、前記ユーザの操作に応じて、前記出力された表示形式の候補を、前記外部キー参照先テーブルとして前記入力情報ファイルに設定された前記第1または第2のテーブルの表示形式として決定し、
前記設定手段は、前記決定された表示形式を前記入力情報ファイルに設定する
ことを特徴とする請求項3記載の設定情報入力支援装置。
【請求項5】
表示項目候補取得手段を更に具備し、
前記入力情報ファイルに設定されている第1のテーブル情報は、当該第1のテーブル情報によって示される第1のテーブルを構成するカラムの各々が排他制御用のカラムであるか否かを示す排他制御情報を更に含み、
前記入力情報ファイルに設定されている第2のテーブル情報は、当該第2のテーブル情報によって示される第2のテーブルを構成するカラムの各々が排他制御用のカラムであるか否かを示す排他制御情報を更に含み、
前記表示項目候補取得手段は、前記第1または第2のテーブル情報に含まれる排他制御情報に基づいて、前記設定手段によって外部キー参照先テーブルとして前記入力情報ファイルに設定された第1または第2のテーブルを構成する複数のカラムのうち排他制御用のカラムでないカラムを当該第1または第2のテーブルの表示項目の候補として取得し、
前記出力手段は、前記表示項目候補取得手段によって取得された表示項目の候補を更に出力し、
前記決定手段は、前記ユーザの操作に応じて、前記出力された表示項目の候補を、前記外部キー参照先テーブルとして前記入力情報ファイルに設定された第1または第2のテーブルの表示項目として決定し、
前記設定手段は、前記決定された表示項目を前記入力情報ファイルに設定する
ことを特徴とする請求項4記載の設定情報入力支援装置。
【請求項6】
アプリケーションにおいて用いられる複数のカラムから構成される第1のテーブルを示す第1のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第1のテーブル情報と、前記アプリケーションにおいて用いられる複数のカラムから構成される第2のテーブルを示す第2のテーブル情報であって当該カラムの各々が主キーであるか否かを示す主キー情報および当該カラムの各々のカラム名を含む第2のテーブル情報とを含む複数のテーブル情報が設定されている入力情報ファイルを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される設定情報入力支援装置において、前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記入力情報ファイルに設定されている複数のテーブル情報を取得するステップと、
前記取得された複数のテーブル情報のうちの第1のテーブル情報に含まれる主キー情報に基づいて、当該第1のテーブル情報によって示される第1のテーブルを構成する複数のカラムのうちの1つである対象カラムが主キーであるかを判定するステップと、
前記対象カラムが主キーでないと判定された場合、当該対象カラムから構成される第1のテーブルを構成する複数のカラムのうち当該第1のテーブルにおいて主キーであるカラムを、前記第1のテーブル情報に含まれる第1の主キー情報に基づいて特定するステップと、
前記特定されたカラムを前記第1のテーブルにおける外部キーの候補として取得するステップと、
前記対象カラムが主キーでないと判定された場合、当該対象カラムから構成される第1のテーブル以外の第2のテーブルを構成する複数のカラムのうち当該第2のテーブルにおいて主キーであるカラムを、前記取得された複数のテーブル情報のうちの第2のテーブル情報に含まれる主キー情報に基づいて特定するステップと、
前記第1のテーブル情報に含まれる前記対象カラムのカラム名および第2のテーブル情報に含まれる前記特定された第2のテーブルにおいて主キーであるカラムのカラム名が同一であるかを判定するステップと、
前記対象カラムのカラム名および前記特定された第2のテーブルにおいて主キーであるカラムのカラム名が同一であると判定された場合、当該特定された第2のテーブルにおいて主キーであるカラムを前記第1のテーブルにおける外部キーの候補として取得するステップと、
前記外部キーの候補として取得されたカラムを提示するステップと
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate


【公開番号】特開2013−77218(P2013−77218A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−217615(P2011−217615)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】