説明

情報処理装置

【課題】リレーショナルデータモデルに従ったデータベース操作言語によってアクセスされるデータベースを、リレーショナルデータモデルに従ったデータベースと、それ以外のモデルに従ったデータベースとからなる構成とする。
【解決手段】アプリケーション群17から送信されたSQLによって記述されたデータベース操作要求を受信すると、データベース切替部21は、その操作要求によって操作されるリレーションの名称に依存して、その要求をリレーショナルデータベース25を管理するリレーショナルデータベース操作部24か、非リレーショナルデータベース、例えば、インデックス付きレコードデータ28を管理するデータベース操作変換部26のいずれかに送信する。データベース操作変換部26は、受信された要求を変換テーブル27を参照してインデックス付きレコードデータ28を操作するAPIに変換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に係り、特に、データベース処理に関する。
【背景技術】
【0002】
情報処理装置で、リレーショナルデータモデルに従ってデータベースを構築し、そのモデルに従ったデータベース操作言語、例えば、SQLを介してデータベースを操作することが知られている。ここで、データベースの操作は、データの追加、変更、削除、そしてクエリ(検索)を含む。
【0003】
リレーショナルデータモデルに従うと、あらゆるデータは、n項の関係(リレーション)で論理的に表現され、アプリケーションがどのような手順でデータベースを操作するかに依存した表現はされない。そのため、データベース操作言語は、理解が容易であるが、データベース操作によっては処理に長時間を要することがある。
【0004】
また、主に、クエリの高速な処理を可能とするため、本来のデータの他に各種の補助データを付加させる。そこで、補助データの記憶のために大きい記憶容量を必要とすることがあり、また、補助データを操作するために長時間の処理を必要とすることがある。
【0005】
一方、ネットワーク型データモデル、木構造型データモデル、インデックス付きレコードデータ、ランダムアクセスデータ、ハッシングされたデータなどのデータ表現に従って構築されたデータベースでは、データベース操作言語は、データ表現に依存したものとなるため、理解が容易とは限らない。また、特定のクエリのみが可能であって、データベース操作言語は、API(Application Program Interface)として提供されることもある。しかし、どのようなデータベース操作であっても処理に必要な時間は予測が容易であり、更には、特定のクエリを高速に処理するデータベースを構築することも可能である。
【0006】
このように、リレーショナルデータモデルに従ったデータベースと、それ以外のモデルに従ったデータベースとは、それぞれ長短があるためにいずれも用いられている。しかしながら、複数のデータベースを用いるアプリケーションは、所望のデータがいずれのデータベースに記憶されているかに依存して異なるデータベース操作言語を介してアクセスする必要があり、複雑なプログラムとなる。
【0007】
そこで、アプリケーションは、いずれのデータベースへのアクセスであっても、例えば、SQLを介してアクセスすることとし、アクセスされるデータがリレーショナルデータモデル以外のモデルに従ったデータベースに含まれている場合、SQLをそのデータベースに固有のデータ操作言語に変更した上で、そのデータベースへアクセスすることが知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平2−67682号公報(第1頁、図1)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した特許文献1に開示されている方法では、リレーショナルデータモデルに従ったデータベースの長所と、それ以外のモデルに従ったデータベースの長所とを組み合せたデータベース構築が考慮されていない問題点があった。
【0010】
本発明は上記問題点を解決するためになされたもので、リレーショナルデータモデルに従ったデータベース操作言語によってアクセスされるデータベースを、リレーショナルデータモデルに従ったデータベースと、それ以外のモデルに従ったデータベースとからなる構成とすることによって、高速なデータベースクエリ操作を実現する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明の情報処理装置は、第1のデータベースを管理する第1のデータベース管理手段と、第2のデータベースを管理する第2のデータベース管理手段と、リレーショナルデータベース操作要求の要素毎にAPI(Application Program Interface)を記憶する記憶手段と、リレーショナルデータベース操作要求を受信して、その受信されたリレーショナルデータベース操作要求に係るリレーションに基づいて、その操作要求を前記第1のデータベース管理手段、及び、前記第2のデータベース管理手段のいずれか一方へ送信するデータベース切替手段とを有し、前記第1のデータベースは、リレーショナルデータベースであり、前記第1のデータベース管理手段は、前記データベース切替手段から送信されたリレーショナルデータベース操作要求を受信し、その操作要求に従って前記第1のデータベースを操作し、前記第2のデータベース管理手段は、前記データベース切替手段から送信されたリレーショナルデータベース操作要求を受信し、その操作要求を要素に分解し、前記記憶手段に記憶されたその分解された要素のAPIを呼び出すことによって、前記リレーショナルデータベース操作要求に従った前記第2のデータベースの操作を行うことを特徴とする。
【発明の効果】
【0012】
本発明によれば、リレーショナルデータモデルに従ったデータベース操作言語によってアクセスされるデータベースを、リレーショナルデータモデルに従ったデータベースと、それ以外のモデルに従ったデータベースとからなる構成とすることによって、高速なデータベースクエリ操作を実現することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る移動通信装置の構成を示すブロック図。
【図2】本発明の実施形態に係る移動通信装置のデータベース管理部の詳細な構成を示すブロック図。
【図3】本発明の実施形態に係る移動通信装置のデータベース管理部の動作の詳細を示すフローチャート。
【図4】本発明の実施形態に係る変換テーブルの第1の例。
【図5】本発明の実施形態に係る変換テーブルの第2の例。
【発明を実施するための形態】
【0014】
以下に、本発明の実施形態に係る情報処理装置が適用された移動通信装置の実施の形態を、図面を参照して説明する。図1は、本発明の実施形態に係る移動通信装置の構成を示すブロック図である。この移動通信装置は、装置全体の制御を行う制御部11と、移動通信網の基地局(図示せず)との間で電波の送受信を行うアンテナ12aと、通信部12bと、送受信部13と、通話用のスピーカ14aと、通話用のマイクロフォン14bと、通話部14cと、表示部15と、入力部16と、アプリケーション群17と、データベース管理部20とからなる。
【0015】
図2は、データベース管理部20の詳細な構成を示すブロック図である。データベース管理部20は、アプリケーション群17と接続されるデータベース切替部21と、リレーショナルデータベース管理部22と、インデックス付きレコードデータ管理部23とからなる。リレーショナルデータベース管理部22は、データベース切替部21と接続されるリレーショナルデータベース操作部24と、リレーショナルデータベース25とからなる。インデックス付きレコードデータ管理部23は、データベース切替部21と接続されるデータベース操作変換部26と、変換テーブル27と、インデックス付きレコードデータ28とからなる。
【0016】
上記のように構成された、本発明の実施形態に係る情報処理装置の各部の動作を、図1及び図2を参照して説明する。
【0017】
通信部12bは、アンテナ12aが受信した高周波信号を送受信部13へ出力し、また、送受信部13から出力される高周波信号をアンテナ12aより送信する。
【0018】
送受信部13は、通信部12bからの高周波信号を増幅、周波数変換及び復調し、それによって得られたディジタル音声信号を通話部14cへ、また、制御信号を制御部11に送る。更には、通話部14cから出力されるディジタル音声信号、及び制御部11から出力される制御信号を変調、周波数変換及び増幅し、高周波信号を得て、それを通信部12bに送る。
【0019】
通話部14cは、送受信部13から出力されるディジタル音声信号をアナログ音声信号に変換し、それを増幅してスピーカ14aに送る。また、マイクロフォン14bから出力されるアナログ音声信号を増幅し、それをディジタル音声信号に変換して送受信部13に送信する。
【0020】
表示部15は、使用者に操作を促す表示や、使用者が操作した内容の表示や、装置の動作状態の表示などに用いられるバックライト付きのLCD(Liquid Crystal Display)であり、制御部11に制御されることで、カーソルを含む文字・数字を含む画像データの表示動作を行い、表示されているデータは、入力部16からの入力操作や着信信号に応答して制御部11からの指示を受けることで切換わる。
【0021】
入力部16は、通信相手の電話番号などを指定し、また、トグル式の入力方式によってひらがな文字、アルファベット文字及び記号文字を入力するための数字キーと、カーソル移動キーやスクロールキーを含む複数の機能キーとを含むキーからなる。そして、入力部16のキーが押下されると、そのキーの識別子を制御部11に通知する。
【0022】
アプリケーション群17は、データベース管理部20に含まれるデータベースをSQLによる記述によって操作する1つ又は複数のアプリケーションである。アプリケーション群17に如何なるアプリケーションが含まれるかは、本発明の実施に影響を及ぼさないが、例えば、アドレス帳管理部、予定表管理部、電子メール管理部などである。これらのアプリケーションは、入力部16の所定のキー操作に従って、SQLによって記述されたデータベース操作をデータベース管理部20に要求する。その要求が、例えばクエリ操作であって、データベース管理部20から要求に対して検索されたデータが得られる場合、そのデータに基づく表示を表示部15にさせる。
【0023】
データベース管理部20は、SQLによって記述されたデータベース操作要求に従って、データベース管理部20内のデータベースの操作を行う。そして、その操作の結果を回答する。回答の一例は、例えば、操作がクエリである場合、検索されたデータである。
【0024】
データベース管理部20の動作の詳細を、図3に示すフローチャートを参照して説明する。データベース管理部20は、アプリケーション群17から送信された、SQLによって記述されたデータベース操作要求を受信してデータベース管理動作を開始する(ステップS101)。
【0025】
そして、まず、データベース切替部21は、受信されたSQLによって記述されたデータベース操作要求によって操作されるリレーションの名称がデータベース切替部21内に記憶されたリレーションの名称と一致するか否かを調べる(ステップS102)。そして、一致しない場合、そのデータベース操作要求はリレーショナルデータベース管理部22によって処理されると判断して、その要求をリレーショナルデータベース操作部24に送る。
【0026】
リレーショナルデータベース操作部24は、リレーショナルデータベース25に対して、受信されたSQLによって記述されたデータベース操作を行い(ステップS103)、その操作によって得られた回答を、データベース切替部21は、データベース操作要求を送信したアプリケーション群17に送信して(ステップS104)、データベース管理部20は、データベース管理動作を終了する(ステップS105)。
【0027】
ステップS103で、リレーショナルデータベース操作部24は、SQLによって記述可能な全てのデータベース操作要求に対する処理が可能である。この処理の一環として、リレーショナルデータベース操作部24は、SQLによって記述された要求のパース(構文解析)を行い、併せて、構文の誤り検出を行う。
【0028】
そして、リレーショナルデータベース操作部24は、パースの結果と、リレーショナルデータベース25に含まれるインデックスなどの補助データの有無を参照して、リレーショナルデータベース25を操作する。ここで、SQLによって記述された要求がクエリである場合、リレーショナルデータベース25に含まれる補助データを利用した最適化処理、即ち、最も高速と判断される処理手順の選択を伴う。
【0029】
一方、ステップS102で一致する場合、データベース切替部21は、そのデータベース操作要求はインデックス付きレコードデータ管理部23によって処理されると判断して、その要求をデータベース操作変換部26に送る。
【0030】
データベース操作変換部26は、SQLによって記述されたデータベース操作要求を受信して、その操作要求を要素に分解し、分解された要素を変換テーブル27を参照することによって、インデックス付きレコードデータ28を操作するAPIと、優先度との組に変換し(ステップS106)、優先度が高い組のAPIから、低い組のAPIへと、順にAPIを呼ぶことによってインデックス付きレコードデータ28を操作する(ステップS107)。
【0031】
データベース操作変換部26は、上記操作によって得られた結果をリレーショナルデータベース操作部24がリレーショナルデータベース25を操作して得る回答の形式に変換し(ステップS108)、データベース切替部21は、その変換によって得られた回答をデータベース操作要求を送信したアプリケーション群17に送信して(ステップS104)、データベース管理部20は、データベース管理動作を終了する(ステップS105)。
【0032】
ここで、データベース操作変換部26は、データベース切替部21によって選択されたリレーションに対する操作のみを行う。そこで、処理する操作には限りがあるため、例えば、その操作のパースは限られた処理である。更には、アプリケーション群17が操作記述に所定の区切り記号を含ませる、例えば、空白文字や、改行文字の使い方に制約を設けることによって、パースは更に限られた処理となる。
【0033】
また、インデックス付きレコードデータ28の操作は、変換テーブル27に記憶されたAPIを介して行うことによって最も高速な処理が可能であるので、データベース操作変換部26は、それ以外の最適化処理は行わない。
【0034】
上記のように構成された、本発明の実施形態に係る情報処理装置において、如何なるSQLによって記述されたデータベース操作要求が、如何にインデックス付きレコードデータ管理部23によって処理されるかを説明する。なお、リレーショナルデータベース操作部24は、周知のように、SQLによって記述可能な全てのデータベース操作要求を処理するので、処理の詳細の説明を省略する。
【0035】
(第1の例)
以下の(式1)〜(式4)は、インデックス付きレコードデータ管理部23によって処理されるデータベース操作要求の例を示す。この要求は、SQLによって記述されるが、理解を容易にするため、必ずしもSQLの文法に従うことなく、要点を示す。
【0036】
SELECT 要求属性 FROM R1
WHERE 条件1 ORDER BY ソート属性 (式1)
SELECT 要求属性 FROM R1
WHERE 条件2 ORDER BY ソート属性 (式2)
SELECT 要求属性 FROM R1
WHERE 条件1 AND 条件2 ORDER BY ソート属性 (式3)
SELECT 要求属性 FROM R1
WHERE 条件1 OR 条件2 ORDER BY ソート属性 (式4)
【0037】
ここで、R1はリレーション名、条件1はA1=V1、条件2はA2=V2(A1、A2は、R1の属性名。)、V1、V2は値である。また、要求属性はR1の属性名、ソート属性はR1の属性名と、ソート順(昇順か、降順か。)である。
【0038】
図4は、この(式1)〜(式4)で示された要求を処理するための変換テーブル27の第1の例を示す。変換テーブル27は、操作要求の要素27aと、API27bと、優先度27cとが関連付けられている。ここで、操作要求の要素27aは、SQLによって記述されたデータベース操作要求の要素であって、図4に示すように、リレーション名、条件などである。API27bは、操作要求の要素27aを処理するためにインデックス付きレコードデータ28を操作するAPIである。優先度27cは、API27bのいずれを先に呼び出すかを示し、高い場合先に、低い場合後に呼び出すことを示す。
【0039】
(式1)が、変換テーブル27を参照しつつデータベース操作変換部26によって処理される手順を説明する。まず、操作対象のリレーション名が「R1」なので、操作要求の要素27aが「R1」である変換テーブル27を検索する。その検索の結果、そのリレーションに関する操作は、API27bが示す「機能API_R1()」を介して行うので、このAPIを呼び出す。ここで、このAPI27bによって呼び出される機能は、リレーション「R1」が如何にインデックス付きレコードデータ28にマッピングされているかに従って作成されている。例えば、その属性のいずれについてインデックスが付いているかなどに完全に依存して作られているので、最適化の動作は不要である。
【0040】
次に、データベース操作要求の要素として「条件1」が取り出され、操作要求の要素27aが「R1_A1=V1」である変換テーブル27を検索する。ここで、「R1_A1=V1」は、条件1である「A1=V1」と比較して、A1がR1の属性であることを示すため、「A1」の前に「R1_」が付加されている。その検索の結果、この条件の検索は、API27bが示す「機能API_R1_A1()」を介して行うので、このAPIを呼び出すことによって、「条件1」の検索が行われる。
【0041】
検索の後、(式1)の要求属性が選択され、ソート属性に従ってソートされる。これは、要求属性及びソート属性が事前に定められていれば、検索の一環として行われる。それらが事前に定められていない場合、それらを操作要求の要素27aとする変換テーブル27のAPI27bを介して行われる。
【0042】
(式2)は、(式1)と比較して、「条件1」に代えて「条件2」である。そこで、上述した(式1)の処理の「機能API_R1_A1()」に代えて「機能API_R1_A2()」が用いられる。ここで、これらの2つのAPIを介して呼び出されるプログラムの内容は異なっていることがある。例えば、属性「A1」や、属性「A2」にインデックスが付けられているか否かによって、プログラムは大きく異なる。
【0043】
(式3)は、(式1)と比較して、「条件1」に代えて「条件1 AND 条件2」である。そこで、「機能API_R1_A1()」及び「機能API_R1_A2()」の2つのAPIを介して検索が行われる。ただし、前者に関連付けられた優先度27cが「高」で、後者に関連付けられた優先度27cが「低」であるので、まず、前者を介した検索を行い、次に、後者を介した検索が行われる。
【0044】
この優先度27cの高低は、属性「A1」に係わる検索は、属性「A2」に係わる検索より高速に処理されることに基づいている。その理由は、属性「A1」にはインデックスが付されているが、属性「A2」にはインデックスが付されていない、属性「A1」の値は整数であって、属性「A2」の値は文字列や、浮動小数点数である、属性「A1」の値は4バイトの文字列であって、属性「A2」の値は可変長の文字列である、属性「A1」の値は整数であって、属性「A2」の値は画像であるなどであって、CPUの能力に依存する。
【0045】
なお、属性「A1」と、属性「A2」とが上記のいずれかに該当する場合であっても、機械的に上記の優先度27cとなる訳ではない。変換テーブル27は、CPUの能力に加え、アプリケーション群17が如何なるクエリ要求を行うか、また、インデックス付きレコードデータ28に記憶される値の分布を熟知している設計者によって設計され、最適な処理が行われるように設定される。例えば、ある属性を用いた検索によって得られるデータの件数が極めて少数である場合、その属性に関連付けられた優先度27cは高くなる。
【0046】
(式4)は、(式3)と比較して、条件の「AND」に代えて「OR」である。そこで、リレーション名が「R1」でり、ORの検索である場合のデータベース操作要求の要素として「R1_OR」が取り出され、操作要求の要素27aが「R1_OR」である変換テーブル27を検索する。その検索の結果、この条件の検索は、API27bが示す「機能API_R1_SEQ()」を介して行うので、このAPIを呼び出すことによって、(式4)の検索が行われる。
【0047】
ここで、この「機能API_R1_SEQ()」は、リレーション「R1」マッピングされているインデックス付きレコードデータ28をシーケンシャルにアクセスするAPIである。属性「A1」や、属性「A2」にインデックスが付けられているか否かに係わらず、「R1_OR」を含む検索は、シーケンシャルアクセスによることが示されている。
【0048】
これは、例えば、属性「A1」や、属性「A2」の値の分布に依存して、たとえ、インデックスが付されていても、用いないことによって一層高速な処理が可能な場合に対応する。即ち、変換テーブル27は、インデックス付きレコードデータ28に記憶される値の分布を熟知している設計者によって設計されるので、クエリ時の最適化処理を行うことなく最適な処理が可能である。一方、リレーショナルデータベース操作部24は、値の分布に依存した最適化処理が最適でない可能性がある。
【0049】
(第2の例)
図5は、上記(式1)〜(式4)で示された要求を処理するための変換テーブル27の第2の例を示す。この例は、図4に示す第2の例と比較して、「機能API_R1()」なるAPI27bに代えて、「機能API_R11()、機能API_R12()」と記憶され、リレーション「R1」に関する操作は、2つのAPIを介して行うことが示されている。これは、リレーション「R1」は、2つのインデックス付きレコードデータ28、「R11」と、「R12」とからなることを示している。
【0050】
また、「機能API_R1_A1()」なるAPI27bと、「機能API_R1_A2()」なるAPI27bに代えて、それぞれ「機能API_R11_A1()」、「機能API_R12_A2()」と記憶され、属性「A1」は、「R11」なるインデックス付きレコードデータ28に、属性「A2」は、「R12」なるインデックス付きレコードデータ28に記憶されていることを示す。
【0051】
このように、アプリケーション群17から送信されるデータベース操作記述によれば、1つのリレーション「R1」に対する操作であるが、データベース操作変換部26による変換を経ると、2つのインデックス付きレコードデータ28に対する操作となることは、SQLのジョイン操作の高速化に相当する。
【0052】
即ち、2つのリレーションのジョインを経て行われるクエリにおいて、ジョインは、理解が容易なデータベース操作であるが、その実行には比較的長時間を要する。特に、ジョイン操作で指定される2つのリレーションの属性によっては、長時間を要する。例えば、それらの属性にインデックスが付されていない場合、それらの属性の値が可変長の文字列である場合などである。
【0053】
このように、長時間を要する場合であっても、ジョインの前に、例えば、ジョインされるリレーションの中の特定の一方(図5に示す例では、属性「A1」が含まれる、「R11」なるインデックス付きレコードデータ28。)に対する検索を行うことによって、得られるデータの件数が極くわずかな件数になる場合、上記2つのリレーションは、リレーショナルデータベース管理部22によって管理されるより、インデックス付きレコードデータ管理部23によって管理される方が高速な処理がされることがある。なお、この場合も、変換テーブル27は、インデックス付きレコードデータ28に記憶される値や、それに対して行われる操作を熟知している設計者によって設計されることが必要である。
【0054】
また、リレーション「R1」を2つのインデックス付きレコードデータ28、「R11」と、「R12」とに分けることは、そのリレーションの属性の値によって、データを二分し、それぞれを異なるインデックス付きレコードデータ28として記憶させることにも用いられる。例えば、二分された一方の上記属性以外の属性の値が可変長のビット列であり、他方は、その値がない(NULL値である。)場合、異なるインデックス付きレコードデータ28とすることにより、高速な処理と、記憶容量の有効利用が可能である。
【0055】
以上の説明は、処理速度が最も重視されるクエリ操作を例に行ったが、これ以外の操作、データの追加、変更、及び削除についても同様である。
【0056】
以上の説明で、操作要求の要素27aとして記憶される条件は、属性名、比較演算子、及び値からなるとしたが、これに限るものではない。属性名、及び比較演算子からなるとしても良く、また、属性名からなるとしても良い。それぞれの場合、操作要求の要素27aとして記憶されない部分は、API27bが示すAPIへ伝えられ、そのAPIが伝えられた情報に従ってデータベースを操作する。
【0057】
以上の説明で、データベース切替部21は、データベース切替部21内に記憶されたリレーションの名称を参照することによって、SQLによって記述されたデータベース操作要求がリレーショナルデータベース管理部22によって処理されるか、インデックス付きレコードデータ管理部23によって処理されるかを判断するとしたが、これに限るものではない。クエリの条件も参照して判断しても良い。この処理によれば、クエリの条件に従って、より高速な処理が可能な管理部を選択することができる。
【0058】
なお、クエリの条件も参照して判断する処理においては、データベース切替部21は、変換テーブル27の操作要求の要素27aとして操作の要素が記憶されているクエリは、インデックス付きレコードデータ管理部23によって処理されると判断しても良い。ただし、上記の処理による場合、同じリレーションをリレーショナルデータベース管理部22と、インデックス付きレコードデータ管理部23の双方に分割して、又は、二重に記憶させ、管理させることが必要になる。
【0059】
以上の説明で、データベース管理部20は、リレーショナルデータベース管理部22に加えて、インデックス付きレコードデータ28を管理するインデックス付きレコードデータ管理部23からなるとしたが、これに限るものではない。即ち、データベース管理部20は、リレーショナルデータベース管理部22に加えて、リレーショナルデータモデルに基づかずに構築された任意のデータベースを管理する管理部を備えることによって、本発明は実施可能である。
【0060】
リレーショナルデータモデルに基づかないデータベースには、ネットワーク型データモデルによるデータベース、木構造型データモデルによるデータベース、インデックス付きレコードデータ、ランダムアクセスデータ、ハッシングされたデータなどがある。
【0061】
以上の説明は、本発明を移動通信装置に適用した形態を例にとって行ったが、これに限るものではない。本発明は、あらゆる情報処理装置に適用することが当然に可能である。本発明は以上の構成に限定されるものではなく、種々の変形が可能である。
【符号の説明】
【0062】
17 アプリケーション群
20 データベース管理部
21 データベース切替部
22 リレーショナルデータベース管理部
23 インデックス付きレコードデータ管理部
24 リレーショナルデータベース操作部
25 リレーショナルデータベース
26 データベース操作変換部
27 変換テーブル
27a 操作要求の要素
27b API
27c 優先度
28 インデックス付きレコードデータ

