(57)【要約】【課題】アプリケーションプログラムがネットワークを介してデータベースを検索／更新をするデータベースアクセス管理システム、管理方法及びそのプログラムを提供する。【解決手段】アプリケーションプログラムがネットワークを介してデータベースを検索／更新をするデータベースアクセス管理システムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うと共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索／更新指示と検索／更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことを特徴とする。【選択図】      図１
2006209316.tif 000002
【特許請求の範囲】
【請求項１】
ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理ＳＱＬ(Structured Query Language)と呼称する前記データベース管理システムが解釈可能なＳＱＬの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理ＳＱＬを前記物理ＳＱＬへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理ＳＱＬと論物変換された前記物理ＳＱＬと前記物理ＳＱＬの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムから検索命令を受け取り、前記検索命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行なう制御部と、
前記論物変換情報、前記物理ＳＱＬと前記物理ＳＱＬの実行履歴および前記実行部によって実行された前記物理ＳＱＬの検索結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理ＳＱＬの結果の管理を行うバッファ管理部と
を備えるコンピュータと、
を備えることを特徴とするデータベースアクセス管理システム。
【請求項２】
アプリケーションプログラムから論理ＳＱＬとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納することを特徴とするデータベースアクセス管理方法。
【請求項３】
アプリケーションプログラムから論理ＳＱＬとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、もし該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納する処理を、コンピュータに実行させるためのデータベースアクセス管理用プログラム。
【請求項４】
ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理ＳＱＬと呼称するデータベース管理システムが解釈可能なＳＱＬの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理ＳＱＬを前記物理ＳＱＬへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理ＳＱＬと論物変換された前記物理ＳＱＬと前記物理ＳＱＬの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムからデータベース操作命令を受け取り、前記操作命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる機能を有する制御部と、
前記論物変換情報と前記物理ＳＱＬと前記物理ＳＱＬの実行履歴および前記実行部によって実行された前記物理ＳＱＬの結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理ＳＱＬの結果の管理を行うバッファ管理部と
を備えるコンピュータと
を備えることを特徴とするデータベースアクセス管理システム。
【請求項５】
アプリケーションプログラムから論理ＳＱＬとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させることを特徴とするデータベースアクセス管理方法。
【請求項６】
アプリケーションプログラムから論理ＳＱＬとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる
処理をコンピュータに実行させるためのデータベースアクセス管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースアクセス管理システム、管理方法及びそのプログラムに関し、特に、アプリケーションプログラムがネットワークを介してデータベースを検索／更新するクライアント／サーバシステムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うことができるようにすると共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索／更新指示と検索／更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことことができるようにするができるデータベースアクセス管理システム、管理方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来のデータベース管理システムの一例が特許文献１に記載されている。この従来のデータベース管理システムは、互いに離れた所定位置に設けられた複数のデータベースと、各データベースに対応して設けられた変更情報反映プログラムと、各データベースにアクセスすることによりデータ処理を行うアプリケーションプログラムと、各データベースから他のデータベースに対応する変更情報反映プログラムに対して変更情報を通知するネットワークとを有している。
【０００３】
上記構成のもとに、本システムは以下のように動作する。すなわち、各アプリケーションプログラムによるデータ処理を行うに当たっては、対応するデータベースから必要なデータの読み出しを行う。そして、必要なデータ処理を行った後は、対応するデータベース本体に処理後のデータを書き込み、該当するデータベースの変更情報データベースに変更情報を書き込み、他のデータベースの変更情報反映プログラムに対して、変更情報を書き込んだことを示すメッセージを送信し、そのまま一連の処理を終了する。
【０００４】
【特許文献１】特開２０００−８９９９４号公報（[0019]〜[0022]、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来のデータベース管理システムにおいては、データベースに対する変更情報を反映する変更情報反映プログラムはアプリケーションプログラムとは個別のプログラムであり、アプリケーションプログラムによるデータベースアクセスと変更情報反映プログラムによるデータベースアクセスとは独立している。つまり、データ更新と更新結果の反映とが分離されているため、全体のデータベースアクセス回数を減らすことができず、データベースアクセス効率をあげることができないという問題点があった。
【０００６】
本発明の目的は、アプリケーションプログラムがネットワークを介してデータベースを検索／更新をするデータベースアクセス管理システムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うことができるようにすると共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索／更新指示と検索／更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことができるデータベースアクセス管理システム、管理方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のデータベースアクセス管理システムは、ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理ＳＱＬ(Structured Query Language)と呼称する前記データベース管理システムが解釈可能なＳＱＬの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理ＳＱＬを前記物理ＳＱＬへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理ＳＱＬと論物変換された前記物理ＳＱＬと前記物理ＳＱＬの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムから検索命令を受け取り、前記検索命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行なう制御部と、
前記論物変換情報、前記物理ＳＱＬと前記物理ＳＱＬの実行履歴および前記実行部によって実行された前記物理ＳＱＬの検索結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理ＳＱＬの結果の管理を行うバッファ管理部と
を備えるコンピュータと、
を備える。
【０００８】
本発明のデータベースアクセス管理方法は、アプリケーションプログラムから論理ＳＱＬとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納することを特徴とする。
【０００９】
本発明のデータベースアクセス管理用プログラムは、アプリケーションプログラムから論理ＳＱＬとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、もし該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納する処理を、コンピュータに実行させる。
【００１０】
本発明のデータベースアクセス管理システムは、ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理ＳＱＬと呼称するデータベース管理システムが解釈可能なＳＱＬの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理ＳＱＬを前記物理ＳＱＬへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理ＳＱＬと論物変換された前記物理ＳＱＬと前記物理ＳＱＬの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムからデータベース操作命令を受け取り、前記操作命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる機能を有する制御部と、
前記論物変換情報と前記物理ＳＱＬと前記物理ＳＱＬの実行履歴および前記実行部によって実行された前記物理ＳＱＬの結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理ＳＱＬの結果の管理を行うバッファ管理部と
を備えるコンピュータと
を備える。
【００１１】
本発明のデータベースアクセス管理方法は、アプリケーションプログラムから論理ＳＱＬとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させることを特徴とする。
【００１２】
本発明のデータベースアクセス管理用プログラムは、アプリケーションプログラムから論理ＳＱＬとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理ＳＱＬから物理ＳＱＬを生成し、前記物理ＳＱＬで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる処理を、コンピュータに実行させる。
【発明の効果】
【００１３】
第１の効果は、アプリケーションプログラムに対してデータベースの構成変更による影響を最小限に抑えられることにある。特に、データベースの所在や構成が変わった場合や、データベース中の表名や列名などデータベースにおける変更が発生した場合などは、アプリケーションプログラムの修正を必要としない。
【００１４】
その理由は、実際のデータベースアクセスは実行部が主記憶部中のデータベース情報に従って行なっており、またアプリケーションプログラムはデータベース管理システムが解釈可能な物理ＳＱＬではなく論理ＳＱＬによる検索命令を使用するため、論物変換情報管理部が管理する論物変換情報を修正することで表名及び列名の変更に対応できるためである。
【００１５】
第２の効果は、データベース検索に伴うコンピュータ間の通信量・回数を削減できることにある。特に、アプリケーションプログラムの一連の処理が幾つものモジュールによってなされ、且つ複数モジュールが同一データを必要とする場合には大きな効果が期待できる。
【００１６】
その理由は、データベースから得られたデータを主記憶部に保持し、以後の同データへの検索は主記憶部上のデータに対して行なわれるためである。
【００１７】
第３の効果は、アプリケーションプログラム開発時におけるデータベース検索手段の作成に必要な工数を削減できることにある。
【００１８】
その理由は、本発明において検索命令を与えることにより汎用的にデータベース検索の機能を提供できるため、従来、個々のアプリケーションプログラム毎に用意していたデータベース操作手段を実装する必要が無くなるためである。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
本発明の第１の実施の形態の構成を示す図１を参照すると、この実施の形態のデータベースアクセス管理システムは、コンピュータ１００，２００，３００と、データベースの存在するディスク装置４００，５００と、ネットワーク６００とから構成されている。
【００２１】
コンピュータ２００，３００は、ディスク装置４００，５００内に格納されているデータベースの管理を行うデータベース管理システム２１０，３１０を備える。
【００２２】
コンピュータ１００は、構文解析部１１０と、履歴情報管理部１２０と、実行部１３０と、バッファ管理部１４０と、論物変換情報管理部１５０と、制御部１６０と、主記憶部１７０と、アプリケーションプログラム１８０とを含み、コンピュータ２００，３００とネットワーク６００で接続されている。
【００２３】
実行部１３０は、コンピュータ２００，３００におけるデータベースを操作するための物理ＳＱＬと呼称するデータベース管理システム２１０，３１０が解釈可能なＳＱＬの実行を行う。
【００２４】
制御部１６０は、アプリケーションプログラム１８０からの要求である論理ＳＱＬの受付とその結果を返すインターフェイス機能と、実行部１３０における物理ＳＱＬの実行の制御を行う機能を有する。
【００２５】
構文解析部１１０は、制御部１６０を通じてアプリケーションプログラム１８０より渡された論理ＳＱＬを物理ＳＱＬへ変換する。
【００２６】
論物変換情報管理部１５０は、構文解析部１１０における論物変換を行う際に必要となる論物変換情報の管理を行う。
【００２７】
履歴情報管理部１２０は、論理ＳＱＬと論物変換された物理ＳＱＬとこの物理ＳＱＬの実行履歴の管理を行う。
【００２８】
主記憶部１７０は、実行部１３０によって実行された物理ＳＱＬの結果を格納する。
【００２９】
バッファ管理部１４０は、主記憶部１７０に格納されている物理ＳＱＬの結果の管理を行う。
【００３０】
上記構成により、この実施の形態のデータベースアクセス管理システムは、アプリケーションプログラム１８０より論理ＳＱＬとして検索命令が与えられると構文解析部１１０により構文解析が行われ、データベース管理システム２１０，３１０が解釈可能なＳＱＬを生成する。
【００３１】
この際、検索命令で指定される表名及び列名は論物変換情報管理部１５０に保持されている論物変換情報(論理表名、物理表名、論理列名、物理列名)により、データベースで定義されている表名(物理表名)及び列名(物理列名)に論物変換される。
【００３２】
履歴情報管理部１２０は過去に行われた問合せに関する履歴情報を保持している。
【００３３】
実行部１３０によりネットワーク６００を介してデータベース管理システム２１０から検索結果を取得し、バッファ管理部１４０は検索結果及びその管理情報を主記憶部１７０上に保持し、管理する。
【００３４】
制御部１６０はアプリケーションプログラム１８０へのインターフェイスを提供すると共に、構文解析、履歴情報操作、バッファ操作、データベースアクセスを制御する。
【００３５】
コンピュータ２００はデータベース管理システム２１０を含み、且つデータベースの存在するディスク装置４００が接続されている。
【００３６】
同様に、コンピュータ３００もデータベース管理システム３１０を含み、且つデータベースの存在するディスク装置５００が接続されている。
【００３７】
次に、図１及び図２を参照して本実施の形態の動作について詳細に説明する。
【００３８】
制御部１６０はアプリケーションプログラム１８０から論理ＳＱＬとして検索命令を受け取ると、検索命令を構文解析部１１０へ渡す(図２のステップＡ１)。
【００３９】
構文解析部１１０は受け取った検索命令の構文解析を行ない、論物変換情報管理部１５０の保持する論物変換情報を参照し物理ＳＱＬを生成する(ステップＡ２)。
【００４０】
次に制御部１６０は先ほど得られた物理ＳＱＬで履歴情報管理部１２０が保持する履歴情報を検索する(ステップＡ３)。
【００４１】
もし該当する履歴情報が存在しなければ新規に履歴情報を作成する(ステップＡ１０)。
【００４２】
該当する履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値とアプリケーションプログラム１８０から与えられたキー値とを比較する(ステップＡ６)。
【００４３】
キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作する。
【００４４】
キー値が異なっていれば、新規に履歴情報を作成し(ステップＡ１１)、データベースアクセスを行なう(ステップＡ１３)。
【００４５】
検索結果は主記憶部１７０上のバッファに格納され(ステップＡ１５)、これをバッファ管理部１４０にて管理する。
【００４６】
次に、具体例を用いて本実施の形態の動作を説明する。
【００４７】
図３に示すように、履歴情報管理部１２０、バッファ管理部１４０、論物変換情報管理部１５０はそれぞれ履歴情報、バッファ、論物変換情報を持っており、アプリケーションプログラム１８０から論理ＳＱＬとして検索命令が与えられたとする。
【００４８】
アプリケーションプログラム１８０から与えられた検索命令は、構文解析部１１０において構文解析され、論物変換情報管理部１５０内の論物変換情報を使用して物理ＳＱＬ(本例では"SELECT PCOL1, PCOL2 FROM PTBL WHERE PCOL1 = :v1")が生成される(ステップＡ２)。
【００４９】
次に生成された物理ＳＱＬをもとに履歴情報管理部１２０に保持されている履歴情報を検索する(ステップＡ３)。
【００５０】
該当する履歴情報(本例では履歴ID:1の履歴情報)が存在すれば、当該履歴情報のバッファIDをもとにバッファ管理部１４０より主記憶部１７０からバッファ(本例ではバッファID:100のバッファ)を取得する(ステップＡ５)。
【００５１】
当該バッファに保持されているデータが検索された際のキー値と今回のデータベース検索に用いるキー値を比較し(ステップＡ６)、一致する場合にはデータベースへのアクセスは行わない(本例ではキー値は"１２３"で一致する)。
【００５２】
キー値が異なっている場合には、当該バッファ及び当該履歴情報を履歴情報管理部１２０及びバッファ管理部１４０からそれぞれ削除したのち(ステップＡ８、Ａ９)、新規にバッファ及び履歴情報を作成し(ステップＡ１０、Ａ１１)、制御部１６０主導で主記憶部１７０中のデータベース情報に従ってデータベースアクセスを行い(ステップＡ１２、Ａ１３)、バッファに結果及びキー値を格納する(ステップＡ１４、Ａ１５)。
【００５３】
最後にアプリケーションプログラム１８０に結果を返却(ステップＡ１６)して、一連の処理を終える。
【００５４】
この際、アプリケーションプログラム１８０からのデータベースアクセスは隠蔽されている。
【００５５】
次に、本発明の第２の実施の形態について図４，図５を参照して詳細に説明する。
【００５６】
第２の実施の形態の構成は図１に示した第１の実施の形態の構成と同じであるが、コンピュータ２００，３００上のデータベース管理システム２１０，３１０は、それぞれ同一の内容を持つデータベースを管理している。また、これらのデータベースに関する情報が主記憶部１７０中にデータベース情報として格納されている。
【００５７】
従って、この第２の実施の形態における制御部１６０は、アプリケーションプログラム１８０からの要求である論理ＳＱＬの受付とその結果を返すインターフェイス機能と実行部１３０を介してコンピュータ２００，３００におけるデータベースに対する検索および同期をとった同一更新操作を行うための物理ＳＱＬの実行の制御を行う機能を有する。
【００５８】
コンピュータ１００上のアプリケーションプログラム１８０は、データベース管理システム２１０，３１０に対してアクセスを行ない、両データベースを常に同じ状態に保つ。
【００５９】
図１、図４を参照して、この第２の実施の形態の動作について詳細に説明する。
【００６０】
制御部１６０はアプリケーションプログラム１８０から論理ＳＱＬとしてデータベース操作命令を受け取ると、構文解析部１１０へ渡す(図４のステップＢ１)。
【００６１】
構文解析部１１０は受け取ったデータベース操作命令の構文解析を行ない、論物変換情報管理部１５０の保持する論物変換情報を参照し物理ＳＱＬを生成する(ステップＢ２)。
【００６２】
次に制御部１６０は先ほど得られた物理ＳＱＬで履歴情報管理部１２０が保持する履歴情報を検索する(ステップＢ３)。
【００６３】
もし該当する履歴情報が存在しなければ新規に履歴情報を作成する(ステップＢ１０)。
【００６４】
該当する履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値とアプリケーションプログラム１８０から与えられたキー値とを比較する(ステップＢ６)。
【００６５】
キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作する。
【００６６】
キー値が異なっていれば、新規に履歴情報を作成し(ステップＢ８，９，１０、１１)、ネットワーク６００を介してデータベースアクセスを行なう。
【００６７】
この際、制御部１６０はクライアントの主記憶部１７０中に存在するデータベース情報を参照し、データベース管理システム２１０，３１０のどちらかを主なアクセス先として、データベースから検索結果を取得する(ステップＢ１２、１３)。
【００６８】
取得した検索結果は主記憶部１７０上のバッファに格納される(ステップＢ１４)。
【００６９】
ここでデータベース操作命令が更新命令である場合、バッファ中のデータは更新され(ステップＢ１７)、制御部１６０は主記憶部１７０中のデータベース情報を参照してデータベース管理システム２１０，３１０にアクセスし、更新結果をそれぞれのデータベースへ反映させる(ステップＢ１８)。
【００７０】
次に、具体例を用いて本実施の形態の動作を説明する。
【００７１】
図５に示すように、履歴情報管理部１２０、バッファ管理部１４０、論物変換情報管理部１５０はそれぞれ履歴情報、バッファ、論物変換情報を持っており、アプリケーションプログラム１８０からデータベース操作命令が与えられたとする。
【００７２】
アプリケーションプログラム１８０から与えられたデータベース操作命令は、構文解析部１１０において構文解析され、論物変換情報管理部１５０内の論物変換情報を使用して物理ＳＱＬ(本例では"SELECT PCOL1,PCOL2 FROM PTBL WHERE PCOL1 = :v1")が生成される(ステップＢ２)。
【００７３】
次に生成された物理ＳＱＬをもとに履歴情報管理部１２０に保持されている履歴情報を検索する(ステップＢ３)。
【００７４】
該当する履歴情報(本例では履歴ID:1の履歴情報)が存在すれば、当該履歴情報のバッファIDをもとにバッファ管理部１４０より主記憶部１７０からバッファ(本例ではバッファID:100のバッファ)を取得する(ステップＢ５)。
【００７５】
当該バッファに保持されているデータが検索された際のキー値と今回のデータベース検索に用いるキー値を比較し(ステップＢ６)、一致する場合にはデータベースへのアクセスは行わない(本例ではキー値は"１２３"で一致する)。
【００７６】
キー値が異なっている場合には、当該バッファ及び当該履歴情報を履歴情報管理部１２０及びバッファ管理部１４０からそれぞれ削除したのち(ステップＢ８、Ｂ９)、新規にバッファ及び履歴情報を作成し(ステップＢ１０、Ｂ１１)、制御部１６０が主記憶部１７０中のデータベース管理情報を参照してデータベースアクセスを行い(ステップＢ１２、Ｂ１３)、バッファに結果及びキー値を格納する(ステップＢ１４、Ｂ１５)。
【００７７】
ここでデータベース操作命令が更新命令(本例では更新命令)であれば、バッファ内のデータを更新する(本例ではPCOL2の値が”ABC”に更新される：ステップＢ１７)。
【００７８】
その後、更新結果はデータベースへ反映されるが、この際に制御部１６０は主記憶部１７０中のデータベース情報を参照し、登録されている各データベースに対して同じ更新操作を繰り返し実施して全てのデータベースを同じ状態に保つ(ステップＢ１８)。
【００７９】
この際、アプリケーションプログラム１８０からのデータベースアクセスは隠蔽されている。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施の形態の構成を示すブロック図である。
【図２】第１の実施の形態おける動作の一例を示す流れ図である。
【図３】第１の実施の形態おける具体例を説明する図である。
【図４】第２の実施の形態おける動作の一例を示す流れ図である。
【図５】第２の実施の形態おける具体例を説明する図である。
【符号の説明】
【００８１】
１００，２００，３００    コンピュータ
１１０    構文解析部
１２０    履歴情報管理部
１３０    実行部
１４０    バッファ管理部
１５０    論物変換情報管理部
１６０    制御部
１７０    主記憶部
１８０    アプリケーションプログラム
２１０，３１０    データベース管理システム
４００，５００    ディスク装置
６００    ネットワーク
【図１】
2006209316.tif 000003
【図２】
2006209316.tif 000004
【図３】
2006209316.tif 000005
【図４】
2006209316.tif 000006
【図５】
2006209316.tif 000007