(57)【要約】【課題】  データベースのテーブルスキーマを変更する際に、容易にソースコードの変更を行うことを可能とする。【解決手段】  変数作成インクルードファイル編集プログラムが、変数作成インクルードファイルを編集したいテーブルを選択可能なテーブル選択画面と、選択されたテーブルに対応する変数作成ソースコードの一覧を表示する変数格納コード一覧画面と、ローカル変数名およびフィールド名を入力することでソースコードに対して変数の追加処理を実行する変数格納コード追加画面と、変数作成インクルードファイルに記述された変数とフィールドとの組合せに関する情報を編集する変数格納コード編集画面とを入力指示に従って表示する機能と、各画面上での入力内容に従ってソースコードの追加、編集あるいは削除の処理を行う機能と、を実現する。【選択図】  図１ 
2005100249.tif 000002
【特許請求の範囲】
【請求項１】
データベースから取得した情報をローカル変数に格納する変数作成インクルードファイルと、データベースにクエリを発行して取得した情報をローカル変数に格納して、自身の呼出し元に返す処理を行うデータベース情報取得モジュールと、データベースのデータが必要なときにテーブルに対応したデータベース情報取得モジュールを呼出し、ローカル変数に格納されたデータベース情報を受け取る業務処理部分と、ＧＵＩベースのアプリケーションである変数作成インクルードファイル編集プログラムと、を実行し、ソースコードの変更処理を行うよう構成されているシステムであって、
前記変数作成インクルードファイル編集プログラムは、
変数作成インクルードファイルを編集したいテーブルを選択可能なテーブル選択画面と、前記テーブル選択画面にて選択されたテーブルに対応する変数作成ソースコードの一覧を表示する変数格納コード一覧画面と、ローカル変数名およびフィールド名を入力することでソースコードに対して変数の追加処理を実行する変数格納コード追加画面と、変数作成インクルードファイルに記述された変数とフィールドとの組合せに関する情報を編集する変数格納コード編集画面とを入力指示に従って表示する機能と、
各画面上での入力内容に従ってソースコードの追加、編集あるいは削除の処理を行う機能と、
を実現することを特徴とする静的データベース情報取得コード生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースから情報を取得する動作を含む静的データベース情報取得コード生成システムに関するものである。
【背景技術】
【０００２】
従来、コンピュータシステムにおいては、データベース（以下、ＤＢという）に情報を蓄積・取得する動作を含むタイプが多く存在している。そして、このようなタイプのコンピュータシステムにおいてテーブルスキーマを変更した場合には、ＤＢのフィールド名がソースコード内で直接指定されるため、このシステムのソースコードをも変更しなければならないという問題が生じていた。具体的には、例えばテーブルのフィールドを追加してフィールド数が増加した場合には、ソースコードを変更しない限り追加分のフィールドのデータを取得することができず、また、テーブルのフィールドを削除してフィールド数が減少した場合には、削除されたフィールドのデータを取得しようとしてエラーが発生してしまう、といった問題が生じていた。また、ソースコードを変更する場合には、テスト作業が発生するため、非常に効率が悪いといった問題があった。
【０００３】
そこで、以上のような問題を解決するために、従来では、ＤＢに情報を取得するにあたって使用する変数名を、実行時に動的に取得するという方法等があった。上記問題を解決するための方法としては、例えば下記先行技術文献に記載の発明がある。
【特許文献１】特開平１０−４９４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような実行時に動的に取得するという方法では、変数を静的に決定する方法に比べて実行性能が極端に悪くなるという問題点が存在していた。
【０００５】
そこで本発明の目的は、ＤＢから情報を取得するシステムにてテーブルスキーマの変更が行われる際に、ＧＵＩ（Graphical User Interface）を採用してその変更への対応を容易に行うことを可能とする静的データベース情報取得コード生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の静的データベース情報取得コード生成システムは、データベースから取得した情報をローカル変数に格納する変数作成インクルードファイルと、データベースにクエリを発行して取得した情報をローカル変数に格納して、自身の呼出し元に返す処理を行うデータベース情報取得モジュールと、データベースのデータが必要なときにテーブルに対応したデータベース情報取得モジュールを呼出し、ローカル変数に格納されたデータベース情報を受け取る業務処理部分と、ＧＵＩベースのアプリケーションである変数作成インクルードファイル編集プログラムと、を実行し、ソースコードの変更処理を行うよう構成されているシステムであって、前記変数作成インクルードファイル編集プログラムが、変数作成インクルードファイルを編集したいテーブルを選択可能なテーブル選択画面と、前記テーブル選択画面にて選択されたテーブルに対応する変数作成ソースコードの一覧を表示する変数格納コード一覧画面と、ローカル変数名およびフィールド名を入力することでソースコードに対して変数の追加処理を実行する変数格納コード追加画面と、変数作成インクルードファイルに記述された変数とフィールドとの組合せに関する情報を編集する変数格納コード編集画面とを入力指示に従って表示する機能と、各画面上での入力内容に従ってソースコードの追加、編集あるいは削除の処理を行う機能と、を実現するように構成されている。
【発明の効果】
【０００７】
本発明によれば、ＧＵＩ（Graphical User Interface）を採用しているため、ＤＢのテーブルスキーマを変更する際には、その変更に対応して入力者は容易にソースコードの変更を行うことができるようになり、作業の効率化を図ることができる。さらに本発明によれば、インクルードファイルとして静的な変数格納コードを持っているため、ＤＢからの抽出処理の速度が向上するといった効果をも併せて得ることもできる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の静的データベース情報取得コード生成システムの一実施形態について図面を参照して説明する。尚、本実施形態においては、本発明の静的データベース情報取得コード生成システムによりｅコマースアプリケーション（インターネットを介した商取引システムを管理するアプリケーション）を実現した場合を一例として、以下説明する。ここで、このｅコマースアプリケーションは、商品の購入・顧客の管理・受注情報の管理を行うためのアプリケーションである。
【０００９】
［構成］
まず、本発明の静的データベース情報取得コード生成システムの構成について、図１を参照して説明する。
【００１０】
符号１０１は制御装置であり、本システムの制御を行うものである。そして、この制御装置１０１は、ソースコード解析部１０２とプログラム実行部１０３とファイル書込部１０４とを備えている。
【００１１】
前記ソースコード解析部１０２は、後述の外部記憶装置１０７から後述の記憶装置１０５に読み込まれたプログラムを解析する手段である。また、前記プログラム実行部１０３は、前記ソースコード解析部１０２にて解析したプログラムを実行する手段である。また、前記ファイル書込部１０４は、変数作成インクルードファイル編集プログラム１１１において作成された「変数名＝フィールド名」の組合せの文字列変数を変数作成インクルードファイルに書き込むための手段である。
【００１２】
符号１０５は記憶装置である。外部記憶装置１０７に記憶されたプログラムは、実行時に当該記憶装置１０５に読み込まれることとなる。また、データベース１０６へのクエリ結果やローカル変数も当該記憶装置１０５に保存されることとなる。
【００１３】
符号１０６はデータベース（ＤＢ）であり、商品等の情報を格納する。ここで、ＤＢで管理されている商品等の情報は、図２に示すように、商品ＩＤ、商品名および商品価格の各フィールドを有する商品テーブルと、顧客ＩＤ、顧客名、顧客の住所および電話番号の各フィールドを有する顧客テーブルと、受注番号、受注商品ＩＤおよび受注個数の各フィールドを有する受注テーブルと、から構成されているものとする。
【００１４】
符号１０７は外部記憶装置であり、プログラムを格納する。本実施形態では、図１のように、業務処理部分１０８とＤＢ情報取得モジュール１０９と変数作成インクルードファイル１１０と変数作成インクルードファイル編集プログラム１１１とを格納している。そして、前記業務処理部分１０８は、当該業務処理部分１０８の内部でＤＢ情報取得モジュール１０９を呼出す。前記ＤＢ情報取得モジュール１０９は、当該ＤＢ情報取得モジュール１０９の内部で変数作成インクルードファイル１１０を呼出す。そして、前記変数作成インクルードファイル編集プログラム１１１は、入力者の入力内容に従って、前記変数作成インクルードファイル１１０を更新するものである。
【００１５】
ここで、本実施形態のシステムでは、ソースコードが図３に示すように、これら業務処理部分１０８、ＤＢ情報取得モジュール１０９および変数作成インクルードファイル１１０の３つの部分から成る構造になっており、且つそれぞれ互いを包含する入れ子構造になっているが、これら業務処理部分１０８、ＤＢ情報取得モジュール１０９および変数作成インクルードファイル１１０の相関関係について、具体的に以下説明する。
【００１６】
図３において、変数作成インクルードファイル２０１〜２０４（前記変数作成インクルードファイル１１０に相当）は、ＤＢから取得した情報をローカル変数に格納するものである。そして、ＤＢの一つのテーブルに対して一つのインクルードファイルが存在する。例えば、商品用の変数作成インクルードファイルには以下のようなコードが記述されている。
【００１７】
変数Ａ＝商品ＩＤ
変数Ｂ＝商品名
変数Ｃ＝商品価格
【００１８】
また、前記ＤＢ情報取得モジュール２０５〜２０８（前記ＤＢ情報取得モジュール１０９に相当）は、ＤＢにクエリを発行して取得した情報をローカル変数に格納して、自身の呼出し元に返す処理を行うものである。そして、一つのテーブルに対して一つないし複数のＤＢ情報取得モジュールが存在する。尚、同じテーブルに対するモジュールでも、検索条件が異なれば、それぞれ異種のモジュールとなる。よって図３では、検索条件の異なる２種類の商品用ＤＢ情報取得モジュール１，２が存在している。そして、それぞれのＤＢ情報取得モジュールでは、上述のような変数作成インクルードファイルを呼出して、取得した情報をローカル変数に格納することとなる。
【００１９】
また、前記業務処理部分２０９（前記業務処理部分１０８に相当）は、ＤＢ情報取得処理以外の全ての処理を行うものである。ＤＢのデータが必要になったときに、テーブルに対応したＤＢ情報取得モジュールを呼出し、ローカル変数に格納されたＤＢ情報を受け取る。
【００２０】
以上の構成の業務処理部分１０８、ＤＢ情報取得モジュール１０９および変数作成インクルードファイル１１０の処理手順について、図４〜図６を参照して説明する。尚、以下の説明では、商品情報をＷｅｂページに表示する場合を一例とする。
【００２１】
まずプログラムを実行すると、前記業務処理部分が、図４に示すように商品用ＤＢ情報取得モジュールを呼出す（ステップＳＴ１）。そして、呼出された商品用ＤＢ情報取得モジュールでは、図５に示すように、ＤＢに対し商品テーブルの情報を取得するクエリを発行し（ステップＳＴ１１）、発行後にＤＢから帰ってきたクエリの結果情報を記憶装置に格納する（ステップＳＴ１２）。そして、取得情報をローカル変数に格納するために変数作成インクルードファイルを呼出す（ステップＳＴ１３）。
【００２２】
すると、変数作成インクルードファイルでは、図６に示すようにＤＢ情報をローカル変数に格納する（ステップＳＴ２１）。尚、商品用変数作成インクルードファイルの場合には、以下のようなコードが記述されている。
【００２３】
変数Ａ＝商品ＩＤ
変数Ｂ＝商品名
変数Ｃ＝商品価格
【００２４】
こうして変数作成インクルードファイルの処理が終了後、ＤＢ情報取得モジュールでは、商品情報を格納したローカル変数を返り値として呼出元（業務処理部分）に返す（ステップＳＴ１４）。そして、上述の手順で商品用ＤＢ情報取得モジュールの処理が終了すると、業務処理部分では、ＤＢ情報取得モジュールから受け取ったローカル変数の内容をＷｅｂページに表示する（ステップＳＴ２）。以上のようにして、業務処理部分１０８、ＤＢ情報取得モジュール１０９および変数作成インクルードファイル１１０間の処理動作が行われる。
【００２５】
［画面上の処理］
次に、以上の構成の本システムにおいて入力者が実際に画面上で行う処理について、以下具体的に説明する。尚、以下の説明では、例えばアプリケーションが発注を受け、納入先の要望に合わせてカスタマイズすることになった場合を例に挙げることとする。また本例では、テーブルスキーマを図７のように変更することとする。具体的には、商品テーブルに定価のフィールドを追加し、且つ受注テーブルに商品単価のフィールドを追加する一方、顧客テーブルから電話番号のフィールドを削除するものとする。
【００２６】
通常、以上のようにテーブルスキーマを変更した場合には、ソースコードを変更せずにそのままの内容を維持すると、新しく追加したフィールド（定価、商品単価）の内容を取得することができず、また、削除されたフィールド（電話番号）内容を取得しようとしてエラーが発生してしまう。そこで、該当フィールドの内容を変数に格納するソースコードをテーブルスキーマに合わせ変更する必要しなければならない。
【００２７】
ここで、商品情報をテーブルから取得するソースコードは以下のようになっている。
【００２８】
変数Ａ＝商品ＩＤ
変数Ｂ＝商品名
変数Ｃ＝商品価格
【００２９】
そして、図７のようなテーブルスキーマの変更により、この部分は以下のように変更する必要がある。
【００３０】
変数Ａ＝商品ＩＤ
変数Ｂ＝商品名
変数Ｃ＝商品価格
変数Ｄ＝定価
【００３１】
そこで本発明のシステムでは、上記のソースコードの変更をＧＵＩ（Graphical User Interface）ベースのアプリケーション（変数作成インクルードファイル編集プログラム１１１）を使用して行うことにより、変更作業の効率化を図っている。
【００３２】
まず、変数作成インクルードファイル編集プログラムを起動すると、図８で示すようなテーブル選択画面が起動する。そこで、このテーブル選択画面上で、入力者は変数作成インクルードファイルを編集したいテーブルを選択する。この画面上のテーブル表３０１には編集可能なテーブルが表示されているため、所望のテーブルを選択後に編集ボタン３０２を押下することで、図９で示すような変数格納コード一覧画面に移行する。
【００３３】
次に、この変数格納コード一覧画面では、選択したテーブルに対応する変数作成ソースコードの一覧が表示される。画面中央にはローカル変数名と、その変数に格納するフィールド名の組合せの変数・フィールド対応表４０１が表示されている。この変数・フィールド対応表４０１の左側の列は格納すべきローカル変数名を示し、右側の列は左記変数に内容を格納するテーブルフィールド名を示しており、この表の内容が現在のソースコードの状態を示している。そして、このソースコードに対して変数の編集、追加、削除処理を行うことができるように構成されている。
【００３４】
ここで、追加ボタン４０２を押下した場合には、図１０に示すような変数格納コード追加画面に画面が移行し、編集ボタン４０３を押下した場合には、図１１に示すような変数格納コード編集画面に画面が移行する。また、変数とフィールド名の組合せ（表の行に相当）を選択して削除ボタン４０４を押下すると、変数・フィールド対応表４０１のソースコードからその組合せが削除されることとなる。
【００３５】
ここで、前記変数格納コード追加画面では、所望の変数名およびフィールド名を変数作成インクルードファイルに追加することができる。この場合、ローカル変数名入力欄５０１に追加したいローカル変数名を、取得フィールド名入力欄５０２にその変数に格納したいフィールド名をそれぞれ入力し、しかる後に追加ボタンを押下すると、変数作成インクルードファイルに「変数＝フィールド名」というソースコードが追加されることとなる。
【００３６】
この追加処理の手順について図１２を参照して説明する。まず、選択したテーブルの変数格納インクルードファイルの内容を文字列変数Ｉに読み込む（ステップＳＴ３１）。このとき、変数格納インクルードファイルには「変数名＝フィールド名」という記述が変数の数だけ記述されている。次に、前画面（変数格納コード追加画面）で入力した変数名とフィールド名の組合せから「変数名＝フィールド名」という文字列変数ＩＩを作成し（ステップＳＴ３２）、続けて文字列変数Ｉと連結して新たな文字列変数ＩＩＩを作成する（ステップＳＴ３３）。こうして作成された文字列変数ＩＩＩを元の変数格納インクルードファイルに書き込み、上書き保存する（ステップＳＴ３４）。以上のようにして、変数格納コード追加画面でソースコードの追加処理が行われる。
【００３７】
また、前記変数格納コード編集画面では、変数作成インクルードファイルに記述された変数とフィールドとの組合せに関する情報を編集することができる。ローカル変数名入力欄６０１、取得フィールド名入力欄６０２には、図１１に示すように前の画面（変数格納コード一覧画面）で選択した組合せの情報が表示されている。そこで入力者は、ローカル変数名入力欄６０１および取得フィールド名入力欄６０２を編集して更新ボタン６０３を押下すると、変数名を再入力等により編集した組合せ情報で、この変数作成インクルードファイルが更新される。
【００３８】
以上のように、本発明の静的データベース情報取得コード生成システムによれば、ＧＵＩを採用しているため、ＤＢのテーブルスキーマを変更する際に、その変更に対応して入力者は容易にソースコードの変更を行うことができるようになる。さらに、インクルードファイルとして静的な変数格納コードを持つため、ＤＢからの抽出処理の速度が向上するといった効果をも達成することが可能となる。
【図面の簡単な説明】
【００３９】
【図１】本発明の静的データベース情報取得コード生成システムの概略構成図である。
【図２】本実施形態のデータベースの構造を示す図である。
【図３】本発明のシステムにおけるソースコードの構造を示す図である。
【図４】本発明のシステムの業務処理部分による処理手順を示すフローチャートである。
【図５】本発明のシステムのＤＢ情報取得モジュールによる処理手順を示すフローチャートである。
【図６】本発明のシステムの変数作成インクルードファイルによる処理手順を示すフローチャートである。
【図７】本実施形態の具体例におけるテーブルスキーマの変更条件を示す図である。
【図８】本実施形態の具体例におけるテーブル選択画面を示す図である。
【図９】本実施形態の具体例における変数格納コード一覧画面を示す図である。
【図１０】本実施形態の具体例における変数格納コード追加画面を示す図である。
【図１１】本実施形態の具体例における変数格納コード編集画面を示す図である。
【図１２】図１０の変数格納コード追加画面により行われる追加処理の手順を示すフローチャートである。
【符号の説明】
【００４０】
１０１…制御装置、１０２…ソースコード解析部、１０３…プログラム実行部、１０４…ファイル書込部、１０５…記憶装置、１０６…データベース（ＤＢ）、１０７…外部記憶装置、１０８…業務処理部分プログラム、１０９…ＤＢ情報取得モジュール、１１０…変数名インクルードファイル、１１１…変数名インクルードファイル編集プログラム、２０１…商品用変数作成インクルードファイル、２０２…商品用変数作成インクルードファイル、２０３…受注用変数作成インクルードファイル、２０４…顧客用変数作成インクルードファイル、２０５…商品用ＤＢ情報取得モジュール１、２０６…受注用ＤＢ情報取得モジュール、２０７…商品用ＤＢ情報取得モジュール２、２０８…顧客用ＤＢ情報取得モジュール、２０９…業務処理部分、３０１…テーブル表、３０２…編集ボタン、４０１…変数・フィールド対応表、４０２…追加ボタン、４０３…編集ボタン、４０４…削除ボタン、５０１…ローカル変数名入力欄、５０２…取得フィールド名入力欄、５０３…登録ボタン、６０１…ローカル変数名入力欄、６０２…取得フィールド名入力欄、６０３…更新ボタン。
【図１】
2005100249.tif 000003
【図２】
2005100249.tif 000004
【図３】
2005100249.tif 000005
【図４】
2005100249.tif 000006
【図５】
2005100249.tif 000007
【図６】
2005100249.tif 000008
【図７】
2005100249.tif 000009
【図８】
2005100249.tif 000010
【図９】
2005100249.tif 000011
【図１０】
2005100249.tif 000012
【図１１】
2005100249.tif 000013
【図１２】
2005100249.tif 000014