【特許請求の範囲】
【請求項1】
第1のデータベースを管理する第1のデータベース管理手段と、
第2のデータベースを管理する第2のデータベース管理手段と、
リレーショナルデータベース操作要求の要素毎にAPI(Application Program Interface)を記憶する記憶手段と、
リレーショナルデータベース操作要求を受信して、その受信されたリレーショナルデータベース操作要求に係るリレーションに基づいて、その操作要求を前記第1のデータベース管理手段、及び、前記第2のデータベース管理手段のいずれか一方へ送信するデータベース切替手段とを有し、
前記第1のデータベースは、リレーショナルデータベースであり、
前記第1のデータベース管理手段は、前記データベース切替手段から送信されたリレーショナルデータベース操作要求を受信し、その操作要求に従って前記第1のデータベースを操作し、
前記第2のデータベース管理手段は、前記データベース切替手段から送信されたリレーショナルデータベース操作要求を受信し、その操作要求を要素に分解し、前記記憶手段に記憶されたその分解された要素のAPIを呼び出すことによって、前記リレーショナルデータベース操作要求に従った前記第2のデータベースの操作を行う
ことを特徴とする情報処理装置。
【請求項2】
前記リレーショナルデータベース操作要求の要素は、そのリレーショナルデータベース操作要求に含まれるリレーションである
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記リレーショナルデータベース操作要求は、リレーショナルデータベースに対するクエリである
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記リレーショナルデータベース操作要求の要素は、前記クエリに含まれる検索条件である
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記検索条件は、リレーションの属性と、比較演算子と、値とからなる
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記記憶手段は、更に、前記検索条件のAPI毎に優先度を記憶し、
前記第2のデータベース管理手段は、前記リレーショナルデータベース操作要求の要素として複数の前記検索条件を含む場合、それらの検索条件のAPIの中で、前記優先度が高いAPIを先に呼び出す
ことを特徴とする請求項4に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate