(57)【要約】【課題】  Ｗｅｂ系システム等のオープン環境から、階層型データベースで構成された基幹データベースに対してアクセス可能なデータベース・アクセス方法を提供する。【解決手段】  階層型データベースへのアクセスを提供するシステムであって、木構造データに変換した前記階層型データベースに関連するスキーマ情報を記憶する記憶部と、第１のアクセス要求に対応する前記木構造データに変換されたスキーマ情報に基づき、前記階層型データベースに対する第２のアクセス要求を生成するアクセス要求生成部と、を備えることを特徴とするシステム。【選択図】      図１
2006235840.tif 000002
【特許請求の範囲】
【請求項１】
階層型データベースへのアクセスを提供するシステムであって、
木構造データに変換した前記階層型データベースに関連するスキーマ情報を記憶する記憶部と、
第１のアクセス要求に対応する前記木構造データに変換されたスキーマ情報に基づき、前記階層型データベースに対する第２のアクセス要求を生成するアクセス要求生成部と、
を備えることを特徴とするシステム。
【請求項２】
前記第１のアクセス要求から、データベース論理仕様の識別情報、前記要求の探索引数、及び前記要求の実行内容である機能コードを解読する解読部を備えることを特徴とする、請求項１に記載のシステム。
【請求項３】
前記記憶された木構造データから所定の木構造データを前記識別情報により特定し、前記所定の木構造データのノードを前記探索引数により特定し、前記特定したノードから前記階層型データベースへのアクセスに必要な情報を取得する木構造データアクセス部を備えることを特徴とする、請求項２に記載のシステム。
【請求項４】
前記アクセス要求生成部が生成した前記第２のアクセス要求を前記階層型データベースに送信し、前記階層型データベースへアクセスを行う階層型データアクセス部を備えることを特徴とする、請求項１に記載のシステム。
【請求項５】
前記木構造データがＸＭＬデータである、請求項１に記載のシステム。
【請求項６】
前記記憶部が、前記木構造データを記憶する際に、ＤＯＭで展開してアクセス可能にした木構造データを記憶することを特徴とする、請求項５に記載のシステム。
【請求項７】
前記解読部は、ＸＭＬパーサにより解読することを特徴とする、請求項２に記載のシステム。
【請求項８】
階層型データベースへのアクセスを提供するデータベース・アクセス方法であって、
木構造データに変換した前記階層型データベースに関連するスキーマ情報を記憶する記憶ステップと、
第１のアクセス要求に対応する前記木構造データに変換されたスキーマ情報に基づき、前記階層型データベースに対する第２のアクセス要求を生成するアクセス要求生成ステップと、
を備えることを特徴とするデータベース・アクセス方法。
【請求項９】
前記第１のアクセス要求から、データベース論理仕様の識別情報、前記要求の探索引数、及び前記要求の実行内容である機能コードを解読する解読ステップを備えることを特徴とする、請求項８に記載のデータベース・アクセス方法。
【請求項１０】
前記記憶された木構造データから所定の木構造データを前記識別情報により特定し、前記所定の木構造データのノードを前記探索引数により特定し、前記特定したノードから前記階層型データベースへのアクセスに必要な情報を取得する木構造データアクセスステップを備えることを特徴とする、請求項９に記載のデータベース・アクセス方法。
【請求項１１】
前記アクセス要求生成ステップで生成された前記第２のアクセス要求を前記階層型データベースに送信することで前記階層型データベースへアクセスするステップを備えることを特徴とする、請求項８に記載のデータベース・アクセス方法。
【請求項１２】
前記木構造データがＸＭＬデータである、請求項８に記載のデータベース・アクセス方法。
【請求項１３】
前記記憶ステップが、前記木構造データを記憶する際に、ＤＯＭで展開してアクセス可能にした木構造データを記憶することを特徴とする、請求項１２に記載のデータベース・アクセス方法。
【請求項１４】
前記解読ステップでは、ＸＭＬパーサにより解読することを特徴とする、請求項９に記載のデータベース・アクセス方法。
【請求項１５】
階層型データベースへのアクセスを提供する機能を実現するコンピュータ・プログラムであって、
木構造データに変換した前記階層型データベースに関連するスキーマ情報を記憶する記憶機能と、
第１のアクセス要求に対応する前記木構造データに変換されたスキーマ情報に基づき、前記階層型データベースに対する第２のアクセス要求を生成するアクセス要求生成機能と、
を実現することを特徴とするコンピュータ・プログラム。
【請求項１６】
請求項１５に記載のコンピュータ・プログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムにおけるデータベースへアクセスを行うデータベース・アクセス・システム、データベース・アクセス方法に関する。特に、アクセスする対象となる基幹データベースが階層型データベースである場合のデータベース・アクセス・システム、データベース・アクセス方法に関する。
【背景技術】
【０００２】
従来より、情報処理システムに備えられた基幹データベースとして、階層型データベース（例えば、非特許文献１）が採用されており、この階層型データベースをＷｅｂ（World  Wide  Web）系システムからアクセス可能にする試みがなされている。例えば、階層型データベースをリレーショナル型データベースに変換することにより、Ｗｅｂシステムとレガシーシステムとを連携させる方法や、階層型データベースを呼び出すためのブリッジプログラムを介在させることにより、Ｗｅｂシステムとレガシーシステムとを連携させる方法である。
【０００３】
前者の階層型データベースをリレーショナル型データベースに変換する方法では、レガシーシステムをオープン環境に移行する場合には有効な方法である。しかし、日々更新される基幹データを、その都度リレーショナル型データベースに変更する必要が生じるため、変更を行うタイミングや、変更を行う際の整合性を確保することに十分留意する必要がある。さらに、同一のデータ内容を異なるデータ形式で保持する必要が生じるため、記憶すべきデータに対して両形式のための余分な記憶容量が必要となる。
【０００４】
後者の階層型データベースを呼び出すためのブリッジプログラムを介在させる方法では、階層型データベースのアクセスのために、ブリッジプログラムを作成することを必要とする。したがって、階層型データベースのプログラムの変更があった場合に、ブリッジプログラムの変更、更新を必要とする。さらに、Ｗｅｂ系システムから従来とは異なるアクセス手法が提供された場合にも、これに対応するためブリッジプログラムの変更、更新が必要となる。
【０００５】
一方、Ｗｅｂ系システムからＸＭＬデータで構成されたデータに対するアクセス方法も知られている（非特許文献２）。非特許文献２では、アクセスする対象となるデータベースが、階層型データベースではないため、基幹データベースとして、既存の階層型データベースを利用することはできない。
【非特許文献１】情報処理学会編  情報処理ハンドブック  オーム社  第１版  コンパクト版  ９０２頁
【非特許文献２】岩城貴雅  他２名、群馬大学、オブジェクトデータベースによるＸＭＬデータの管理、[平成１７年１月１１日検索]、インターネット（ＵＲＬ：http://www.dbms.cs.gunma-u.ac.jp/~iwaki/dews2001/5A-4-P.ppt）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、Ｗｅｂ系システムから階層型データベースへのアクセスを可能にする手法は、課題が残されているが、今日のＷｅｂ系システムは、既存の基幹系システムの階層型データベースを利用することも多く、階層型データベースのプログラムの変更や、Ｗｅｂ系システムの頻繁な機能拡張に対して、柔軟に対応できる階層型データベースへのアクセス方法の提供が望まれていた。
【０００７】
本発明の目的は、Ｗｅｂ系システム等のオープン環境から、階層型データベースで構成された基幹データベースに対してアクセス可能なデータベース・アクセス・システム、データベース・アクセス方法を提供することである。
【課題を解決するための手段】
【０００８】
そこで、本発明は、階層型データベースへのアクセスを提供するシステムであって、木構造データに変換した前記階層型データベースに関連するスキーマ情報を記憶する記憶部と、第１のアクセス要求に対応する前記木構造データに変換されたスキーマ情報に基づき、前記階層型データベースに対する第２のアクセス要求を生成するアクセス要求生成部とを備えることを特徴とするシステムを提供する。
【０００９】
上述のシステムによれば、階層型データベースのデータにアクセスする際に、階層型データベースのスキーマ情報を、木構造データとして記憶しておき、この木構造データに変換された情報を用いて階層型データベースにアクセスを行う。
【００１０】
したがって、（第１の）アクセス要求に対して、記憶部に記憶した木構造データから情報を取得することで（第２の）アクセス要求を生成し、階層型データベースへアクセスを可能にすることができる。この際に、階層型データベースのスキーマ情報が木構造データで展開され、これを仮想的なデータベースとして使用することで、第２のアクセス要求を生成し、階層型データベースへのアクセスを可能とする。このため、階層型データベースをリレーショナル型データベースに変換する方法とは異なり、更新される階層型データを、その都度リレーショナル型データベースに変更する必要が生じることがなく、変更を行うタイミングや、変更を行う際の整合性を確保することを考慮する必要も無くなる。
【００１１】
加えて、階層型データベースを呼び出すためのブリッジプログラムを介在させる方法とは異なり、階層型データベースのアクセスのために、ブリッジプログラムを作成する必要がなく、階層型データベースのプログラムの変更があった場合にも柔軟に対応することが可能である。
【００１２】
また、本発明では、階層型データベースのデータやプログラムの正常性を確認する際に、実際の階層型データベースへアクセスすることなく正常性を確認することができる。すなわち、階層型データベースのデータソースへ直接、アクセスすることなく、仮想的な木構造データベースへアクセスすることで階層型データベースの正常性を確認することができる。
【００１３】
さらに、具体的には、前記木構造データがＸＭＬデータであり、前記記憶部が、前記木構造データを展開する際に、ＤＯＭで展開してアクセス可能にした木構造データである記憶部を備えることを特徴とするデータベース・アクセス・システムを提供する。
【００１４】
この発明によれば、木構造データをＸＭＬ（Extensible  Markup  Language）形式で記述し、木構造データをＤＯＭ（Document  Object  Model）で展開してアクセス可能にするため、Ｗｅｂ系システムからのアクセスがXPath等を使用した場合に、これに対応して階層型データベースへアクセスすることを可能にする。したがって、本発明によればＷｅｂ系システムからの第１のアクセス要求によるインターフェースの記述をＸＭＬで記述することができるため、階層型データベースへのアクセス手法としては柔軟性が高く、生産性が高い方法を提供することが可能である。
【発明の効果】
【００１５】
本発明によれば、Ｗｅｂ系システム等のオープン環境から、階層型データベースで構成された基幹データベースに対してアクセス可能なデータベース・アクセス方法を提供することが可能である。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
【００１７】
図１に、本発明の好適な実施例であるデータベース・アクセス・システム１の構成と、階層型データベース２３と、階層型データベース２３のスキーマ情報を記憶した第１スキーマ情報ライブラリ２２とを示した。ここで、データベース・アクセス・システム１は、本システムを構成する各部が、独立した装置であって、全体としてデータベース・アクセス・システム１を構成してもよい。また、データベース・アクセス・システム１を構成する各部が単一のハードウェアで構成されたデータベース・アクセス装置であってもよい。
【００１８】
データベース・アクセス・システム１は、Ｗｅｂ系システムのプログラム（アプリケーション・プログラム等）から階層型データベース２３へアクセスする要求を受けて、階層型データベースへアクセスを行い、アクセスした結果をアプリケーション・プログラム等に応答する。ここで、データベース・アクセス・システム１は、ハードウェアとして独立した装置として構成されていてもよいが、第１スキーマ情報ライブラリ２２や、階層型データベース２３を記憶したコンピュータであってもよい。
【００１９】
階層型データベース２３は、基幹データベースである階層型データを記憶したデータベースである。ここで、階層型データベース２３に記憶されている階層型データとは、データが階層的に構成されるデータであり、木構造で構成可能なデータである。さらに、階層型データベース２３は、階層型データベース内のデータに対してアクセスするパス（スキーマ情報）を、他のライブラリにより記憶しているデータベースである（図１では、第１スキーマ情報ライブラリ２２により記憶している）。階層型データベース２３の例としては、ＤＬ／Ｉ  ＤＢ、ＩＭＳ（登録商標）  ＤＢが知られている。本発明では、この階層型データベースに記憶されたデータをソースデータとして、このソースデータへアクセスするための方法を提供する。
【００２０】
第１スキーマ情報ライブラリ２２は、階層型データベース２３の第１スキーマ情報を記憶する。この第１スキーマ情報とは、データベースのデータに関する記述である。一例として、第１スキーマ情報とは、階層型データベース内のデータに対してアクセスするパスである。階層型データベースにおける第１スキーマ情報には、外部スキーマ情報であるプログラム仕様ブロック（ＰＳＢ：Program Specification Block）や、概念スキーマ情報であるデータベース記述（ＤＢＤ：Data  Base  Description）が該当する。ここで、外部スキーマ情報、概念スキーマ情報とは、ＡＮＳＩ／Ｘ３／ＳＰＡＲＣによる３層スキーマアーキテクチャでの外部スキーマ、概念スキーマに対応する。また、第１スキーマ情報は、以下で説明するデータ変換部１５にて変換された後に、第２スキーマ情報となる。
【００２１】
データベース・アクセス・システム１は、アプリケーション・プログラムからの要求がある前に、データ変換部１５により、第１スキーマ情報を第２スキーマ情報に変換し、これを第２スキーマ情報ライブラリ２１に記憶する。そして、データベース・アクセス・システム１の展開部１２は、第２スキーマ情報を展開して、木構造データベース記憶部２０に記憶する。アプリケーション・プログラムからの要求があった場合には、データベース・アクセス・システム１は、この木構造データベース記憶部２０に記憶されたデータを使用して、階層型データベース２３にアクセスを行う。以下、データベース・アクセス・システム１が、木構造データベース記憶部２０にデータを記憶するまでの作用について説明する。
【００２２】
データ変換部１５は、第１スキーマ情報を第２スキーマ情報へ変換する。すなわち、データ変換部１５は、第１スキーマ情報ライブラリ２２に記憶された第１スキーマ情報を第２スキーマ情報に変換し、変換した第２スキーマ情報を第２スキーマ情報ライブラリ２１に記憶する。ここで、第２スキーマ情報とは、第１スキーマ情報を木構造データ（例えばＸＭＬデータ）に変換した情報である。第１スキーマ情報を木構造データに変換する際には、ＰＣＢの情報に基づいてデータ変換部１５が木構造を構成してもよい。さらに、この構成した木構造の各ノードに、このノードに関連した情報が付加されてもよい。ここで、付加する情報は、プログラム仕様ブロック（ＰＳＢ）、データベース記述（ＤＢＤ）から提供される。
【００２３】
展開部１２は、第２スキーマ情報ライブラリ２１に記憶された第２スキーマ情報を展開して、木構造データベースを構成する。第２スキーマ情報は、ＤＯＭ（Document  Object  Model）により展開されてもよい。展開された木構造データベースは、木構造データベース記憶部２０に記憶される。ここで、第２スキーマ情報の展開が、データベース・アクセス・システム１の初期化時に行われてもよい。すなわち、第２スキーマ情報がＸＭＬデータとして第２スキーマ情報ライブラリ２１に記憶されており、この記憶されているＸＭＬデータを、データベース・アクセス・システム１の初期化時にＤＯＭによる展開が行われてもよい。
【００２４】
木構造データベース記憶部２０により記憶されたデータを用いて、データベース・アクセス・システム１は、階層型データベース２３にアクセスする。以下、アプリケーション・プログラムの要求を受けた際のデータベース・アクセス・システム１の作用について説明する。
【００２５】
データベース・アクセス・システム１は、制御部１６として、解読部１０、木構造データアクセス部１１、アクセス要求生成部１３、階層型データアクセス部１４、データ変換部１５、木構造データベース記憶部２０を含む。制御部１６は、データベース・アクセス・システム全体の制御を行い、中央処理演算装置（ＣＰＵ）であってよい。制御部１６を構成する各部は、ハードウェアとして実現されてもよいし、ソフトウェアのモジュールにより実現されてもよい。
【００２６】
解読部１０は、Ｗｅｂ系システムからのアプリケーション・プログラム等からの第１のアクセス要求を受けて、この第１のアクセス要求であるアプリケーション・プログラム・インターフェース（ＡＰＩ）を解読する。ここで、Ｗｅｂ系システムからのアクセス要求とは、例えば、Ｗｅｂシステムからのアクセスであって、Ｗｅｂサーバ等で動作するアプリケーション・プログラムからの階層型データベース２３へのアクセス要求であってよい。以下、Ｗｅｂ系システムにて動作するプログラムのアクセスの一例として、Ｗｅｂサーバで動作するアプリケーション・プログラムからのアクセス要求について説明する。
【００２７】
解読部１０は、階層型データベース２３へのアプリケーション・プログラム・インターフェース（ＡＰＩ）から、アクセスの対象となるデータベース論理仕様（ＰＣＢ）の識別情報、要求の探索引数（ＳＳＡ）、及び要求の実行内容である機能コードを解読する。
【００２８】
ここで、ＰＣＢ(Program  Control  Block)は、ＰＳＢのサブセットである。すなわち、アプリケーション・プログラムが階層型データベースへアクセスを要求した際に、そのアクセスのインターフェースからプログラム仕様ブロック（ＰＳＢ）が呼び出され、このＰＳＢのうち、このアクセスに対応した外部スキーマとして、ＰＣＢが呼び出される。
【００２９】
木構造データアクセス部１１は、解読部１０が解読したアプリケーション・プログラムの要求から、ＰＣＢの識別情報を抽出し、どのＰＣＢであるかを特定する。ＰＣＢが特定されることで、木構造データアクセス部１１は、木構造データベース記憶部２０に記憶された木構造データのうち一つの木構造データを特定する。次に、木構造データアクセス部１１は、解読部１０が解読した要求から探索引数を抽出し、木構造データの一つのノードを特定し、特定したノードからアプリケーション・プログラムからのアクセスに必要な情報（データベースのセグメント名やフィールド名等）を取得する。
【００３０】
アクセス要求生成部１３は、木構造データアクセス部１１が取得したアプリケーション・プログラムからのアクセスに必要な情報から、第２のアクセス要求となる、階層型データベース２３に対する実アプリケーション・プログラム・インターフェースを生成する。階層型データベース２３に対する実アプリケーション・プログラム・インターフェースとは、通常、階層型データベース２３がアクセスのために使用されるデータベース・インターフェース（ＤＢＩ）である。このインターフェースを生成するために、データベースの外部スキーマの実アドレスや実セグメント名等が木構造データから取得される。
【００３１】
階層型データアクセス部１４は、アクセス要求生成部１３が生成した実アプリケーション・プログラム・インターフェースを用いて、階層型データベース２３に記憶された階層型データにアクセスする。
【００３２】
次に、図２を用いて第１スキーマ情報から第２スキーマ情報へのデータ変換処理について説明する。データ変換処理は、実際に階層型データベース２３へのアクセスがある前に実行され、階層型データベース２３のスキーマ情報である第１スキーマ情報を、第２スキーマ情報へ変換するために行う。
【００３３】
データ変換部１５は、第１スキーマ情報ライブラリ２２から第１スキーマ情報を読み取り（ステップＳ０１）、第１スキーマ情報から第２スキーマ情報（木構造データ）に変換する（ステップＳ０２）。次に、データ変換部１５は、第１スキーマ情報の属性情報を取り出して、第２スキーマ情報（木構造データ）の対応ノードに属性情報を書き込む（ステップＳ０３）。そして、データ変換部１５は、第２スキーマ情報を、第２スキーマ情報ライブラリ２１に記憶する（ステップＳ０４）。
【００３４】
第１スキーマ情報は、例えば、外部スキーマ情報であるプログラム仕様ブロック（ＰＳＢ又はＰＣＢ）に示される情報であり、第１スキーマ情報の属性情報が、ＰＳＢ、ＰＣＢ、ＤＢＤに示される情報である。すなわち、データ変換部１５は、ＰＳＢ又はＰＣＢからデータの階層構造を読取ることで、第２スキーマ情報のための木構造データの構造を特定し、この木構造データの各ノードに、このノードに対応したＰＳＢ、ＰＣＢ及びＤＢＤの情報を書き込む。
【００３５】
ＰＳＢは、階層型データベース２３の外部スキーマ情報であり、データベース名（ＤＢＤＮＡＭＥ）、データベースへのアクセスタイプ（ＰＲＯＣＯＰＴ）、セグメント名（ＳＥＮＳＥＧ）、階層構造（ＰＡＲＥＮＴ）等の情報から構成されてよい（図３参照）。この例におけるＰＡＲＥＮＴの値は、階層型の上位ノードのセグメント名を示す（セグメント名：Ａは、最上位ノードであるため値を０としている）。データ変換部１５は、セグメント名から、木構造データ３１を構成する。セグメント名以外の情報を属性情報として、構成した木構造データの各ノードに書き込まれてもよい。
【００３６】
ＤＢＤは、階層型データベース２３の概念スキーマ情報であり、上述のＰＳＢよりさらに詳細なデータベースに関する具体的な情報が記述されているデータである。ＤＢＤは、例えば、データベースが記憶されているブロックサイズ情報（ＢＬＯＣＫ）や、セグメント名（ＳＥＧＭ）、階層構造（ＰＡＲＥＮＴ）、セグメントやフィールドのデータの大きさ（ＢＹＴＥＳ）、キーの最大長、キー名、キー長等の情報から構成されてよい。これらの情報が、属性情報として、構成した木構造データの各ノードに書き込まれてもよい。
【００３７】
表１に構成した木構造データを示す。表１での木構造データは、ＸＭＬ記述にて表現されている。データ変換部１５は、セグメントごとにタグを設定し、ノードとすることで木構造を形成する。データ変換部１５は、例に示すように、タグ内に、セグメントの属性情報を書きこんでもよい。本発明では、この木構造データからなるデータベースを、階層型データベース２３の仮想的なデータベースとして、階層型データへのアクセスを行う。
【００３８】
【表１】
2006235840.tif 000003
【００３９】
次に、本発明の好ましい実施例により、階層型データベースがデータベース・アクセス・システム１によりアクセスされるフローについて説明する。まず、従来技術による階層型データベースのアクセスについて説明する。
【００４０】
階層型データベースは、アプリケーション・プログラムから数１に表されるインターフェースによりアクセスする要求を受ける。以下のアクセス要求では、セグメントＡのフィールドＦＬＤ１の値が‘２２２２２２’以上を持つセグメントＡを読み出す場合を示した。
【数１】
2006235840.tif 000004
【００４１】
ここで、ＣＢＴＤＬＩとは、データベースのアプリケーション・プログラム・インターフェース（ＡＰＩ）名の一例であり、ここではＣＯＢＯＬ（Common  Business  Oriented  Language）についての適用例である。次の"GUbb"は、機能コードの一例である。機能コードとは、データソースに対して行うアクションの内容である。ここで、アクションの内容とは、例えば、データを取得する、データを更新する、データを削除する、セグメントの上位ノードのデータを読み込む、データの読み込み時に他の書込みを許容しないで読み込むといったアクションである。以下、個々の機能コードについて説明する。
【００４２】
機能コードには、一例として以下が挙げられる。
"GUbb"                Get
Unique
"GHUb"                Get
Hold Unique
"GNbb"                Get
Next
"GHNb"                Get
Hold Next
"GNPb"                Get
Next in Parent
"GHNP"                Get
Hold Next in Parent
"ISRT"                Insert
"REPL"                Replace
"DLET"                Delete
【００４３】
Gで始まる機能コードはGetを表し、いずれもセグメントを読み込むために使用するが、読み込み方により異なる機能コードを使用する。"GUbb"はキーを指定して特定(Unique)のセグメントを読み込む場合に使用する。"GHUb"は、"GUbb"をHold付で読むためのもので、この後のコマンドで更新(REPL)または削除(DLET)することを意図している。すなわち、この機能コードが使用された場合には、更新や削除処理中に他から同時にアクセスされてデータが不整合になることを防ぐために、排他制御のためのロックを行った後に、読み込みを行う。ここでのHとは、ロックをHold(保持する)という意味である。また、"GNbb"は、前回読んだセグメントの次(Next)のセグメントまたはそれ以降を読み込むことを意味する。"GHNb"は，"GNbb"のHold付で読み込むことを意味する。"GNPb"は、階層構造上すぐ上にあるセグメント（親セグメント）の下のセグメント（子セグメント）を読む場合に使用する。
【００４４】
例えば"GUbb"や"GNbb"を使ってあるセグメントを読んだ後、この機能コードを使うとその親に付属する子セグメントを読み込むことができる。一例として、ある口座番号（親セグメントの情報）のセグメントを読み込んだ後、この機能コードを使ってその取引明細（子セグメントの情報）を取り出すといった場合に利用することができる。"GHNP"は、"GNPb"のHold付の読み込みのために使用する。"ISRT"は，セグメントを新たに挿入する場合に使用する。"REPL"は，セグメントの更新のために使用する。"DLET"は，セグメントの削除のために使用する。
【００４５】
ＤＢ１−ＰＣＢ−ＭＡＳＫとは、データベースの論理仕様の識別情報であり、データベースの名前がＤＢ１であり、ＰＳＢ中のＰＣＢにスキーマ情報が記憶されていることを示す。ＳＥＧ−ＩＯ−ＡＲＥＡは、機能コードに対応したアクションの入出力先に関する情報である。
【００４６】
ＳＳＡ１は、セグメント探索引数であり、階層型データベース２３のアクションを行う対象を特定する情報である。ここでは、セグメントＡのフィールドＦＬＤ１の値が‘２２２２２２’以上を持つセグメントＡを対象とする。“Ａｂｂｂｂｂｂｂ”は、セグメントＡの実セグメント（実際に該当するセグメントの物理的な場所）を示す。ここで“ｂ”はブランクを意味する。“ＦＬＤ１ｂｂｂｂ”は、フィールド名を示す。
【００４７】
従来からの階層型データベースでは、ＩＭＳなどのデータベース管理プログラムが、このアプリケーション・プログラム・インターフェース（ＡＰＩ）から、ＰＳＢやＤＢＤ等のスキーマ情報にアクセスして、実際のデータソースのアドレスやキー（実アドレス）を読み込み、データソースへアクセスする。
【００４８】
次に、本発明の一実施形態として、Ｗｅｂ系システムのプログラム（以下、Ｗｅｂ系システムのアプリケーション・プログラムからのアクセスについて説明する）が階層型データベースへアクセスする要求があったときのフローについて図５を用いて説明する。
【００４９】
最初に、解読部１０がアプリケーション・プログラムから階層型データベース２３へのアクセスを受信する（ステップＳ１０）。アプリケーション・プログラムからのアクセスを受けた際の、インターフェースの一例を表２に示した。ここでのアプリケーション・プログラムは、Ｗｅｂ系システムにおいて動作することを想定しているため、例のようにＸＭＬ形式で記述される。
【００５０】
【表２】
2006235840.tif 000005
【００５１】
次に、解読部１０は、アクセスのあったインターフェースを解読する（ステップＳ１１）。解読部１０は、解読するデータベース論理仕様（ＰＳＢ中のＰＣＢ）の識別情報、アクセスする要求の探索引数（ＳＳＡ）、アクセスする要求の実行内容である機能コードを解読する。ここでは、＜ｆｕｎｃ＞タグが機能コードに対応し、機能コードの内容がＧＵｂｂであることが解読され、＜ｄｂｉｄ＞タグがデータベース名に対応し、データベース名がＤＢ１であることが解読され、＜ｉｏａｒｅａ＞タグがＳＥＧ−ＩＯ−ＡＲＥＡに対応し、＜ｓｓａ１＞タグがＳＳＡ１に対応し、ＳＳＡ１の内容として、＜ｓｅｇｎａｍｅ＞タグがセグメント名に対応し、セグメント名がＡであることが解読され、＜ｆｌｄｎａｍｅ＞タグがフィールド名であることに対応し、フィールド名がＦＬＤ１であることが解読され、＜ｏｐｃｏｄｅ＞タグが判断要素に対応し、判断要素が“以上”であることが解読され、＜ｖａｌｕｅ＞タグが値に対応し、値が“２２２２２２”であることが解読される。
【００５２】
解読部１０は、アクセスのあったインターフェースを解読し、解読した機能コードにより、インターフェース情報の有効性を確認し、アクセスに必要なスキーマ情報を判断する（ステップＳ１２）。ここで、解読部１０は、例えば、ＸＭＬパーサのような、構文解析ルーチンを使用してよい
【００５３】
さらに、木構造データアクセス部１１が、解読したＰＳＢ中のＰＣＢの識別情報から木構造データを特定する（ステップＳ１３）。すなわち、これからアクセスするデータベースは、木構造データベース記憶部２０に記憶された木構造データを、仮想データベースに見立てたものである。複数の木構造データのうち、どの木構造データであるかをＰＳＢ中のＰＣＢの識別情報から特定する。
【００５４】
次に、木構造データアクセス部１１が、解読した探索引数（ＳＳＡ）によりアクセスする対象となる木構造データのノードを特定し、ノードへアクセスする（ステップＳ１４）。ここでノードとは、階層型データベースのセグメントに対応し、例えば、表１に示した＜Ａ＞タグのことであってよい。
【００５５】
木構造データアクセス部１１が、木構造データのノードへアクセスして、必要な属性情報を取得する（ステップＳ１５）。必要な属性情報とは、例えば、階層型データベースの実アクセスを行うために必要となる外部スキーマ（ＰＳＢ中のＰＣＢ）の実アドレスである。表２に示されるインターフェースのみでは、アクセスする対象となるデータベースのスキーマ情報の実アドレス名や実セグメント名に関する情報がない。したがって、木構造データアクセス部１１が、ノードへアクセスして、実セグメント名と実フィールド名を属性情報として取得する。すなわち、表１の例の、“Ａｂｂｂｂｂｂｂ”や“ＦＬＤ１ｂｂｂｂ”といった属性情報である。
【００５６】
アクセス要求生成部１３が、解読部１０が解読した情報や取得した属性情報からインターフェースを生成する（ステップＳ１６）。具体的には、取得した情報から数１に示すインターフェースを生成する。そして、生成したインターフェースを用いて、階層型データベースへアクセスを行う（ステップＳ１７）。階層型データベースからは、従来のインターフェースと同じインターフェースからのアクセスであるため、データベース・アクセス・システム１からのアクセスのために特別な処理を行うことなく、アクセスを受けることができる。次に、階層型データベースへのアクセスの結果からその状況コードや戻りデータを組み立てる（ステップＳ１８）。
【００５７】
このような実施形態を実現するデータベース・アクセス・システム、データベース・アクセス方法を、コンピュータやサーバにて実行するためのプログラムにより実現することができる。このプログラムのための記憶媒体としては、光学記憶媒体、テープ媒体、半導体メモリ等が挙げられる。また、専用通信ネットワークやインターネットに接続されたサーバ・システムに設けられたハードディスク又はＲＡＭ等の記憶装置を記憶媒体として使用し、ネットワークを介してプログラムを提供してもよい。
【００５８】
なお、このような実施形態を実現するプログラムを、データベース・アクセス・システム１にて動作させる際に、データベース・アクセス・システム１の各部が複数の装置から構成され、これらの複数の装置の各々が対応したサブ・プログラムを実行してもよいし、データベース・アクセス・システム１が、単体のハードウェア装置であって、このハードウェア装置がプログラムを実行することで、上記の実施形態が実現されてもよい。また、制御部１６が対応するプログラムを読み出すことで、解読部１０、木構造データアクセス部１１、展開部１２、アクセス要求生成部１３、階層型データアクセス部１４、データ変換部１５を実現してもよい。
【００５９】
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎず、特に本発明を限定しない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載された効果に限定されない。
【図面の簡単な説明】
【００６０】
【図１】データベース・アクセス・システム１のシステム構成を示す図である。
【図２】本発明の実施例であるデータ変換処理のフローチャート図である。
【図３】本発明の実施例であるＰＳＢ中のＰＣＢの一例である。
【図４】本発明の実施例であるＤＢＤの一例である。
【図５】アプリケーション・プログラムからのアクセスがあった場合のフローチャート図である。
【符号の説明】
【００６１】
１    データベース・アクセス・システム
１０    解読部
１１    木構造データアクセス部
１２    展開部
１３    アクセス要求生成部
１４    階層型データアクセス部
１５    データ変換部
１６    制御部
２０    木構造データベース記憶部
２１    第２スキーマ情報ライブラリ
２２    第１スキーマ情報ライブラリ
２３    階層型データベース
【図１】
2006235840.tif 000006
【図２】
2006235840.tif 000007
【図３】
2006235840.tif 000008
【図４】
2006235840.tif 000009
【図５】
2006235840.tif 000010