(57)【要約】【課題】アプリケーションの自動生成に必要な情報の設定を支援することを可能とする。【解決手段】データベース２３には、カラムによって構成されるテーブルを示すテーブル情報が予め格納される。テーブル定義情報取得部３２は、データベース２３に格納されているテーブル情報のうちのアプリケーションにおいて用いられるテーブルを示すテーブル情報に基づいて、カラムによって構成される当該テーブルの構造を定義するテーブル定義情報を取得する。入力情報決定部３４は、テーブル定義情報取得部３２によって取得されたテーブル定義情報に基づいて、アプリケーションを自動生成するために必要な情報を決定する。入力情報設定部３５は、入力情報決定部３４によって決定されたアプリケーションを自動生成するために必要な情報を、入力情報ファイル２２に設定する。【選択図】図２
2012038103.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを自動生成するために必要な情報が設定される入力情報ファイルとカラムによって構成されるテーブルを示すテーブル情報を予め格納するデータベースとを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される設定情報入力支援装置において、前記コンピュータによって実行される設定情報入力支援プログラムであって、
前記コンピュータに、
前記データベースに格納されているテーブル情報のうちの前記アプリケーションにおいて用いられるテーブルを示すテーブル情報に基づいて、カラムによって構成される当該テーブルの構造を定義するテーブル定義情報を取得するステップと、
前記取得されたテーブル定義情報によって定義されるテーブルの構造に基づいて、前記アプリケーションを自動生成するために必要な情報を決定するステップと、
前記決定された前記アプリケーションを自動生成するために必要な情報を、前記入力情報ファイルに設定するステップと
を実行させるための設定情報入力支援プログラム。
【請求項２】
前記データベースは、カラムによって構成されるテーブルを示すテーブル情報であって、当該カラムを示すカラム情報および当該テーブルと他のテーブルとを関連付けるための外部キーであるカラムが定義された外部キー情報を含むテーブル情報を格納し、
前記取得するステップにおいて、前記アプリケーションにおいて用いられるテーブルを示すテーブル情報に含まれるカラム情報および外部キー情報を含むテーブル定義情報を取得し、
前記決定するステップにおいて、前記取得されたテーブル定義情報に含まれるカラム情報および外部キー情報に基づいて、前記アプリケーションのタイプおよび当該外部キー情報によって外部キーとして定義されているカラムの依存関係を決定し、
前記設定するステップにおいて、前記決定されたアプリケーションのタイプおよびカラムの依存関係を前記入力情報ファイルに設定する
ことを特徴とする請求項１記載の設定情報入力支援プログラム。
【請求項３】
前記コンピュータに、前記データベースに格納されているテーブル情報のうちの前記アプリケーションにおいて用いられるテーブルを示すテーブル情報に基づいて、当該テーブルを構成するカラムに関するテーブル統計情報を取得するステップを更に実行させ、
前記決定するステップにおいて、前記取得されたテーブル定義情報および前記取得されたテーブル統計情報に基づいて、前記アプリケーションにおいて用いられるテーブルを構成するカラムをオートコンプリートの対象として更に決定し、
前記設定するステップにおいて、前記アプリケーションにおいて用いられるテーブルを構成するカラムがオートコンプリートの対象として決定された場合、当該カラムがオートコンプリートの対象である旨を前記入力情報ファイルに更に設定する
ことを特徴とする請求項２記載の設定情報入力支援プログラム。
【請求項４】
前記コンピュータに、
ユーザの操作に応じて、前記取得されたテーブル定義情報によって構造が定義されるテーブルを構成するカラムのカラム名を前記入力情報ファイルに設定するステップと、
前記入力情報ファイルに設定されたカラム名を、前記取得されたテーブル定義情報に反映するステップと
を更に実行させ、
前記決定するステップにおいて、前記取得されたテーブル定義情報に含まれるカラム情報および外部キー情報、当該テーブル定義情報に反映されたカラム名および前記取得されたテーブル統計情報に基づいて、当該外部キー情報によって外部キーとして定義されているカラムのラベル名を決定し、
前記設定するステップにおいて、前記決定されたラベル名を更に前記入力情報ファイルに設定する
ことを特徴とする請求項３記載の設定情報入力支援プログラム。
【請求項５】
アプリケーションを自動生成するために必要な情報が設定される入力情報ファイルと、
カラムによって構成されるテーブルを示すテーブル情報を予め格納するデータベースと、
前記データベースに格納されているテーブル情報のうちの前記アプリケーションにおいて用いられるテーブルを示すテーブル情報に基づいて、カラムによって構成される当該テーブルの構造を定義するテーブル定義情報を取得する取得手段と、
前記取得されたテーブル定義情報によって定義されるテーブルの構造に基づいて、前記アプリケーションを自動生成するために必要な情報を決定する決定手段と、
前記決定された前記アプリケーションを自動生成するために必要な情報を、前記入力情報ファイルに設定する設定手段と
を具備することを特徴とする設定情報入力支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの自動生成に必要な情報を設定する設定情報入力支援プログラムおよび設定情報入力支援装置に関する。
【背景技術】
【０００２】
近年、アプリケーションを自動生成するシステムが増加している。このようなシステムにおいて、アプリケーションを自動生成するためには、例えばデータベースのテーブル情報、カラム情報および当該自動生成されるアプリケーションのタイプ等の情報を設定する必要がある。
【０００３】
しかしながら、複雑なアプリケーションを自動生成するような場合には、当該アプリケーションの自動生成に必要な情報の全てをデータベースから取得できない場合がある。このような場合には、データベースから取得できない項目をユーザが設定しなければならず、当該ユーザにとっては手間がかかる。
【０００４】
したがって、アプリケーションの自動生成に必要な情報の設定を支援することで、ユーザの手間を軽減するような仕組みが必要となる。
【０００５】
これに関連して、例えばデータ項目の属性情報から入力チェック処理を行うプログラムを自動生成する技術（以下、先行技術と表記）が開示されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−５５９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記したように、先行技術によれば、データ項目の属性情報から入力チェック処理を行うプログラムを自動生成することができる。
【０００８】
しかしながら、この先行技術では、入力チェックに関する設定以外の設定を行うことはできない。
【０００９】
したがって、先行技術では、入力チェックに関する設定以外の必要な情報の設定を支援することはできない。
【００１０】
そこで、本発明の目的は、アプリケーションの自動生成に必要な情報の設定を支援することが可能な設定情報入力支援プログラムおよび設定情報入力支援装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の１つの態様によれば、アプリケーションを自動生成するために必要な情報が設定される入力情報ファイルとカラムによって構成されるテーブルを示すテーブル情報を予め格納するデータベースとを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される設定情報入力支援装置において、前記コンピュータによって実行される設定情報入力支援プログラムであって、前記コンピュータに、前記データベースに格納されているテーブル情報のうちの前記アプリケーションにおいて用いられるテーブルを示すテーブル情報に基づいて、カラムによって構成される当該テーブルの構造を定義するテーブル定義情報を取得するステップと、前記取得されたテーブル定義情報によって定義されるテーブルの構造に基づいて、前記アプリケーションを自動生成するために必要な情報を決定するステップと、前記決定された前記アプリケーションを自動生成するために必要な情報を、前記入力情報ファイルに設定するステップとを実行させるための設定情報入力支援プログラムが提供される。
【発明の効果】
【００１２】
本発明は、アプリケーションの自動生成に必要な情報の設定を支援することを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る設定情報入力支援装置のハードウェア構成を示すブロック図。
【図２】図１に示す設定情報入力支援装置３０の主として機能構成を示すブロック図。
【図３】図２に示すデータベース２３に格納されているテーブル情報のデータ構造の一例を示す図。
【図４】図２に示すルール保持部２６に保持されているルールの一例を示す図。
【図５】本実施形態に係る設定情報入力支援装置３０の処理手順を示すフローチャート。
【図６】入力情報ファイル２２に設定されたデータベース接続情報のデータ構造の一例を示す図。
【図７】テーブル定義情報保持部２４のデータ構造の一例を示す図。
【図８】テーブル統計情報保持部２５のデータ構造の一例を示す図。
【図９】入力情報決定部３４による第１の候補決定処理の処理手順を示すフローチャート。
【図１０】入力情報決定部３４による第１の候補決定処理の処理手順を示すフローチャート。
【図１１】入力情報決定部３４による第２の候補決定処理の処理手順を示すフローチャート。
【図１２】入力情報決定部３４による第３の候補決定処理の処理手順を示すフローチャート。
【図１３】入力情報設定部３５に対して出力される処理結果の一例を示す図。
【図１４】入力情報ファイル２２の具体例を示す図。
【図１５】入力情報ファイル２２の具体例を示す図。
【図１６】本発明の第２の実施形態におけるルール保持部２６に保持されているラベル用ルールの一例を示す図。
【図１７】本実施形態に係る設定情報入力支援装置３０の処理手順を示すフローチャート。
【図１８】図７に示すテーブル定義情報保持部２４に保持されているテーブル定義情報が反映された入力情報ファイル２２の一例を示す図。
【図１９】図１８に示す入力情報ファイル２２に対してユーザ設定項目が設定された後の入力情報ファイル２２の一例を示す図。
【図２０】入力情報ファイル２２の内容が反映されたテーブル定義情報の一例を示す図。
【図２１】入力情報決定部３４による第４の候補決定処理の処理手順を示すフローチャート。
【図２２】入力情報決定部３４による第４の候補決定処理の処理手順を示すフローチャート。
【図２３】入力情報設定部３５に対して出力される処理結果の一例を示す図。
【図２４】入力情報ファイル２２の具体例を示す図。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の各実施形態について説明する。
【００１５】
［第１の実施形態］
まず、図１および図２を参照して、本発明の第１の実施形態について説明する。図１は、本実施形態に係る設定情報入力支援装置のハードウェア構成を示すブロック図である。図１に示すように、コンピュータ１０は、例えばハードディスクドライブ（ＨＤＤ：Hard Disk Drive）のような外部記憶装置２０と接続されている。この外部記憶装置２０は、コンピュータ１０によって実行されるプログラム２１を格納する。コンピュータ１０および外部記憶装置２０は、設定情報入力支援装置３０を構成する。
【００１６】
設定情報入力支援装置３０は、例えばアプリケーションの自動生成に必要な情報の設定を支援するために用いられる。
【００１７】
図２は、図１に示す設定情報入力支援装置３０の主として機能構成を示すブロック図である。図２に示すように、設定情報入力支援装置３０は、入力部３１、テーブル定義情報取得部３２、テーブル統計情報取得部３３、入力情報決定部３４および入力情報設定部３５を含む。本実施形態において、これらの各部３１〜３５は、図１に示すコンピュータ１０が外部記憶装置２０に格納されているプログラム（設定情報入力支援プログラム）２１を実行することにより実現されるものとする。このプログラム２１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム２１が例えばネットワークを介してコンピュータ１０にダウンロードされても構わない。
【００１８】
また、設定情報入力支援装置３０は、入力情報ファイル２２、データベース２３、テーブル定義情報保持部２４、テーブル統計情報保持部２５およびルール保持部２６を含む。本実施形態において、入力情報ファイル２２、データベース２３、テーブル定義情報保持部２４、テーブル統計情報保持部２５およびルール保持部２６は、例えば外部記憶装置２０に格納される。
【００１９】
入力情報ファイル２２には、例えばアプリケーションを自動生成するために必要な情報が設定される。この入力情報ファイル２２に設定された情報は、例えばアプリケーションを自動生成する際に用いられる。
【００２０】
入力部３１は、設定情報入力支援装置３０を利用するユーザの操作に応じて、データベース２３に接続するための情報（以下、データベース接続情報と表記）を入力する。
【００２１】
なお、入力部３１によって入力されたデータベース接続情報は、入力情報ファイル２２に保持される。
【００２２】
データベース２３には、例えば複数のカラムによって構成されるテーブルを示すテーブル情報が予め格納される。なお、データベース２３には、複数のテーブル情報が格納される。
【００２３】
テーブル定義情報取得部３２は、データベース２３に格納されているテーブル情報のうちの自動生成されるアプリケーションにおいて用いられるテーブル（以下、対象テーブルと表記）を示すテーブル情報に基づいて、カラムによって構成される当該対象テーブルの構造を定義するテーブル定義情報を取得する。このテーブル定義情報には、対象テーブルを構成するカラムを示すカラム情報および当該対象テーブルと他のテーブルとを関連付けるための外部キーであるカラムが定義された外部キー情報が含まれる。
【００２４】
テーブル定義情報取得部３２は、入力情報ファイル２２に保持されたデータベース接続情報を用いて、テーブル定義情報を取得する。対象テーブルが複数存在する場合には、テーブル定義情報取得部３２は、当該対象テーブル毎のテーブル定義情報を取得する。
【００２５】
テーブル定義情報取得部３２によって取得されたテーブル定義情報には、例えば当該テーブル定義情報によって構造が定義されるテーブル（つまり、対象テーブル）を構成するカラムの各々が定義されたカラム情報、および当該テーブルと当該テーブルとは異なるテーブルとを関連付けるための外部キーであるカラムが定義された外部キー情報が含まれる。
【００２６】
テーブル定義情報取得部３２によって取得されたテーブル定義情報は、テーブル定義情報保持部２４に保持される。
【００２７】
テーブル統計情報取得部３３は、データベース２３に格納されているテーブル情報のうちの対象テーブルを示すテーブル情報に基づいて、当該対象テーブルを構成するカラムの各々に関するテーブル統計情報を取得する。テーブル統計情報取得部３３は、入力情報ファイル２２に保持されたデータベース接続情報を用いて、テーブル統計情報を取得する。
【００２８】
テーブル統計情報取得部３３によって取得されたテーブル統計情報には、例えば対象テーブルを構成するカラムの各々に登録されているデータの数および当該データの種類の数（を示す情報）等が含まれる。
【００２９】
テーブル統計情報取得部３３によって取得されたテーブル統計情報は、テーブル統計情報保持部２５に保持される。
【００３０】
ルール保持部２６は、後述するアプリケーションを自動生成するために必要な情報（入力情報）を決定するためのルールを予め保持する。ルール保持部２６に保持されるルールには、例えばアプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールが含まれる。このアプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールの詳細については後述する。
【００３１】
入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報およびテーブル統計情報保持部２５に保持されているテーブル統計情報に基づいて、アプリケーションを自動生成するために必要な情報を決定する。この場合、入力情報決定部３４は、ルール保持部２６に保持されているルールを参照して決定処理を実行する。
【００３２】
入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報およびルール保持部２６に保持されているアプリケーションタイプ用ルールに基づいて、自動生成されるアプリケーションのタイプ（以下、アプリケーションタイプと表記）を決定する。
【００３３】
また、入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報およびルール保持部２６に保持されている依存関係用ルールに基づいて、対象テーブルを構成するカラム（外部キーであるカラム）の依存関係を決定する。
【００３４】
また、入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報、テーブル統計情報保持部２５に保持されているテーブル統計情報およびルール保持部２６に保持されているオートコンプリート用ルールに基づいて、対象テーブルを構成するカラムをオートコンプリートの対象として決定する。
【００３５】
入力情報設定部３５は、入力情報決定部３４によって決定された情報（アプリケーションを自動生成するために必要な情報）を、入力情報ファイル２２に設定（反映）する。具体的には、入力情報設定部３５は、入力情報決定部３４によって決定されたアプリケーションタイプ、カラムの依存関係およびカラムがオートコンプリートの対象である旨を入力情報ファイル２２に設定する。
【００３６】
図３は、図２に示すデータベース２３に格納されているテーブル情報のデータ構造の一例を示す。
【００３７】
図３に示すように、テーブル情報には、テーブルＩＤ、当該テーブル情報によって示されるテーブルを構成するカラムを示す情報（カラム情報）および当該テーブルと他のテーブルとを関連付けるための外部キーの情報（外部キー情報）が含まれる。
【００３８】
テーブルＩＤは、テーブル情報によって示されるテーブルを識別するための識別子である。図３に示すテーブル情報には、テーブルＩＤ「emp」が含まれている。
【００３９】
カラム情報には、カラムＩＤ、型、桁、位取、Not Null、主キーおよび外部キー（を示す情報）が含まれる。カラムＩＤは、テーブルを構成するカラムを識別するための識別子である。Not Nullは、カラムＩＤによって識別されるカラムがNull（つまり、空）でないことを示す。主キーは、カラムＩＤによって識別されるカラムが主キーであることを示す。また、外部キーは、カラムＩＤによって識別されるカラムが外部キーであることを示す。
【００４０】
図３に示すテーブル情報に含まれるカラム情報には、例えばカラムＩＤ「empno」、型「number」、桁「４」、位取「０」、Not Null「○」および主キー「○」が含まれている。これによれば、カラムＩＤ「empno」によって識別されるカラムの型がnumberであり、桁が４であり、位取が０であることが示される。また、カラムＩＤ「empno」によって識別されるカラムは、Nullでなく、主キーであることが示される。なお、カラムＩＤ「empno」によって識別されるカラムは、外部キーではないことが示される。
【００４１】
外部キー情報には、外部キー名、外部キー参照先テーブルＩＤ、CASCADEおよび外部キー参照先構成列（を示す情報）が含まれる。外部キー名は、外部キー（であるカラム）の名称（例えば、当該カラムを識別するためのカラムＩＤ）を示す。外部キー参照先テーブルＩＤは、外部キーによって参照されるテーブル（当該外部キーによって関連付けられているテーブル）を識別するためのテーブルＩＤである。CASCADEは、外部キー（であるカラム）がCASCADEであることを示す。外部キー参照先構成列は、外部キーによって参照されるテーブルのカラムＩＤを示す。
【００４２】
図３に示すテーブル情報に含まれる外部キー情報には、例えば外部キー名「deptno」、外部キー参照先テーブルＩＤ「dept」および外部キー参照先構成列「deptno」が含まれている。これによれば、外部キー名が「deptno」である外部キーの参照先となるテーブルはテーブルＩＤ「dept」によって識別されるテーブルであり、当該外部キーによって参照されるテーブルのカラムＩＤが「deptno」であることが示される。また、外部キー名が「deptno」である外部キーはCASCADEでないことが示される。
【００４３】
なお、データベース２３には、テーブル毎に上記したようなテーブル情報が格納されている。
【００４４】
図４は、図２に示すルール保持部２６に保持されているルールの一例を示す。ルール保持部２６に保持されているルールとしては、上述したようにアプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールが予め用意されているものとする。
【００４５】
図４に示すルールにおいては、１行目〜４行目にアプリケーションタイプ用ルールが記述されている。アプリケーションタイプ用ルールにおいては、当該ルールの最初（つまり、１行目）に当該ルール名「アプリケーションタイプ用ルール」が記述されている。
【００４６】
また、アプリケーションタイプ用ルールにおいては、２行目〜４行目で当該ルール（の内容）が記述される。
【００４７】
図４に示すアプリケーションタイプ用ルールの２行目には、外部キーがなく、かつ、各テーブルに同じカラムＩＤ（のカラム）がない場合には排他制御なしのアプリケーションとすることが記述されている。
【００４８】
図４に示すアプリケーションタイプ用ルールの３行目には、外部キーがなく、かつ、各テーブルに同じカラムＩＤ（のカラム）があり、当該カラムが第１〜第３の条件を満たす場合には排他制御ありのアプリケーションとすることが記述されている。なお、第１の条件は、型がnumberであることである。第２の条件は、位取が０であることである。第３の条件は、主キーではないことである。
【００４９】
また、図４に示すアプリケーションタイプ用ルールの４行目には、外部キーがある場合にはテーブル関連のあるアプリケーションとすることが記述されている。
【００５０】
図４に示すルールにおいては、６行目〜９行目に依存関係用ルールが記述されている。依存関係用ルールにおいては、当該ルールの最初（つまり、６行目）に当該ルール名「依存関係用ルール」が記述されている。
【００５１】
また、依存関係用ルールにおいては、７行目〜９行目で当該ルール（の内容）が記述される。
【００５２】
図４に示す依存関係用ルールの７行目には、カラムが外部キーであり、Not Nullであり、かつ、CASCADEが設定されている場合には当該カラムの依存関係を親子とすることが記述されている。
【００５３】
図４に示す依存関係用ルールの８行目には、カラムが外部キーであり、Not Nullであり、かつ、CASCADEが設定されていない場合には当該カラムの依存関係を参照とすることが記述されている。
【００５４】
また、図４に示す依存関係用ルールの９行目には、カラムが外部キーであり、かつ、Not Nullでない場合には当該カラムの依存関係を参照とすることが記述されている。
【００５５】
図４に示すルールにおいては、１１行目および１２行目にオートコンプリート用ルールが記述されている。オートコンプリート用ルールにおいては、当該ルールの最初（つまり１１行目）に当該ルール名「オートコンプリート用ルール」が記述されている。
【００５６】
また、オートコンプリート用ルールにおいては、１２行目で当該ルール（の内容）が記述される。
【００５７】
図４に示すオートコンプリート用ルールの１２行目には、型がvarchar2であり、桁が５０以下であり、データベースのデータ（カラムに登録されているデータ）が全て同じでなく、かつ、当該データの種類が５０未満であるカラムをオートコンプリートの対象（候補）とすることが記述されている。
【００５８】
ここでは、アプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールについて説明したが、他のルールが予め用意されていても構わない。
【００５９】
次に、図５のフローチャートを参照して、本実施形態に係る設定情報入力支援装置３０の処理手順について説明する。
【００６０】
まず、入力部３１は、ユーザの操作に応じて、データベース接続情報を入力する（ステップＳ１）。
【００６１】
入力部３１によって入力されたデータベース接続情報は、入力情報ファイル２２に入力される。これにより、データベース接続情報は、入力情報ファイル２２に設定される（ステップＳ２）。
【００６２】
ここで、図６は、入力情報ファイル２２に設定されたデータベース接続情報のデータ構造の一例を示す。
【００６３】
図６に示すように、入力情報ファイル２２に設定されたデータベース接続情報には、データベース２３に接続するための情報として、例えばＤＢＭＳ（Database Management System）、サーバ名、ポート番号、データベース（ＤＢ）名、ユーザ名およびパスワード等の情報が含まれる。
【００６４】
図６に示すデータベース接続情報には、例えばＤＢＭＳ「xxxxxx」、サーバ名「server」、ポート番号「1521」、ＤＢ名「yyyy」、ユーザ名「scott」およびパスワード「tiger」が含まれている。
【００６５】
再び図５に戻ると、入力情報ファイル２２に設定されたデータベース接続情報を利用して、データベース２３からテーブルＩＤの一覧が取得される（ステップＳ３）。つまり、データベース２３に格納されているテーブル情報の各々に含まれるテーブルＩＤが取得される。
【００６６】
次に、ステップＳ３において取得されたテーブルＩＤの一覧がユーザに対して提示される。これにより、ユーザは、提示されたテーブルＩＤの一覧から、対象テーブル（つまり、自動生成されるアプリケーションにおいて用いられるテーブル）を選択することができる（ステップＳ４）。なお、ユーザは、対象テーブルとして複数のテーブルを選択することができる。
【００６７】
テーブル定義情報取得部３２は、データベース２３に格納されているテーブル情報のうちのユーザによって選択されたテーブルＩＤを含むテーブル情報（つまり、対象テーブルを示すテーブル情報）に基づいて、当該対象テーブルの構造を定義するテーブル定義情報を取得する（ステップＳ５）。この場合、テーブル定義情報取得部３２は、対象テーブルを示すテーブル情報に含まれる例えばカラム情報および外部キー情報を含むテーブル定義情報を取得する。なお、ユーザによって複数のテーブルＩＤが選択された場合、つまり、対象テーブルが複数存在する場合には、当該対象テーブル毎のテーブル定義情報が取得される。
【００６８】
テーブル定義情報取得部３２によって取得されたテーブル定義情報は、テーブル定義情報保持部２４に保持される。
【００６９】
ここで、図７は、テーブル定義情報保持部２４のデータ構造の一例を示す。テーブル定義情報保持部２４には、対象テーブル毎に、テーブルＩＤ、カラム情報および外部キー情報が記述されたテーブル定義情報が保持される。
【００７０】
テーブルＩＤは、対象テーブルを識別する識別子である。カラム情報では、対象テーブルを構成するカラムの各々が定義されている。外部キー情報では、対象テーブルと他のテーブルとを関連付けるための外部キーであるカラムが定義されている。
【００７１】
図７に示すテーブル定義情報保持部２４においては、テーブルＩＤ「emp」およびテーブルＩＤ「dept」によって識別される各テーブルのテーブル定義情報が保持されている。
【００７２】
図７に示す例では、テーブルＩＤ「emp」によって識別されるテーブル（以下、empテーブルと表記）のテーブル定義情報は、１行目〜１０行目に記述されている。
【００７３】
empテーブルのテーブル定義情報においては、１行目にテーブルＩＤ（テーブル名）が記述されている。
【００７４】
また、empテーブルのテーブル定義情報においては、２行目〜８行目にカラム毎のカラム情報（つまり、カラムの定義）が記述されている。図７に示すように、カラム情報には、カラムＩＤ、型、桁、位取、Not Null、主キーおよび外部キー（のそれぞれの値）が含まれる。Not Null、主キーおよび外部キーの値（「true」または「false」）は、当該Not Null、主キーおよび外部キーであるか否かを示す。例えばNot Nullの値が「true」である場合にはNot Nullであることを示し、Not Nullの値が「false」である場合にはNot Nullでないとことを示す。
【００７５】
更に、empテーブルのテーブル定義情報においては、９行目および１０行目に外部キー情報（つまり、外部キーの定義）が記述されている。図７に示すように、外部キー情報には、外部キー名、外部キー参照先テーブルＩＤ、CASCADEおよび外部キー参照先構成列（のそれぞれの値）が含まれる。外部キー名、外部キー参照先テーブルＩＤおよび外部キー参照先構成列の値は、当該外部キー名、外部キー参照テーブルＩＤおよび外部キー参照先構成列を示す。また、CASCADEの値（「true」または「false」）は、CASCADEであるか否かを示す。
【００７６】
なお、図７に示すempテーブルのテーブル定義情報によれば、上述した図３に示すテーブル情報によって示されるテーブルの構造が定義されている。
【００７７】
また、図７に示す例では、テーブルＩＤ「dept」によって識別されるテーブル（以下、deptテーブルと表記）のテーブル定義情報は、１１行目〜１４行目に記述されている。
【００７８】
deptテーブルのテーブル定義情報においては、１１行目にテーブルＩＤが記述されている。また、deptテーブルのテーブル定義情報においては、１２行目〜１４行目にカラム情報が記述されている。なお、deptテーブルのテーブル定義情報においては、外部キーであるカラムが存在しないため、外部キー情報は記述されていない。
【００７９】
再び図５に戻ると、テーブル統計情報取得部３３は、データベース２３に格納されているテーブル情報のうちのユーザによって選択されたテーブルＩＤを含むテーブル情報（つまり、対象テーブルを示すテーブル情報）に基づいて、当該対象テーブルのテーブル統計情報（当該対象テーブルを構成するカラムの各々に関するテーブル統計情報）を取得する（ステップＳ６）。なお、対象テーブルが複数存在する場合には、当該対象テーブル毎のテーブル統計情報が取得される。
【００８０】
テーブル統計情報取得部３３によって取得されたテーブル定義情報は、テーブル統計情報保持部２５に保持される。
【００８１】
ここで、図８は、テーブル統計情報保持部２５のデータ構造の一例を示す。テーブル統計情報保持部２５においては、対象テーブル毎に、テーブルＩＤおよび当該対象テーブル全体の統計情報がカンマ区切りで記述され、更に、当該対象テーブルを構成する各カラムのカラムＩＤ（カラム名）および当該カラムに関する統計情報がカンマ区切りで記述されたデータ統計情報が保持される。
【００８２】
図８に示すテーブル統計情報においては、empテーブルおよびdeptテーブルのテーブル統計情報の例が示されている。
【００８３】
図８に示す例では、empテーブルのテーブル統計情報は、１行目〜８行目に記述されている。
【００８４】
empテーブルのテーブル統計情報においては、１行目に当該empテーブルのテーブルＩＤ（テーブル名）および当該empテーブル全体の統計情報がカンマ区切りで記述される。empテーブルのテーブル統計情報における１行目によれば、empテーブルにデータが１００００件あるということが表される。
【００８５】
また、empテーブルのテーブル統計情報においては、２行目〜８行目でカラムについて記述されている。empテーブルのテーブル統計情報における２行目〜８行目の各行には、当該empテーブルを構成する各カラムのカラムＩＤ（カラム名）および当該カラムに関する統計情報がカンマ区切りで記述される。empテーブルのテーブル統計情報における例えば４行目によれば、当該empテーブルを構成するカラムであるjob（カラムＩＤ「job」によって識別されるカラム）にデータが８０００件あり、そのデータの種類の数が４０であるということが表される。
【００８６】
ここで、図８に記載されているテーブル統計情報以外のテーブル統計情報があれば、empテーブルのテーブル統計情報に追加してもよい。
【００８７】
また、図８に示す例では、deptテーブルのテーブル統計情報は１０行目〜１３行目に記述されているが、その具体的な内容についてはempテーブルのテーブル統計情報と同様であるため、その詳しい説明を省略する。
【００８８】
再び図５に戻ると、入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報およびテーブル統計情報保持部２５に保持されているテーブル統計情報に基づいて、入力情報ファイル２２に設定される情報（アプリケーションを自動生成するために必要な情報）の候補を決定する処理（以下、候補決定処理と表記）を実行する（ステップＳ７）。この候補決定処理は、ルール保持部２６に保持されているルール（アプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルール）を用いて実行される。なお、候補決定処理の詳細については後述する。
【００８９】
入力情報設定部３５は、入力情報決定部３４による候補決定処理の処理結果（入力情報決定部３４によって決定された情報）を入力情報ファイル２２に設定（反映）する（ステップＳ８）。
【００９０】
これにより、ユーザによる設定を要することなく、アプリケーションの自動生成に必要な情報を自動的に設定することができる。
【００９１】
次に、上述した入力情報決定部３４による候補決定処理（図５に示すステップＳ７の処理）の詳細について説明する。候補決定処理においては、ルール保持部２６に保持されている各ルールが用いられる。
【００９２】
ここでは、上述した図４に示すルール保持部２６に保持されているルールが用いられるものとする。なお、入力情報決定部３４は、図４に示すルール保持部２６に保持されているルールにおいて記述されている順に、ルール名毎の候補決定処理を実行する。
【００９３】
以下、図４に示すルールのうちのアプリケーションタイプ用ルールを用いて実行される候補決定処理を第１の候補決定処理、依存関係用ルールを用いて実行される候補決定処理を第２の候補決定処理、オートコンプリート用ルールを用いて実行される候補決定処理を第３の候補決定処理と称する。
【００９４】
まず、図９および図１０のフローチャートを参照して、第１の候補決定処理の処理手順について説明する。
【００９５】
第１の候補決定処理は、ルール保持部２６に保持されているアプリケーションタイプ用ルールを用いてアプリケーションタイプを決定する処理である。なお、第１の候補決定処理においては、後述するようにテーブル定義情報のみが利用され、テーブル統計情報は利用されない。
【００９６】
まず、入力情報決定部３４は、ルール保持部２６に保持されているルールのうち、アプリケーションタイプ用ルールを取得する（ステップＳ１１）。ここでは、上述した図４に示すルール保持部２６に保持されているルールに含まれるアプリケーション用ルール（つまり、図４の１行目〜４行目に記述されているルール）が取得されるものとする。
【００９７】
なお、このアプリケーションタイプ用ルールの具体的な内容については、上述した図４において説明した通りであるため、その詳しい説明を省略する。
【００９８】
ステップＳ１１の処理が実行されると、当該ステップＳ１１において取得されたアプリケーション用ルールに基づいてステップＳ１２以降の処理が実行される。
【００９９】
入力情報決定部３４は、以下のステップＳ１３およびステップＳ１４の処理が実行されていないテーブル定義情報がテーブル定義情報保持部２４にあるか否かを判定する（ステップＳ１２）。
【０１００】
処理が実行されていないテーブル定義情報があると判定された場合（ステップＳ１２のＹＥＳ）、入力情報決定部３４は、テーブル定義情報保持部２４から当該テーブル定義情報を１つ取得する（ステップＳ１３）。換言すれば、入力情報決定部３４は、テーブル定義情報保持部２４（に保持されている対象テーブル毎のテーブル定義情報）から１テーブル分のテーブル定義情報を取得する。
【０１０１】
入力情報決定部３４は、取得されたテーブル定義情報に基づいて、当該テーブル定義情報によって構造が定義されるテーブル（つまり、対象テーブル）を構成するカラムの中に外部キーであるカラム（外部キーとして定義されているカラム）が１つ以上あるか否かを判定する（ステップＳ１４）。
【０１０２】
ここで、ステップＳ１３において取得されたテーブル定義情報が上述した図７に示すempテーブルのテーブル定義情報（図７の１行目〜１０行目に記述されている内容）である場合を想定する。この場合、図７の８行目において「外部キー＝true」が記述されているため、入力情報決定部３４は、empテーブルを構成するカラムの中に外部キーであるカラムが１つ以上あると判定する。
【０１０３】
外部キーであるカラムが１つ以上あると判定された場合（ステップＳ１３のＹＥＳ）、入力情報決定部３４は、アプリケーションタイプをテーブル関連のあるアプリケーションと決定する（ステップＳ１５）。
【０１０４】
一方、外部キーであるカラムが１つ以上ない（つまり、外部キーであるカラムがない）と判定された場合（ステップＳ１４のＮＯ）、上記したステップＳ１２に戻って処理が繰り返される。
【０１０５】
上記したステップＳ１２において、処理が実行されていないテーブル定義情報がない（つまり、全てのテーブル定義情報について処理が実行された）と判定された場合、入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報に基づいて、対象テーブルが複数であるか否かを判定する（ステップＳ１６）。
【０１０６】
テーブル定義情報保持部２４に複数のテーブル定義情報が保持されている場合には、入力情報決定部３４は、対象テーブルが複数であると判定する。一方、テーブル定義情報保持部２４にテーブル定義情報が１つしか保持されていない場合には、入力情報決定部３４は、対象テーブルが複数でないと判定する。
【０１０７】
対象テーブルが複数であると判定された場合（ステップＳ１６のＹＥＳ）、入力情報決定部３４は、当該複数の対象テーブル（の全て）に同一のカラム（を識別するためのカラムＩＤ）があるか否かを判定する（ステップＳ１７）。この場合、入力情報決定部３４は、テーブル定義情報保持部２４に保持されている対象テーブル毎のテーブル定義情報に基づいて判定処理を実行する。具体的には、対象テーブル毎のテーブル定義情報の全てに、当該対象テーブルを構成するカラムを識別するための同一のカラムＩＤがあるか否かによって判定処理が実行される。
【０１０８】
同一のカラムがあると判定された場合（ステップＳ１７のＹＥＳ）、入力情報決定部３４は、当該カラムが全ての対象テーブルにおいて第１〜第３の条件を満たすか否かを判定する（ステップＳ１８）。ここで、上述した図４において説明したように、第１の条件は型がnumberであることであり、第２の条件は位取が０であることであり、第３の条件は主キーではないことである。
【０１０９】
なお、入力情報決定部３４は、テーブル定義情報保持部２４に保持されている対象テーブル毎のテーブル定義情報を参照することで、対象テーブルの各々にある同一のカラムの各々が第１〜第３の条件を満たすか否かを判定することができる。
【０１１０】
第１〜第３の条件を満たすと判定された場合（ステップＳ１８のＹＥＳ）、入力情報決定部３４は、アプリケーションタイプを排他制御ありのアプリケーションと決定する（ステップＳ１９）。この場合、入力情報決定部３４は、第１〜第３の条件を満たすカラムの各々（対象テーブルの各々にある同一のカラム）を排他制御のカラムとする。
【０１１１】
一方、第１〜第３の条件を満たさないと判定された場合（ステップＳ１８のＮＯ）、入力情報決定部３４は、アプリケーションタイプを排他制御なしのアプリケーションと決定する（ステップＳ２０）。
【０１１２】
なお、ステップＳ１６において対象テーブルが複数でない（つまり、対象テーブルが１つである）と判定された場合およびステップＳ１７において同一のカラムがない（つまり、同一のカラムがない対象テーブルが１つでもある）と判定された場合についても、同様にステップＳ２０の処理が実行される。
【０１１３】
上記したように第１の候補決定処理が実行されると、ステップＳ１５、ステップＳ１９およびステップＳ２０において決定されたアプリケーションタイプが処理結果として入力情報設定部３５に出力される。なお、ステップＳ１９において排他制御ありのアプリケーションと決定された場合には、上記した排他制御のカラムを識別するためのカラムＩＤが処理結果として入力情報設定部３５に出力される。
【０１１４】
次に、図１１のフローチャートを参照して、第２の候補決定処理の処理手順について説明する。
【０１１５】
第２の候補決定処理は、ルール保持部２６に保持されている依存関係用ルールを用いて外部キーであるカラムの依存関係を決定する処理である。なお、第２の候補決定処理においては、第１の候補決定処理と同様に、テーブル定義情報のみが利用され、テーブル統計情報は利用されない。
【０１１６】
まず、入力情報決定部３４は、ルール保持部２６に保持されているルールのうち、依存関係用ルールを取得する（ステップＳ２１）。ここでは、上述した図４に示すルール保持部２６に保持されているルールに含まれる依存関係用ルール（つまり、図４の６行目〜９行目に記述されているルール）が取得されるものとする。
【０１１７】
なお、この依存関係用ルールの具体的な内容については、上述した図４において説明した通りであるため、その詳しい説明を省略する。
【０１１８】
ステップＳ２１の処理が実行されると、当該ステップＳ２１において取得された依存関係用ルールに基づいてステップＳ２２以降の処理が実行される。
【０１１９】
入力情報決定部３４は、以下のステップＳ２３以降の処理が実行されていないテーブル定義情報がテーブル定義情報保持部２４にあるか否かを判定する（ステップＳ２２）。
【０１２０】
処理が実行されていないテーブル定義情報があると判定された場合（ステップＳ２２のＹＥＳ）、入力情報決定部３４は、テーブル定義情報保持部２４から当該テーブル定義情報を１つ取得する（ステップＳ２３）。
【０１２１】
入力情報決定部３４は、取得されたテーブル定義情報に、以下のステップＳ２５以降の処理が実行されていないカラム情報があるか否かを判定する（ステップＳ２４）。
【０１２２】
処理が実行されていないカラム情報があると判定された場合（ステップＳ２４のＹＥＳ）、入力情報決定部３４は、当該カラム情報を１つ取得する（ステップＳ２５）。なお、入力情報決定部３４によって取得されるカラム情報には、上述した図７において説明したようにカラムＩＤ、型、桁、位取、Not Null、主キーおよび外部キー（の情報）が含まれる。以下の説明においては、ステップＳ２５において取得されたカラム情報によって示されるカラム（当該カラム情報によって定義されるカラム）を対象カラムと称する。
【０１２３】
次に、入力情報決定部３４は、取得されたカラム情報に含まれる外部キー（の値）に基づいて、対象カラムが外部キーであるか否かを判定する（ステップＳ２６）。
【０１２４】
この場合、ステップＳ２５において取得されたカラム情報に含まれる外部キーの値が「false」である場合には対象カラムが外部キーでないと判定され、当該カラム情報に含まれる外部キーの値が「true」である場合には対象カラムが外部キーであると判定される。
【０１２５】
具体的には、上述した図７に示す例えば２行目のカラム情報によって示されるカラム（２行目に記述されているカラム）が対象カラムである場合には、外部キーの値が「false」であるため、対象カラムは外部キーでないと判定される。一方、図７に示す例えば５行目のカラム情報によって示されるカラム（５行目に記述されているカラム）が対象カラムである場合には、外部キーの値が「true」であるため、対象カラムは外部キーであると判定される。
【０１２６】
対象カラムが外部キーであると判定された場合（ステップＳ２６のＹＥＳ）、入力情報決定部３４は、取得されたカラム情報に含まれるNot Null（の値）に基づいて、当該対象カラムがNot Nullであるか否かを判定する（ステップＳ２７）。
【０１２７】
この場合、取得されたカラム情報に含まれるNot Nullの値が「false」である場合には対象カラムがNot Nullでないと判定され、当該カラム情報に含まれるNot Nullの値が「true」である場合には対象カラムがNot Nullであると判定される。
【０１２８】
対象カラムがNot Nullであると判定された場合（ステップＳ２７のＹＥＳ）、入力情報決定部３４は、ステップＳ２３において取得されたテーブル定義情報に含まれる外部キー情報（当該対象カラムを外部キーとして定義する外部キー情報）に含まれるCASCADE（の値）に基づいて、当該対象カラムにCASCADEが設定されているか否かを判定する（ステップＳ２８）。ここで、対象カラムを外部キーとして定義する外部キー情報とは、当該対象カラムを識別するカラムＩＤを外部キー名として含む外部キー情報である。
【０１２９】
この場合、外部キー名に含まれるCASCADEの値が「false」である場合には対象カラムにCASCADEが設定されていないと判定され、当該外部キー情報に含まれるCASCADEの値が「true」である場合には対象カラムにCASCADEが設定されていると判定される。
【０１３０】
対象カラムにCASCADEが設定されていると判定された場合（ステップＳ２８のＹＥＳ）、入力情報決定部３４は、当該対象カラムの依存関係を親子（関係）と決定する（ステップＳ２９）。
【０１３１】
一方、ステップＳ２７において対象カラムがNot Nullではないと判定された場合およびステップＳ２８において対象カラムにCASCADEが設定されていないと判定された場合、入力情報決定部３４は、当該対象カラムの依存関係を参照（関係）と決定する（ステップＳ３０）。
【０１３２】
なお、ステップＳ２６において対象カラムが外部キーでないと判定された場合、ステップＳ２４に戻って処理が繰り返される。ステップＳ２９およびステップＳ３０の処理が実行された場合についても同様である。
【０１３３】
また、ステップＳ２４において、処理が実行されていないカラム情報がないと判定された場合、ステップＳ２２に戻って処理が繰り返される。
【０１３４】
また、ステップＳ２２において、処理が実行されていないテーブル定義情報がないと判定された場合には、第２の候補決定処理は終了される。
【０１３５】
上記したように第２の候補決定処理が実行されると、ステップＳ２９およびステップＳ３０において決定されたカラムの依存関係が処理結果として入力情報設定部３５に出力される。
【０１３６】
次に、図１２のフローチャートを参照して、第３の候補決定処理の処理手順について説明する。
【０１３７】
第３の候補決定処理は、ルール保持部２６に保持されているオートコンプリート用ルールを用いてカラムをオートコンプリートの対象とする旨を決定する処理である。なお、第３の候補決定処理においては、上述した第１および第２の候補決定処理とは異なり、テーブル定義情報およびテーブル統計情報が利用される。
【０１３８】
まず、入力情報決定部３４は、ルール保持部２６に保持されているルールのうち、オートコンプリート用ルールを取得する（ステップＳ３１）。ここでは、上述した図４に示すルール保持部２６に保持されているルールに含まれるオートコンプリート用ルール（つまり、図４の１１行目および１２行目に記述されているルール）が取得されるものとする。
【０１３９】
なお、このオートコンプリート用ルールの具体的な内容については、上述した図４において説明した通りであるため、その詳しい説明を省略する。
【０１４０】
ステップＳ３１の処理が実行されると、当該ステップＳ３１において取得されたオートコンプリート用ルールに基づいてステップＳ３２以降の処理が実行される。
【０１４１】
入力情報決定部３４は、以下のステップＳ３３以降の処理が実行されていないテーブル定義情報がテーブル定義情報保持部２４にあるか否かを判定する（ステップＳ３２）。
【０１４２】
処理が実行されていないテーブル定義情報があると判定された場合（ステップＳ３２のＹＥＳ）、入力情報決定部３４は、テーブル定義情報保持部２４から当該テーブル定義情報を１つ取得し、更に、当該取得されたテーブル定義情報に対応するテーブル統計情報をテーブル統計情報保持部２５から取得する（ステップＳ３３）。
【０１４３】
ここで、テーブル定義情報に対応するテーブル統計情報とは、当該テーブル定義情報によって構造が定義される対象テーブルのテーブル統計情報である。換言すれば、テーブル定義情報に対応するテーブル統計情報とは、当該テーブル定義情報において記述されているテーブルＩＤが記述されているテーブル統計情報である。
【０１４４】
上述した図７および図８を用いて具体的に説明すると、図７の１行目〜１０行目に記述されているテーブル定義情報（つまり、empテーブルのテーブル定義情報）が取得された場合には、当該テーブル定義情報に対応するテーブル統計情報として、図８の１行目〜８行目に記述されているテーブル統計情報（つまり、empテーブルのテーブル統計情報）が取得される。
【０１４５】
入力情報決定部３４は、ステップＳ３３において取得されたテーブル定義情報に、以下のステップＳ３５以降の処理が実行されていないカラム情報があるか否かを判定する（ステップＳ３４）。
【０１４６】
処理が実行されていないカラム情報があると判定された場合（ステップＳ３４のＹＥＳ）、入力情報決定部３４は、当該カラム情報を１つ取得する（ステップＳ３５）。なお、入力情報決定部３４によって取得されるカラム情報には、上述した図７において説明したようにカラムＩＤ、型、桁、位取、Not Null、主キーおよび外部キーが含まれる。以下の説明においては、ステップＳ３５において取得されたカラム情報によって示されるカラム（当該カラム情報によって定義されるカラム）を対象カラムと称する。
【０１４７】
次に、入力情報決定部３４は、ステップＳ３５において取得されたカラム情報に含まれる型の値（つまり、対象カラムの型）がvarchar2であるか否かを判定する（ステップＳ３６）。
【０１４８】
対象カラムの型がvarchar2であると判定された場合（ステップＳ３６のＹＥＳ）、入力情報決定部３４は、取得されたカラム情報に含まれる桁の値（つまり、対象カラムの桁）が５０以下であるか否かを判定する（ステップＳ３７）。
【０１４９】
対象カラムの桁が５０以下であると判定された場合（ステップＳ３７のＹＥＳ）、入力情報決定部３４は、上記したステップＳ３３において取得されたテーブル統計情報に基づいて、ステップＳ３５において取得されたカラム情報によって示されるカラム（対象カラム）に登録されているデータが全て同一であるか否かを判定する（ステップＳ３８）。
【０１５０】
この場合、入力情報決定部３４は、ステップＳ３３において取得されたテーブル統計情報における対象カラムに関する統計情報に基づいて判定処理を実行する。具体的には、入力情報決定部３４は、対象カラムに関する統計情報におけるデータの種類の数が１であれば対象カラムに登録されているデータが全て同一であると判定し、当該データの種類の数が１でなければ対象カラムに登録されているデータが全て同一でないと判定する。
【０１５１】
例えば図７の４行目に記述されているカラム情報がステップＳ３５において取得されたものとすると、対象カラムのデータの種類の数は４０であるため、当該対象カラムに登録されているデータが全て同一でないと判定される。
【０１５２】
対象カラムに登録されているデータが全て同一でないと判定された場合（ステップＳ３８のＮＯ）、入力情報決定部３４は、上記したステップＳ３３において取得されたテーブル統計情報に基づいて、ステップＳ３５において取得されたカラム情報によって示されるカラム（対象カラム）に登録されているデータの種類の数が５０未満であるか否かを判定する（ステップＳ３９）。
【０１５３】
この場合、入力情報決定部３４は、ステップＳ３３において取得されたテーブル統計情報における対象カラムに関する統計情報（のデータの種類の数）に基づいて判定処理を実行する。
【０１５４】
例えば図７の４行目に記述されているカラム情報がステップＳ３５において取得されたものとすると、対象カラムのデータの種類の数は４０であるため、当該対象カラムに登録されているデータの種類の数が５０未満であると判定される。
【０１５５】
対象カラムに登録されているデータの種類の数が５０未満であると判定された場合（ステップＳ３９のＹＥＳ）、入力情報決定部３４は、対象カラムをオートコンプリートの対象と決定する（ステップＳ４０）。
【０１５６】
ステップＳ４０の処理が実行されると、ステップＳ３４に戻って処理が繰り返される。なお、上記したステップＳ３６において対象カラムの型がvarchar2でないと判定された場合、ステップＳ３７において対象カラムの桁が５０以下でないと判定された場合、ステップＳ３８において対象カラムに登録されているデータが全て同一であると判定された場合、およびステップＳ３９において対象カラムに登録されているデータの種類の数が５０未満でないと判定された場合についても同様にステップＳ３４に戻って処理が繰り返される。
【０１５７】
また、ステップＳ３４において、処理が実行されていないカラム情報がないと判定された場合、ステップＳ３２に戻って処理が繰り返される。
【０１５８】
また、ステップＳ３２において、処理が実行されていないテーブル定義情報がないと判定された場合には、第３の候補決定処理は終了される。
【０１５９】
上記したように第３の候補決定処理が実行されると、ステップＳ４０において決定されたカラムをオートコンプリートの対象とする旨が処理結果として入力情報設定部３５に出力される。
【０１６０】
上述したように入力情報決定部３４によって候補決定処理（第１〜第３の候補決定処理）が実行されると、当該候補決定処理の処理結果が入力情報設定部３５に出力される。
【０１６１】
この場合、図１３に示すような処理結果が入力情報設定部３５に対して出力される。図１３に示すように、処理結果は、入力情報ファイル２２の設定項目＝設定する値の形式で記述される。
【０１６２】
なお、図１３に示す処理結果の例では、１行目が第１の候補決定処理における処理結果であり、２行目が第２の候補決定処理における処理結果であり、３行目が第３の候補決定処理における処理結果である。
【０１６３】
図１３に示す例では、１行目に「アプリケーションタイプ＝テーブル関連あり」が記述されている。これによれば、第１の候補決定処理において、アプリケーションタイプがテーブル関連のアプリケーションと決定されたことを表す。なお、図１３には示されていないが、第１の候補決定処理においてアプリケーションタイプが排他制御ありのアプリケーションと決定された場合の処理結果においては、例えば「排他制御＝排他制御のカラムとされたカラムを識別するためのカラムＩＤ」が記述される。
【０１６４】
また、図１３に示す例では、２行目に「依存関係＝mgr：参照，deptno：参照」が記述されている。これによれば、第２の候補決定処理において、外部キーとして定義されているmgrおよびdeptno（のカラム）の依存関係がそれぞれ参照と決定されたことを表す。
【０１６５】
また、図１３に示す例では、３行目に「オートコンプリート＝job」が記述されている。これによれば、第３の候補決定処理において、job（のカラム）をオートコンプリートの対象とする旨が決定されたことを表す。なお、オートコンプリートの対象とするカラムが複数存在する場合には、例えばカンマ区切りで記述される。
【０１６６】
この図１３に示す処理結果は、入力情報設定部３５によって入力情報ファイル２２に設定（反映）される。なお、図１３に示す処理結果に加えて、例えば図７に示すテーブル定義情報が入力情報ファイル２２に設定される。
【０１６７】
ここで、図１４および図１５を参照して、入力情報設定部３５によって候補決定処理の処理結果が設定された後の入力情報ファイル２２の具体例について説明する。
【０１６８】
図１４に示すように、入力情報ファイル２２には、自動生成されるアプリケーションにおいて用いられるテーブル（に関する情報）が設定される。自動生成されるアプリケーションにおいて用いられるテーブル（つまり、対象テーブル）が複数存在する場合には、当該テーブルの各々が入力情報ファイル２２に設定される。
【０１６９】
また、図１５に示すように、入力情報ファイル２２には、アプリケーション生成情報の一例を示す。アプリケーション生成情報には、出力先およびアプリケーションタイプ（の情報）が設定される。
【０１７０】
なお、図１４および図１５において、枠１００に該当する項目は、ユーザが設定する項目である。また、枠２００に該当する項目は、対象テーブルの構造を定義するテーブル定義情報（ここでは、上述した図７の１行目〜１０行目に記述されたテーブル定義情報）から取得可能な項目である。また、枠３００に該当する項目は、上述した第１〜第３の候補決定処理の処理結果から取得可能な項目である。
【０１７１】
なお、本実施形態においては、枠１００に該当する項目はユーザによって設定されていないため、図１４においては空欄となっている。同様に、本実施形態においては、枠３００に該当する項目のうちのラベル名については候補決定処理において決定されていないため、図１４においては空欄となっている。
【０１７２】
このような入力情報ファイル２２に設定された情報を用いることによってアプリケーションを自動生成することが可能となる。
【０１７３】
上記したように本実施形態においては、データベース２３に格納されているテーブル情報に基づいて、自動生成されるアプリケーションにおいて用いられるテーブルの構造を定義するテーブル定義情報および当該テーブルを構成するカラムの各々に関するテーブル統計情報を取得し、当該取得されたテーブル定義情報およびテーブル統計情報に基づいて当該アプリケーションを自動生成するために必要な情報として例えばアプリケーションタイプ、カラムの依存関係およびカラムをオートコンプリートの対象とする旨が決定される。本実施形態においては、決定されたアプリケーションを自動生成するために必要な情報が入力情報ファイル２２に反映（設定）される。
【０１７４】
これにより、本実施形態においては、テーブル定義情報およびテーブル統計情報に基づいてアプリケーションを自動生成するために必要な情報を自動的に決定し、当該情報を入力情報ファイル２２に設定することができるため、当該情報をユーザ自身が設定する必要がない。
【０１７５】
つまり、本実施形態においては、アプリケーションを自動生成するために必要な情報の設定を支援することができるため、当該情報を設定する際におけるユーザの手間を軽減することが可能となる。
【０１７６】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。なお、本実施形態に係る設定情報入力支援装置の構成は、前述した第１の実施形態と同様であるため、適宜、図２を用いて説明する。
【０１７７】
本実施形態においては、ユーザによって指定（設定）された項目がテーブル定義情報に反映され、当該テーブル定義情報に基づいてアプリケーションを自動生成するために必要な情報を決定する点が、前述した第１の実施形態とは異なる。
【０１７８】
ここで、本実施形態に係る設定情報入力支援装置３０に含まれる各部について説明するが、前述した第１の実施形態に係る設定情報入力支援装置３０と同様の部分についてはその詳しい説明を省略する。
【０１７９】
入力情報設定部３５は、テーブル定義情報保持部２４に保持されているテーブル定義情報を入力情報ファイル２２に反映（設定）する。
【０１８０】
入力情報設定部３５によってテーブル定義情報が入力情報ファイル２２に反映されると、ユーザは、対象テーブル（自動生成されるアプリケーションにおいて用いられるテーブル）を構成するカラムのカラム名等の項目の設定を入力情報ファイル２２に対して行うことができる。以下、ユーザによって設定されるカラム名等の項目をユーザ設定項目と称する。
【０１８１】
入力情報設定部３５は、ユーザの操作に応じて、入力情報ファイル２２に対して設定されたユーザ設定項目（当該ユーザによって新たに設定されたカラム名等の項目）をテーブル定義情報保持部２４に保持されているテーブル定義情報に反映する。
【０１８２】
ルール保持部２６には、前述した第１の実施形態において説明したアプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールに加えて、更にラベル用ルールが保持されているものとする。このラベル用ルールの詳細については後述する。
【０１８３】
入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報、テーブル統計情報保持部２５に保持されているテーブル統計情報およびルール保持部２６に保持されているラベル用ルールに基づいて、対象テーブルを構成するカラム（外部キーであるカラム）のラベル名をとして決定する。
【０１８４】
ここで、図１６は、本実施形態におけるルール保持部２６に保持されているルールの一例を示す。ルール保持部２６に保持されるルールとしては、前述したアプリケーションタイプ用ルール、依存関係用ルール、オートコンプリート用ルールおよびラベル用ルールが予め用意されているものとする。なお、アプリケーションタイプ用ルール、依存関係用ルールおよびオートコンプリート用ルールについては前述した図４において説明した通りであるため、図１６においてはこれらのルールについては省略されている。ここでは、ラベル用ルールについて説明する。
【０１８５】
図１６に示すように、ラベル用ルールにおいては、当該ルールの最初（つまり、１４行目）に当該ルール名「ラベル用ルール」が記述されている。
【０１８６】
また、ラベル用ルールにおいては、１５行目〜１８行目で当該ルール（の内容）が記述される。
【０１８７】
図１６に示すラベル用ルールの２行目には、外部キーが参照しているテーブルが自身のテーブル（つまり、当該外部キーであるカラムから構成されるテーブル）である場合には当該外部キーであるカラムのカラム名をラベル名とすることが記述されている。
【０１８８】
また、図１６に示すラベル用ルールの１６行目〜１８行目には、外部キーが参照しているテーブルが自身のテーブルでない場合であって当該外部キーであるカラムが第４〜第６の条件を満たす場合には当該カラムのカラム名をラベル名とすることが記述されている。第４から第６の条件は上から順に適用され、ラベル名の候補が１つになった時点で終了される。
【０１８９】
なお、第１の条件は、型がvarchar2であることである。第２の条件は、Not Nullである、またはカラムにデータが必ず登録されていることである。第３の条件は、桁が５０以下であることである。
【０１９０】
次に、図１７のフローチャートを参照して、本実施形態に係る設定情報入力支援装置３０の処理手順について説明する。
【０１９１】
まず、前述した図５に示すステップＳ１〜ステップＳ６の処理に相当するステップＳ４１〜ステップＳ４６の処理が実行される。
【０１９２】
以下の説明においては、テーブル定義情報保持部２４は、前述した図７に示すデータ構造であるものとして説明する。つまり、テーブル定義情報保持部２４には、前述したようにempテーブルおよびdeptテーブルのテーブル定義情報が保持されているものとする。
【０１９３】
次に、入力情報設定部３５は、テーブル定義情報保持部２４に保持されているテーブル定義情報を取得する。
【０１９４】
入力情報設定部３５は、取得されたテーブル定義情報を入力情報ファイル２２に反映（設定）する（ステップＳ４７）。これにより、入力情報ファイル２２には、入力情報設定部３５によって取得されたテーブル定義情報によって構造が定義されるテーブル（対象テーブル）に関する情報が設定される。
【０１９５】
ここで、図１８は、前述した図７に示すテーブル定義情報保持部２４に保持されている例えばempテーブルのテーブル定義情報が反映された入力情報ファイル２２の一例を示す。
【０１９６】
図１８に示すように、入力情報ファイル２２には、empテーブル（に関する情報）が設定されている。
【０１９７】
なお、図１８に示すような入力情報ファイル２２に対して、ユーザは、例えばテーブル名およびカラム名等の項目を設定（指定）することができる。
【０１９８】
再び図１７に戻ると、入力情報設定部３５は、ユーザの操作に応じて、ユーザ設定項目を入力情報ファイル２２に設定する（ステップＳ４８）。ここで、ユーザ設定項目には、例えば入力情報ファイル２２に設定されたテーブル（対象テーブル）のテーブル名および当該テーブルを構成する各カラムのカラム名等が含まれる。
【０１９９】
ここで、図１９は、図１８に示す入力情報ファイル２２に対してユーザ設定項目（カラム名）が設定された後の入力情報ファイル２２の一例を示す。
【０２００】
図１９に示すように、入力情報ファイル２２には、上記した図１８に示す入力情報ファイル２２と比較して、empテーブルのテーブル名および当該empテーブルを構成する各カラムのカラム名がユーザ設定項目として新たに設定されている。
【０２０１】
再び図１７に戻ると、入力情報設定部３５は、ユーザ設定項目が設定された入力情報ファイル２２の内容をテーブル定義情報保持部２４に保持されているテーブル定義情報に反映する（ステップＳ４９）。
【０２０２】
なお、図２０は、入力情報ファイル２２の内容が反映されたテーブル定義情報の一例を示す。図２０に示すように、empテーブルおよびdeptテーブルのテーブル定義情報においては、前述した図７に示す各テーブル定義情報と比較して、ユーザによって設定されたテーブル名およびカラム名が記述されている。
【０２０３】
次に、入力情報決定部３４は、テーブル定義情報保持部２４に保持されているテーブル定義情報およびテーブル統計情報保持部２５に保持されているテーブル統計情報に基づいて、入力情報ファイル２２に設定される情報（アプリケーションを自動生成するために必要な情報）の候補を決定する候補決定処理を実行する（ステップＳ５０）。この候補決定処理は、ルール保持部２６に保持されているアプリケーションタイプ用ルール、依存関係用ルール、オートコンプリート用ルールおよびラベル用ルールを用いて実行される。
【０２０４】
ステップＳ５０の処理が実行されると、前述した図５に示すステップＳ８の処理に相当するステップＳ５１の処理が実行される。
【０２０５】
次に、上述した本実施形態における入力情報決定部３４による候補決定処理（図１７に示すステップＳ５０の処理）の詳細について説明する。候補決定処理においては、ルール保持部２６に保持されている各ルールが用いられる。
【０２０６】
ここで、候補決定処理においては、ルール保持部２６に保持されているルール（ここでは、アプリケーションタイプ用ルール、依存関係用ルール、オートコンプリート用ルールおよびラベル用ルール）毎の候補決定処理が実行されるものとする。
【０２０７】
上記したように、アプリケーションタイプ用ルールを用いて実行される候補決定処理を第１の候補決定処理、依存関係用ルールを用いて実行される候補決定処理を第２の候補決定処理、オートコンプリート用ルールを用いて実行される候補決定処理を第３の候補決定処理と称する。また、ラベル用ルールを用いて実行される候補決定処理を第４の候補決定処理と称する。
【０２０８】
なお、第１〜第３の候補決定処理は、前述した第１の実施形態において説明した通りであるため、その詳しい説明を省略する。
【０２０９】
ここでは、図２１および図２２のフローチャートを参照して、第４の候補決定処理の処理手順について説明する。
【０２１０】
第４の候補決定処理は、上記したようにルール保持部２６に保持されているラベル用ルールを用いてカラム（外部キーであるカラム）のラベル名を決定する処理である。
【０２１１】
第４の候補決定処理においては、テーブル定義情報保持部２４に保持されているテーブル定義情報およびテーブル統計情報保持部２５に保持されているテーブル統計情報が利用される。なお、テーブル定義情報保持部２４に保持されているテーブル定義情報は、上述した図１７に示すステップＳ４９において入力情報ファイル２２の内容が反映されたテーブル定義情報である。
【０２１２】
まず、入力情報決定部３４は、ルール保持部２６に保持されているルールのうち、ラベル用ルールを取得する（ステップＳ６１）。ここでは、上述した図１６に示すルール保持部２６に保持されているルールに含まれるラベル用ルールが取得されるものとする。
【０２１３】
なお、このラベル用ルールの具体的な内容については、上述した図１６において説明した通りであるため、その詳しい説明を省略する。
【０２１４】
ステップＳ６１の処理が実行されると、当該ステップＳ６１において取得されたラベル用ルールに基づいてステップＳ６２以降の処理が実行される。
【０２１５】
入力情報決定部３４は、以下のステップＳ６３以降の処理が実行されていないテーブル定義情報がテーブル定義情報保持部２４にあるか否かを判定する（ステップＳ６２）。
【０２１６】
処理が実行されていないテーブル定義情報があると判定された場合（ステップＳ６２のＹＥＳ）、入力情報決定部３４は、テーブル定義情報保持部２４から当該テーブル定義情報を１つ取得し、更に、当該取得されたテーブル定義情報に対応するテーブル統計情報をテーブル統計情報保持部２５から取得する（ステップＳ６３）。
【０２１７】
なお、テーブル定義情報に対応するテーブル統計情報とは、当該テーブル定義情報によって構造が定義される対象テーブルのテーブル統計情報である。
【０２１８】
入力情報決定部３４は、ステップＳ６３において取得されたテーブル定義情報に、以下のステップＳ６５以降の処理が実行されていないカラム情報があるか否かを判定する（ステップＳ６４）。
【０２１９】
処理が実行されていないカラム情報があると判定された場合（ステップＳ６４のＹＥＳ）、入力情報決定部３４は、当該カラム情報を１つ取得する（ステップＳ６５）。なお、入力情報決定部３４によって取得されるカラム情報には、カラム名、カラムＩＤ、型、桁、位取、Not Null、主キーおよび外部キーが含まれる。以下の説明においては、ステップＳ６５において取得されたカラム情報によって示されるカラム（当該カラム情報によって定義されるカラム）を対象カラムと称する。
【０２２０】
次に、入力情報決定部３４は、取得されたカラム情報に含まれる外部キー（の値）に基づいて、対象カラムが外部キーであるか否かを判定する（ステップＳ６６）。
【０２２１】
この場合、ステップＳ６５において取得されたカラム情報に含まれる外部キーの値が「false」である場合には対象カラムが外部キーでないと判定され、当該カラム情報に含まれる外部キーの値が「true」である場合には対象カラムが外部キーであると判定される。
【０２２２】
対象カラムが外部キーであると判定された場合（ステップＳ６６のＹＥＳ）、入力情報決定部３４は、上記したステップＳ６３において取得されたテーブル定義情報における当該外部キーが定義されている外部キー情報に含まれる外部キー参照先テーブルＩＤが自身のテーブルＩＤであるか否かを判定する（ステップＳ６７）。なお、自身のテーブルＩＤとは、対象カラムが構成するテーブルを識別するためのテーブルＩＤをいう。
【０２２３】
例えば、上述した図２０に示す５行目のカラム情報がステップＳ６５において取得された場合を想定する。なお、このカラム情報によって示される対象カラムは、外部キーである。この場合、図２０に示す９行目の外部キー情報に含まれる外部キー参照先テーブルＩＤは「emp」であり、かつ、対象カラムはempテーブルを構成するカラムであるため、外部キー参照先テーブルＩＤが自身のテーブルＩＤであると判定される。
【０２２４】
一方、図２０に示す８行目のカラム情報がステップＳ６５において取得された場合を想定する。なお、このカラム情報によって示される対象カラムは、外部キーである。この場合、図２０に示す１０行目の外部キー情報に含まれる外部キー参照先テーブルＩＤは「dept」であるが、対象カラムはempテーブルを構成するカラムであるため、外部キー参照先テーブルＩＤが自身のテーブルＩＤでないと判定される。
【０２２５】
外部キー参照テーブルＩＤが自身のテーブルＩＤであると判定された場合（ステップＳ６７のＹＥＳ）、入力情報決定部３４は、ステップＳ６５において取得されたカラム情報に含まれるカラム名（つまり、対象カラムのカラム名）をラベル名として決定する（ステップＳ６８）。なお、ステップＳ６８の処理が実行されると、上記したステップＳ６４に戻って処理が繰り返される。
【０２２６】
一方、外部キー参照テーブルＩＤが自身のテーブルＩＤでないと判定された場合（ステップＳ６８のＮＯ）、入力情報決定部３４は、当該外部キー参照テーブルＩＤを含むテーブル定義情報（当該外部キー参照テーブルＩＤによって識別されるテーブルのテーブル定義情報）を、テーブル定義情報保持部２４から取得する（ステップＳ６９）。
【０２２７】
上記したように図２０に示す８行目のカラム情報がステップＳ６５において取得された場合には、外部キー参照先テーブルＩＤが「dept」であるため、図２０に示すdeptテーブルのテーブル定義情報（図２０の１２行目〜１５行目に記述されているテーブル定義情報）が取得される。
【０２２８】
以下の説明においては、ステップＳ６９において取得された外部キー参照テーブルＩＤを含むテーブル定義情報を単に外部キー参照テーブル定義情報と称する。また、外部キー参照テーブル定義情報によって構造が定義されるテーブルを単に外部キー参照テーブルと称する。
【０２２９】
次に、入力情報決定部３４は、外部キー参照テーブル定義情報に含まれるカラム情報（に含まれる型の値）に基づいて、当該外部キー参照テーブルを構成するカラムの中で型がvarchar2であるカラムが１つであるか否かを判定する（ステップＳ７０）。
【０２３０】
ここで、型がvarchar2であるカラムが１つでないと判定された場合を想定する（ステップＳ７０のＮＯ）。以下の説明では、ステップＳ７０において型がvarchar2であるカラムが１つでないと判定された場合における当該型がvarchar2である複数のカラムを第１の該当カラムと称する。
【０２３１】
入力情報決定部３４は、外部キー参照テーブル定義情報に含まれるカラム情報（第１の該当カラムを示すカラム情報）および当該外部キー参照テーブル定義情報に対応するテーブル統計情報（以下、単に外部キー参照テーブル統計情報と表記）に基づいて、第１の該当カラムの中で、データが必ず登録されているカラムまたはNot Nullであるカラムが１つであるか否かを判定する（ステップＳ７１）。
【０２３２】
なお、データが必ず登録されているカラムであるか否かは、外部キー参照テーブル統計情報における外部キー参照テーブルのデータ数（外部キー参照テーブルＩＤに該当するデータ数）および第１の該当カラムのデータ数（当該第１の該当カラムを識別するためのカラムＩＤに該当するデータ数）が一致するか否かによって判定される。つまり、外部キー参照テーブル統計情報における外部キー参照テーブルのデータ数および第１の該当カラムのデータ数が一致する場合、当該第１の該当カラムはデータが必ず登録されているカラムであると判定される。一方、外部キー参照テーブル統計情報における外部キー参照テーブルのデータおよび第１の該当カラムのデータ数が一致しない場合、当該第１の該当カラムはデータが必ず登録されているカラムでないと判定される。
【０２３３】
また、Not Nullであるカラムであるか否かは、第１の該当カラムを示すカラム情報に含まれるNot Nullの値に基づいて判定される。つまり、第１の該当カラムを示すカラム情報に含まれるNot Nullの値が「true」である場合には、当該第１の該当カラムはNot Nullであると判定される。一方、第１の該当カラムを示すカラム情報に含まれるNot Nullの値が「false」である場合には、当該第１のカラムはNot Nullでないと判定される。
【０２３４】
ここで、データが必ず登録されているカラムまたはNot Nullであるカラムが１つでないと判定された場合を想定する（ステップＳ７１のＮＯ）。以下の説明では、ステップＳ７１においてデータが必ず登録されているカラムまたはNot Nullであるカラムが１つでないと判定された場合における当該データが必ず登録されている複数のカラムまたはNot Nullである複数のカラムを第２の該当カラムと称する。
【０２３５】
入力情報決定部３４は、外部キー参照テーブル定義情報に含まれるカラム情報（第２の該当カラムを示すカラム情報）に基づいて、当該第２の該当カラムの中で桁が５０以下であるカラムが１つであるか否かを判定する（ステップＳ７２）。なお、入力情報決定部３４は、第２の該当カラムを示すカラム情報に含まれる桁の値に基づいて判定処理を実行する。
【０２３６】
ここで、桁が５０以下であるカラムが１つでないと判定された場合を想定する（ステップＳ７２のＮＯ）。以下の説明では、ステップＳ７２において桁が５０以下であるカラムが１つでないと判定された場合における当該桁が５０以下である複数のカラムを第３の該当カラムと称する。
【０２３７】
入力情報決定部３４は、外部キー参照テーブル定義情報に含まれるカラム情報（第３の該当カラムを示すカラム情報）に含まれる桁の値に基づいて、当該第３の該当カラムの中で桁（の値）が最小のカラムを特定し、当該カラムを示すカラム情報に含まれるカラム名（当該桁が最小のカラムのカラム名）をラベル名として決定する（ステップＳ７３）。
【０２３８】
なお、ステップＳ７３の処理が実行されると、ステップＳ６４に戻って処理が繰り返される。
【０２３９】
次に、上記したステップＳ７０において型がvarchar2であるカラムが１つであると判定された場合、ステップＳ７１においてデータが必ず登録されているカラムまたはNot Nullであるカラムが１つであると判定された場合、およびステップＳ７２において桁が５０桁以下であるカラムが１つであると判定された場合を想定する。
【０２４０】
以下の説明では、ステップＳ７０において型がvarchar2であるカラムが１つであると判定された場合における当該型がvarchar2である１つのカラム、ステップＳ７１においてデータが必ず登録されているカラムまたはNot Nullであるカラムが１つであると判定された場合における当該データが必ず登録されている１つのカラムまたは当該Not Nullである１つのカラム、およびステップＳ７２において桁が５０以下であるカラムが１つであると判定された場合における当該桁が５０以下である１つのカラムを第４の該当カラムと称する。
【０２４１】
この場合、入力情報決定部３４は、外部キー参照テーブル定義情報に含まれるカラム情報（第４の該当カラムを示すカラム情報）に含まれるカラム名（当該第４の該当カラムのカラム名）をラベル名として決定する（ステップＳ７４）。
【０２４２】
なお、ステップＳ７４の処理が実行されると、ステップＳ６４に戻って処理が繰り返される。
【０２４３】
一方、上記したステップＳ６６において対象カラムが外部キーでないと判定された場合、ステップＳ６４に戻って処理が繰り返される。
【０２４４】
また、ステップＳ６４において、処理が実行されていないカラム情報がないと判定された場合、ステップＳ６２に戻って処理が繰り返される。
【０２４５】
また、ステップＳ６２において、処理が実行されていないテーブル定義情報がないと判定された場合には、第４の候補決定処理は終了される。
【０２４６】
上記したように第４の候補決定処理が実行されると、ステップＳ６８、ステップＳ７３およびステップＳ７４において決定されたラベル名が処理結果として入力情報設定部３５に出力される。
【０２４７】
なお、本実施形態において、入力情報決定部３４によって候補決定処理（第１〜第４の候補決定処理）が実行されると、例えば図２３に示すような処理結果が入力情報設定部３５に対して出力される。
【０２４８】
図２３に示す処理結果においては、１行目が第１の候補決定処理における処理結果であり、２行目が第２の候補決定処理における処理結果であり、３行目が第３の候補決定処理における処理結果であり、４行目が第４の候補決定処理における処理結果である。
【０２４９】
なお、図２３に示す第１〜第３の候補決定処理における処理結果については前述した図１３において説明した通りであるため、その詳しい説明を省略する。
【０２５０】
図２３に示す例では、４行目に「ラベル名＝mgr：上長，deptno：部署名」が記述されている。これによれば、第４の候補決定処理において、外部キーとして定義されているmgr（のカラム）のラベル名が「上長」と決定され、deptno（のカラム）のラベル名が「部署名」と決定されたことを表す。
【０２５１】
この図２３に示す処理結果は、入力情報設定部３５によって入力情報ファイル２２に設定（反映）される。
【０２５２】
ここで、図２４を参照して、入力情報設定部３５によって第１〜第４の候補決定処理の処理結果が設定された後の入力情報ファイル２２の具体例について説明する。
【０２５３】
図２４に示すように、入力情報ファイル２２には、自動生成されるアプリケーションにおいて用いられるテーブル（に関する情報）が設定される。ここでは、前述した図１４と異なる点について主に述べる。
【０２５４】
図２４に示す例においては、図１４と比較して、テーブル名、カラム名およびラベル名の項目が設定されている。
【０２５５】
このテーブル名およびカラム名の項目（つまり、枠１００に該当する項目）は、上述した図１７に示すステップＳ４８において設定されたユーザ設定項目である。また、ラベル名の項目は、上述した第４の候補決定処理の処理結果（図２３に示す処理結果の４行目の内容）に応じて入力情報設定部３５によって設定された項目である。
【０２５６】
このような入力情報ファイル２２に設定された情報を用いることによってアプリケーションを自動生成することが可能となる。
【０２５７】
上記したように本実施形態においては、テーブル定義情報保持部２４に保持されているテーブル定義情報によって構造が定義されるテーブルを構成するカラムのカラム名がユーザによって設定され、当該設定されたカラム名がテーブル定義情報に反映される。本実施形態においては、ユーザによって設定されたカラム名が反映されたテーブル定義情報に基づいて、アプリケーションを自動生成するために必要な情報として当該テーブル定義情報によって構造が定義されるテーブルを構成するカラム（外部キーであるカラム）のラベル名が決定され、当該決定されたラベル名が入力情報ファイル２２に反映（設定）される。
【０２５８】
これにより、本実施形態においては、ユーザによって設定されたカラム名が反映されたテーブル定義情報に基づいてアプリケーションを自動生成するために必要な情報であるラベル名を自動的に決定し、当該情報を入力情報ファイル２２に設定することができるため、当該情報をユーザ自身が設定する必要がない。
【０２５９】
したがって、本実施形態においては、前述した第１の実施形態と同様に、アプリケーションを自動生成するために必要な情報の設定を支援することができるため、当該情報を設定する際におけるユーザの手間を軽減することが可能となる。
【０２６０】
なお、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。  
【符号の説明】
【０２６１】
１０…コンピュータ、２０…外部記憶装置、２２…入力情報ファイル、２３…データベース、２４…テーブル定義情報保持部、２５…テーブル統計情報保持部、２６…ルール保持部、３０…設定情報入力支援装置、３１…入力部、３２…テーブル定義情報取得部、３３…テーブル統計情報取得部、３４…入力情報決定部、３５…入力情報設定部。
【図１】
2012038103.tif 000003
【図２】
2012038103.tif 000004
【図３】
2012038103.tif 000005
【図４】
2012038103.tif 000006
【図５】
2012038103.tif 000007
【図６】
2012038103.tif 000008
【図７】
2012038103.tif 000009
【図８】
2012038103.tif 000010
【図９】
2012038103.tif 000011
【図１０】
2012038103.tif 000012
【図１１】
2012038103.tif 000013
【図１２】
2012038103.tif 000014
【図１３】
2012038103.tif 000015
【図１４】
2012038103.tif 000016
【図１５】
2012038103.tif 000017
【図１６】
2012038103.tif 000018
【図１７】
2012038103.tif 000019
【図１８】
2012038103.tif 000020
【図１９】
2012038103.tif 000021
【図２０】
2012038103.tif 000022
【図２１】
2012038103.tif 000023
【図２２】
2012038103.tif 000024
【図２３】
2012038103.tif 000025
【図２４】
2012038103.tif 000026