説明

データベースアクセス管理システム、管理方法及びそのプログラム

【課題】アプリケーションプログラムがネットワークを介してデータベースを検索/更新をするデータベースアクセス管理システム、管理方法及びそのプログラムを提供する。
【解決手段】アプリケーションプログラムがネットワークを介してデータベースを検索/更新をするデータベースアクセス管理システムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うと共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索/更新指示と検索/更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースアクセス管理システム、管理方法及びそのプログラムに関し、特に、アプリケーションプログラムがネットワークを介してデータベースを検索/更新するクライアント/サーバシステムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うことができるようにすると共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索/更新指示と検索/更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことことができるようにするができるデータベースアクセス管理システム、管理方法及びそのプログラムに関する。
【背景技術】
【0002】
従来のデータベース管理システムの一例が特許文献1に記載されている。この従来のデータベース管理システムは、互いに離れた所定位置に設けられた複数のデータベースと、各データベースに対応して設けられた変更情報反映プログラムと、各データベースにアクセスすることによりデータ処理を行うアプリケーションプログラムと、各データベースから他のデータベースに対応する変更情報反映プログラムに対して変更情報を通知するネットワークとを有している。
【0003】
上記構成のもとに、本システムは以下のように動作する。すなわち、各アプリケーションプログラムによるデータ処理を行うに当たっては、対応するデータベースから必要なデータの読み出しを行う。そして、必要なデータ処理を行った後は、対応するデータベース本体に処理後のデータを書き込み、該当するデータベースの変更情報データベースに変更情報を書き込み、他のデータベースの変更情報反映プログラムに対して、変更情報を書き込んだことを示すメッセージを送信し、そのまま一連の処理を終了する。
【0004】
【特許文献1】特開2000−89994号公報([0019]〜[0022]、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した従来のデータベース管理システムにおいては、データベースに対する変更情報を反映する変更情報反映プログラムはアプリケーションプログラムとは個別のプログラムであり、アプリケーションプログラムによるデータベースアクセスと変更情報反映プログラムによるデータベースアクセスとは独立している。つまり、データ更新と更新結果の反映とが分離されているため、全体のデータベースアクセス回数を減らすことができず、データベースアクセス効率をあげることができないという問題点があった。
【0006】
本発明の目的は、アプリケーションプログラムがネットワークを介してデータベースを検索/更新をするデータベースアクセス管理システムにおいて、アプリケーションプログラムに対して独自のインターフェイスを提供してアクセス対象データベースの数とその所在を意識しないでデータベースアクセスを行うことができるようにすると共に、クライアント側コンピュータの主記憶をバッファとして使用し、データベースの検索/更新指示と検索/更新結果とを主記憶上に管理することで実際のデータベースアクセス回数を減らすことができるデータベースアクセス管理システム、管理方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明のデータベースアクセス管理システムは、ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理SQL(Structured Query Language)と呼称する前記データベース管理システムが解釈可能なSQLの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理SQLを前記物理SQLへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理SQLと論物変換された前記物理SQLと前記物理SQLの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムから検索命令を受け取り、前記検索命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行なう制御部と、
前記論物変換情報、前記物理SQLと前記物理SQLの実行履歴および前記実行部によって実行された前記物理SQLの検索結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理SQLの結果の管理を行うバッファ管理部と
を備えるコンピュータと、
を備える。
【0008】
本発明のデータベースアクセス管理方法は、アプリケーションプログラムから論理SQLとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納することを特徴とする。
【0009】
本発明のデータベースアクセス管理用プログラムは、アプリケーションプログラムから論理SQLとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、もし該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納する処理を、コンピュータに実行させる。
【0010】
本発明のデータベースアクセス管理システムは、ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理SQLと呼称するデータベース管理システムが解釈可能なSQLの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理SQLを前記物理SQLへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理SQLと論物変換された前記物理SQLと前記物理SQLの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムからデータベース操作命令を受け取り、前記操作命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる機能を有する制御部と、
前記論物変換情報と前記物理SQLと前記物理SQLの実行履歴および前記実行部によって実行された前記物理SQLの結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理SQLの結果の管理を行うバッファ管理部と
を備えるコンピュータと
を備える。
【0011】
本発明のデータベースアクセス管理方法は、アプリケーションプログラムから論理SQLとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させることを特徴とする。
【0012】
本発明のデータベースアクセス管理用プログラムは、アプリケーションプログラムから論理SQLとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる処理を、コンピュータに実行させる。
【発明の効果】
【0013】
第1の効果は、アプリケーションプログラムに対してデータベースの構成変更による影響を最小限に抑えられることにある。特に、データベースの所在や構成が変わった場合や、データベース中の表名や列名などデータベースにおける変更が発生した場合などは、アプリケーションプログラムの修正を必要としない。
【0014】
その理由は、実際のデータベースアクセスは実行部が主記憶部中のデータベース情報に従って行なっており、またアプリケーションプログラムはデータベース管理システムが解釈可能な物理SQLではなく論理SQLによる検索命令を使用するため、論物変換情報管理部が管理する論物変換情報を修正することで表名及び列名の変更に対応できるためである。
【0015】
第2の効果は、データベース検索に伴うコンピュータ間の通信量・回数を削減できることにある。特に、アプリケーションプログラムの一連の処理が幾つものモジュールによってなされ、且つ複数モジュールが同一データを必要とする場合には大きな効果が期待できる。
【0016】
その理由は、データベースから得られたデータを主記憶部に保持し、以後の同データへの検索は主記憶部上のデータに対して行なわれるためである。
【0017】
第3の効果は、アプリケーションプログラム開発時におけるデータベース検索手段の作成に必要な工数を削減できることにある。
【0018】
その理由は、本発明において検索命令を与えることにより汎用的にデータベース検索の機能を提供できるため、従来、個々のアプリケーションプログラム毎に用意していたデータベース操作手段を実装する必要が無くなるためである。
【発明を実施するための最良の形態】
【0019】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0020】
本発明の第1の実施の形態の構成を示す図1を参照すると、この実施の形態のデータベースアクセス管理システムは、コンピュータ100,200,300と、データベースの存在するディスク装置400,500と、ネットワーク600とから構成されている。
【0021】
コンピュータ200,300は、ディスク装置400,500内に格納されているデータベースの管理を行うデータベース管理システム210,310を備える。
【0022】
コンピュータ100は、構文解析部110と、履歴情報管理部120と、実行部130と、バッファ管理部140と、論物変換情報管理部150と、制御部160と、主記憶部170と、アプリケーションプログラム180とを含み、コンピュータ200,300とネットワーク600で接続されている。
【0023】
実行部130は、コンピュータ200,300におけるデータベースを操作するための物理SQLと呼称するデータベース管理システム210,310が解釈可能なSQLの実行を行う。
【0024】
制御部160は、アプリケーションプログラム180からの要求である論理SQLの受付とその結果を返すインターフェイス機能と、実行部130における物理SQLの実行の制御を行う機能を有する。
【0025】
構文解析部110は、制御部160を通じてアプリケーションプログラム180より渡された論理SQLを物理SQLへ変換する。
【0026】
論物変換情報管理部150は、構文解析部110における論物変換を行う際に必要となる論物変換情報の管理を行う。
【0027】
履歴情報管理部120は、論理SQLと論物変換された物理SQLとこの物理SQLの実行履歴の管理を行う。
【0028】
主記憶部170は、実行部130によって実行された物理SQLの結果を格納する。
【0029】
バッファ管理部140は、主記憶部170に格納されている物理SQLの結果の管理を行う。
【0030】
上記構成により、この実施の形態のデータベースアクセス管理システムは、アプリケーションプログラム180より論理SQLとして検索命令が与えられると構文解析部110により構文解析が行われ、データベース管理システム210,310が解釈可能なSQLを生成する。
【0031】
この際、検索命令で指定される表名及び列名は論物変換情報管理部150に保持されている論物変換情報(論理表名、物理表名、論理列名、物理列名)により、データベースで定義されている表名(物理表名)及び列名(物理列名)に論物変換される。
【0032】
履歴情報管理部120は過去に行われた問合せに関する履歴情報を保持している。
【0033】
実行部130によりネットワーク600を介してデータベース管理システム210から検索結果を取得し、バッファ管理部140は検索結果及びその管理情報を主記憶部170上に保持し、管理する。
【0034】
制御部160はアプリケーションプログラム180へのインターフェイスを提供すると共に、構文解析、履歴情報操作、バッファ操作、データベースアクセスを制御する。
【0035】
コンピュータ200はデータベース管理システム210を含み、且つデータベースの存在するディスク装置400が接続されている。
【0036】
同様に、コンピュータ300もデータベース管理システム310を含み、且つデータベースの存在するディスク装置500が接続されている。
【0037】
次に、図1及び図2を参照して本実施の形態の動作について詳細に説明する。
【0038】
制御部160はアプリケーションプログラム180から論理SQLとして検索命令を受け取ると、検索命令を構文解析部110へ渡す(図2のステップA1)。
【0039】
構文解析部110は受け取った検索命令の構文解析を行ない、論物変換情報管理部150の保持する論物変換情報を参照し物理SQLを生成する(ステップA2)。
【0040】
次に制御部160は先ほど得られた物理SQLで履歴情報管理部120が保持する履歴情報を検索する(ステップA3)。
【0041】
もし該当する履歴情報が存在しなければ新規に履歴情報を作成する(ステップA10)。
【0042】
該当する履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値とアプリケーションプログラム180から与えられたキー値とを比較する(ステップA6)。
【0043】
キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作する。
【0044】
キー値が異なっていれば、新規に履歴情報を作成し(ステップA11)、データベースアクセスを行なう(ステップA13)。
【0045】
検索結果は主記憶部170上のバッファに格納され(ステップA15)、これをバッファ管理部140にて管理する。
【0046】
次に、具体例を用いて本実施の形態の動作を説明する。
【0047】
図3に示すように、履歴情報管理部120、バッファ管理部140、論物変換情報管理部150はそれぞれ履歴情報、バッファ、論物変換情報を持っており、アプリケーションプログラム180から論理SQLとして検索命令が与えられたとする。
【0048】
アプリケーションプログラム180から与えられた検索命令は、構文解析部110において構文解析され、論物変換情報管理部150内の論物変換情報を使用して物理SQL(本例では"SELECT PCOL1, PCOL2 FROM PTBL WHERE PCOL1 = :v1")が生成される(ステップA2)。
【0049】
次に生成された物理SQLをもとに履歴情報管理部120に保持されている履歴情報を検索する(ステップA3)。
【0050】
該当する履歴情報(本例では履歴ID:1の履歴情報)が存在すれば、当該履歴情報のバッファIDをもとにバッファ管理部140より主記憶部170からバッファ(本例ではバッファID:100のバッファ)を取得する(ステップA5)。
【0051】
当該バッファに保持されているデータが検索された際のキー値と今回のデータベース検索に用いるキー値を比較し(ステップA6)、一致する場合にはデータベースへのアクセスは行わない(本例ではキー値は"123"で一致する)。
【0052】
キー値が異なっている場合には、当該バッファ及び当該履歴情報を履歴情報管理部120及びバッファ管理部140からそれぞれ削除したのち(ステップA8、A9)、新規にバッファ及び履歴情報を作成し(ステップA10、A11)、制御部160主導で主記憶部170中のデータベース情報に従ってデータベースアクセスを行い(ステップA12、A13)、バッファに結果及びキー値を格納する(ステップA14、A15)。
【0053】
最後にアプリケーションプログラム180に結果を返却(ステップA16)して、一連の処理を終える。
【0054】
この際、アプリケーションプログラム180からのデータベースアクセスは隠蔽されている。
【0055】
次に、本発明の第2の実施の形態について図4,図5を参照して詳細に説明する。
【0056】
第2の実施の形態の構成は図1に示した第1の実施の形態の構成と同じであるが、コンピュータ200,300上のデータベース管理システム210,310は、それぞれ同一の内容を持つデータベースを管理している。また、これらのデータベースに関する情報が主記憶部170中にデータベース情報として格納されている。
【0057】
従って、この第2の実施の形態における制御部160は、アプリケーションプログラム180からの要求である論理SQLの受付とその結果を返すインターフェイス機能と実行部130を介してコンピュータ200,300におけるデータベースに対する検索および同期をとった同一更新操作を行うための物理SQLの実行の制御を行う機能を有する。
【0058】
コンピュータ100上のアプリケーションプログラム180は、データベース管理システム210,310に対してアクセスを行ない、両データベースを常に同じ状態に保つ。
【0059】
図1、図4を参照して、この第2の実施の形態の動作について詳細に説明する。
【0060】
制御部160はアプリケーションプログラム180から論理SQLとしてデータベース操作命令を受け取ると、構文解析部110へ渡す(図4のステップB1)。
【0061】
構文解析部110は受け取ったデータベース操作命令の構文解析を行ない、論物変換情報管理部150の保持する論物変換情報を参照し物理SQLを生成する(ステップB2)。
【0062】
次に制御部160は先ほど得られた物理SQLで履歴情報管理部120が保持する履歴情報を検索する(ステップB3)。
【0063】
もし該当する履歴情報が存在しなければ新規に履歴情報を作成する(ステップB10)。
【0064】
該当する履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値とアプリケーションプログラム180から与えられたキー値とを比較する(ステップB6)。
【0065】
キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作する。
【0066】
キー値が異なっていれば、新規に履歴情報を作成し(ステップB8,9,10、11)、ネットワーク600を介してデータベースアクセスを行なう。
【0067】
この際、制御部160はクライアントの主記憶部170中に存在するデータベース情報を参照し、データベース管理システム210,310のどちらかを主なアクセス先として、データベースから検索結果を取得する(ステップB12、13)。
【0068】
取得した検索結果は主記憶部170上のバッファに格納される(ステップB14)。
【0069】
ここでデータベース操作命令が更新命令である場合、バッファ中のデータは更新され(ステップB17)、制御部160は主記憶部170中のデータベース情報を参照してデータベース管理システム210,310にアクセスし、更新結果をそれぞれのデータベースへ反映させる(ステップB18)。
【0070】
次に、具体例を用いて本実施の形態の動作を説明する。
【0071】
図5に示すように、履歴情報管理部120、バッファ管理部140、論物変換情報管理部150はそれぞれ履歴情報、バッファ、論物変換情報を持っており、アプリケーションプログラム180からデータベース操作命令が与えられたとする。
【0072】
アプリケーションプログラム180から与えられたデータベース操作命令は、構文解析部110において構文解析され、論物変換情報管理部150内の論物変換情報を使用して物理SQL(本例では"SELECT PCOL1,PCOL2 FROM PTBL WHERE PCOL1 = :v1")が生成される(ステップB2)。
【0073】
次に生成された物理SQLをもとに履歴情報管理部120に保持されている履歴情報を検索する(ステップB3)。
【0074】
該当する履歴情報(本例では履歴ID:1の履歴情報)が存在すれば、当該履歴情報のバッファIDをもとにバッファ管理部140より主記憶部170からバッファ(本例ではバッファID:100のバッファ)を取得する(ステップB5)。
【0075】
当該バッファに保持されているデータが検索された際のキー値と今回のデータベース検索に用いるキー値を比較し(ステップB6)、一致する場合にはデータベースへのアクセスは行わない(本例ではキー値は"123"で一致する)。
【0076】
キー値が異なっている場合には、当該バッファ及び当該履歴情報を履歴情報管理部120及びバッファ管理部140からそれぞれ削除したのち(ステップB8、B9)、新規にバッファ及び履歴情報を作成し(ステップB10、B11)、制御部160が主記憶部170中のデータベース管理情報を参照してデータベースアクセスを行い(ステップB12、B13)、バッファに結果及びキー値を格納する(ステップB14、B15)。
【0077】
ここでデータベース操作命令が更新命令(本例では更新命令)であれば、バッファ内のデータを更新する(本例ではPCOL2の値が”ABC”に更新される:ステップB17)。
【0078】
その後、更新結果はデータベースへ反映されるが、この際に制御部160は主記憶部170中のデータベース情報を参照し、登録されている各データベースに対して同じ更新操作を繰り返し実施して全てのデータベースを同じ状態に保つ(ステップB18)。
【0079】
この際、アプリケーションプログラム180からのデータベースアクセスは隠蔽されている。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施の形態の構成を示すブロック図である。
【図2】第1の実施の形態おける動作の一例を示す流れ図である。
【図3】第1の実施の形態おける具体例を説明する図である。
【図4】第2の実施の形態おける動作の一例を示す流れ図である。
【図5】第2の実施の形態おける具体例を説明する図である。
【符号の説明】
【0081】
100,200,300 コンピュータ
110 構文解析部
120 履歴情報管理部
130 実行部
140 バッファ管理部
150 論物変換情報管理部
160 制御部
170 主記憶部
180 アプリケーションプログラム
210,310 データベース管理システム
400,500 ディスク装置
600 ネットワーク

【特許請求の範囲】
【請求項1】
ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理SQL(Structured Query Language)と呼称する前記データベース管理システムが解釈可能なSQLの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理SQLを前記物理SQLへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理SQLと論物変換された前記物理SQLと前記物理SQLの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムから検索命令を受け取り、前記検索命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行なう制御部と、
前記論物変換情報、前記物理SQLと前記物理SQLの実行履歴および前記実行部によって実行された前記物理SQLの検索結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理SQLの結果の管理を行うバッファ管理部と
を備えるコンピュータと、
を備えることを特徴とするデータベースアクセス管理システム。
【請求項2】
アプリケーションプログラムから論理SQLとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納することを特徴とするデータベースアクセス管理方法。
【請求項3】
アプリケーションプログラムから論理SQLとして検索命令を受け取り、この検索命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、もし該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば、新規に履歴情報を作成し、データベースアクセスを行ない、検索結果は主記憶部上のバッファに格納する処理を、コンピュータに実行させるためのデータベースアクセス管理用プログラム。
【請求項4】
ディスク装置内に格納されているデータベースの管理を行うデータベース管理システムを備える複数のコンピュータ群と、
前記複数のコンピュータ群とネットワークで接続されていて、前記複数のコンピュータ群における前記データベースを操作するための物理SQLと呼称するデータベース管理システムが解釈可能なSQLの実行を行う実行部と、
アプリケーションプログラムより渡された前記論理SQLを前記物理SQLへ変換する構文解析部と、
前記構文解析部における論物変換を行う際に必要となる論物変換情報の管理を行う論物変換情報管理部と、
前記論理SQLと論物変換された前記物理SQLと前記物理SQLの実行履歴の管理を行う履歴情報管理部と、
前記アプリケーションプログラムからデータベース操作命令を受け取り、前記操作命令で履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる機能を有する制御部と、
前記論物変換情報と前記物理SQLと前記物理SQLの実行履歴および前記実行部によって実行された前記物理SQLの結果を格納する主記憶部と、
前記主記憶部に格納されている前記物理SQLの結果の管理を行うバッファ管理部と
を備えるコンピュータと
を備えることを特徴とするデータベースアクセス管理システム。
【請求項5】
アプリケーションプログラムから論理SQLとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させることを特徴とするデータベースアクセス管理方法。
【請求項6】
アプリケーションプログラムから論理SQLとしてデータベース操作命令を受け取り、このデータベース操作命令の構文解析を行ない、論物変換情報を参照し前記論理SQLから物理SQLを生成し、前記物理SQLで履歴情報を検索し、該当する前記履歴情報が存在しなければ新規に履歴情報を作成し、該当する前記履歴情報が存在すれば、その履歴情報に該当するバッファの持つキー値と前記アプリケーションプログラムから与えられたキー値とを比較し、前記キー値が等しい場合にはデータベースアクセスを行わずバッファ内のデータを操作し、前記キー値が異なっていれば新規に履歴情報を作成し、クライアントのデータベース情報を参照し、複数のデータベース管理システム群のどちらかを主なアクセス先として、データベースから検索結果を取得し、取得した前記検索結果は主記憶部上のバッファに格納し、データベース操作命令が更新命令である場合、バッファ中のデータは更新され、データベース情報を参照してデータベース管理システムにアクセスし、更新結果をそれぞれのデータベースへ反映させる
処理をコンピュータに実行させるためのデータベースアクセス管理用プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−209316(P2006−209316A)
【公開日】平成18年8月10日(2006.8.10)
【国際特許分類】
【出願番号】特願2005−18244(P2005−18244)
【出願日】平成17年1月26日(2005.1.26)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】