(57)【要約】  【課題】  データベースのスキーマを変更しても既存のアプリケーションプログラムを継続使用できるようにする。  【解決手段】  アプリケーションプログラム実行部１０の操作要求生成部１０１は、ユーザの入力に基づいてデータベース１１に対してデータの参照、変更等のデータベース操作要求を生成し、また、アプリケーションプログラムのバージョン情報を出力する。操作要求（検索条件）およびバージョン情報はスキーマ再構成部１０２に供給され、スキーマ再構成部１０２はスキーマを再構成する。操作要求発行部１０３は再構成したスキーマに準拠してデータベース１０の属性情報管理テーブル１１２に対してデータベース操作を行なう。【選択図】  図１
2005078237.tif 000002
【特許請求の範囲】
【請求項１】
データベース本体と、
アプリケーションプログラムが予定するスキーマに準拠して上記データベース本体に対する操作要求を生成する操作要求生成手段と、
上記操作要求に関連して出力されるアプリケーションプログラムのバージョン情報に応じて、上記アプリケーションプログラムが予定するスキーマを適合的に再構成するスキーマ再構成手段と、
再構成されたスキーマに準拠して上記操作要求を上記データベース本体に対して発行する操作要求発行手段とを有することを特徴とするデータベース装置。
【請求項２】
データベース本体と、
アプリケーションプログラムが予定するスキーマに準拠して上記データベース本体に対する操作要求を生成する操作要求生成手段と、
上記操作要求に関連して出力されるスキーマ特定情報に応じて、上記アプリケーションプログラムが予定するスキーマを適合的に再構成するスキーマ再構成手段と、
再構成されたスキーマに準拠して上記操作要求を上記データベース本体に対して発行する操作要求発行手段とを有することを特徴とするデータベース装置。
【請求項３】
アプリケーションプログラム実行手段を有し、上記アプリケーションプログラム実行手段が、上記操作要求生成手段、上記スキーマ再構成手段および上記操作要求発行手段を構成する請求項１記載のデータベース装置。
【請求項４】
アプリケーションプログラム実行手段と、操作要求処理手段とを有し、上記アプリケーションプログラム実行手段が、上記操作要求生成手段を構成し、上記操作要求処理手段が、上記スキーマ再構成手段および上記操作要求発行手段を構成する請求項１記載のデータベース装置。
【請求項５】
アプリケーションプログラム実行手段を有し、上記操作要求生成手段を構成し、上記データベース本体が、上記スキーマ再構成手段および上記操作要求発行手段を構成する請求項１記載のデータベース装置。
【請求項６】
データベース本体と、
アプリケーションプログラムであって、上記データベース本体に対する操作要求を、当該アプリケーションプログラムが予定するスキーマに準拠して生成するものを実行する実行手段と、
上記アプリケーションプログラムから上記操作要求に関連して出力されるアプリケーションプログラムのバージョン情報に応じて、上記アプリケーションプログラムが予定するスキーマを適合的に再構成するスキーマ再構成手段と、
再構成されたスキーマに準拠して上記操作要求を上記データベース本体に対して発行する手段とを有することを特徴とするデータベース装置。
【請求項７】
上記スキーマ再構成手段は、上記バージョン情報と上記操作要求に含まれる属性名とから上記操作要求に関連して実際に用いる上記データベース本体における属性名を決定するテーブルを有する請求項６記載のデータベース装置。
【請求項８】
上記テーブルは、決定された上記データベースにおける属性名の属性値が上記操作要求により更新可能かどうかを指示する請求項７記載のデータベース装置。
【請求項９】
上記テーブルは、上記操作要求に含まれる属性名が、上記データベースにおいて実際に用いられるべく、おける他の属性名に、上記データベースのスキーマの変更により他の属性により置き換えられることなく最新状態であるかどうかを指示する請求項７または８記載のデータベース装置。
【請求項１０】
データベースを管理するデータベース管理装置と、
データベース操作要求を送出するクライアントアプリケーションプログラムを実行する端末と、
上記端末から上記データベース操作要求を受け取って上記データベース装置にデータベース操作要求を発行するサーバアプリケーションプログラムを実行するサーバ装置とを有し、
上記サーバ装置は、
上記アプリケーションプログラムから送出された操作要求に適用される上記データベース本体のスキーマを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、適合的に構成するスキーマ再構成手段と、
構成された上記スキーマに準拠して上記操作要求を上記データベース管理装置に発行する手段とを有することを特徴とするデータベースシステム。
【請求項１１】
上記サーバ装置は、ファイリングサービスを提供する請求項１０記載のデータベースシステム。
【請求項１２】
クライアントアプリケーションプログラムを実行する端末から受け取った操作要求を、データベースを管理するデータベース管理装置に発行するサーバ装置において、
上記アプリケーションプログラムから送出された操作要求に適用される上記データベース本体のスキーマを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、適合的に構成するスキーマ再構成手段と、
構成された上記スキーマに準拠して上記操作要求を上記データベース管理装置に発行する手段とを有することを特徴とするサーバ装置。
【請求項１３】
アプリケーションプログラムを実行する実行手段から送出された操作要求を上記アプリケーションプログラムのバージョン情報とともに受信する操作要求受信手段と、
上記アプリケーションプログラムから送出された上記操作要求に適用されるデータベース本体のスキーマを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、適合的に構成するスキーマ再構成手段と、
構成された上記スキーマに準拠して上記操作要求を上記データベース本体に対して実行する操作実行手段とを有することを特徴とするデータベーススキーマ管理装置。
【請求項１４】
操作要求受信手段が、アプリケーションプログラムを実行する実行手段から送出された操作要求を上記アプリケーションプログラムのバージョン情報とともに受信するステップと、
スキーマ再構成手段が、上記アプリケーションプログラムから送出された上記操作要求に適用されるデータベース本体のスキーマを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、適合的に構成するステップと、
操作実行手段が、構成された上記スキーマに準拠して上記操作要求を上記データベース本体に対して実行するステップとを有することを特徴とするデータベーススキーマ管理方法。
【請求項１５】
アプリケーションプログラムを実行する実行手段から送出された操作要求を上記アプリケーションプログラムのバージョン情報とともに受信する操作要求受信ステップと、
上記アプリケーションプログラムから送出された上記操作要求に適用されるデータベース本体のスキーマを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、適合的に構成するスキーマ再構成ステップと、
構成された上記スキーマに準拠して上記操作要求を上記データベース本体に対して実行する操作実行ステップとをコンピュータに実行させるために用いられることを特徴とするデータベーススキーマ管理用コンピュータプログラム。
【請求項１６】
第１のスキーマに準拠して構築されているデータベース本体と、
上記データベース本体に対して第２のスキーマに準拠した操作要求を生成するアプリケーションプログラムを実行する実行手段と、
上記操作要求に関連して出力されたアプリケーションプログラムのバージョン情報に基づいて上記第２のスキーマに準拠した上記操作要求を上記第１のスキーマに準拠した操作要求に変換する変換手段と、
変換された操作要求を上記データベース本体に対して発行する手段とを有することを特徴とするデータベース装置。
【請求項１７】
上記変換手段は、上記バージョン情報と上記第２のスキーマの属性名とから上記第１のスキーマの属性名を決定するテーブルを有する請求項１６記載のデータベース装置。
【請求項１８】
上記テーブルは、決定された上記第１のスキーマの属性名の属性値が上記操作要求により更新可能かどうかを指示する請求項１７記載のデータベース装置。
【請求項１９】
アプリケーションプログラムを実行するアプリケーションプログラム実行手段と、
属性情報を格納する属性情報管理テーブルと、上記アプリケーションプログラムのバージョンに基づいて所定の属性情報に対応する上記属性情報管理テーブルにおけるカラムを指定するスキーマ情報管理テーブルとを含むデータベース本体と、
上記アプリケーションプログラムが生成する操作要求により操作される上記属性情報管理テーブルにおけるカラムを、上記操作要求に関連して出力されるアプリケーションプログラムのバージョン情報に応じて、上記スキーマ情報管理テーブルを参照して決定するカラム決定手段と、
上記カラム決定手段で決定されたカラムに対する操作要求を発行する手段とを有することを特徴とするデータベース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データベース装置のデータ構造（スキーマ）の管理技術に関し、とくに、スキーマを変更しても、データベース装置にアクセスするための既存のアプリケーションプログラムをそのまま利用できるようにしたものである。
【背景技術】
【０００２】
従来、ファイリングシステムの使用するデータベースのデータ構造（スキーマ）を変更するには、以下に示す課題を解決しなければならず、利用者にとって大きな負担となっていた。
（１）変更したスキーマを参照する、ファイリングシステム専用のアプリケーションプログラムの修正。
（２）稼動しているアプリケーションプログラムをすべて同時に停止し、修正したものにすべて置き換える。
【０００３】
データベースのスキーマを変更しても既存のアプリケーションプログラムをそのまま利用できるようにすることが好ましい。
【０００４】
なお、特許文献１は、データベースとこれにアクセスするアプリケーションプログラムの世代が適格性をチェックし、適格性がない場合にはアプリケーションプログラムの起動を中止し、適格性がないアプリケーションプログラムによりデータベースが破壊されるのを防止することを提案している。この場合旧世代のアプリケーションプログラムが使用できないという不都合がある。
【０００５】
【特許文献１】特開平１１−２３８００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、以上の事情を考慮してなされたものであり、データベース中のスキーマ構成を変更した場合でも、対象となるスキーマを参照していたアプリケーションプログラムに変更を加えることなく、継続してデータの参照・更新を可能とするスキーマ管理技術を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。
【０００８】
この発明の原理的な構成例では、データベースを構築する際、実際の属性データが格納される部分（属性情報管理テーブルともいう）とスキーマ情報が管理される部分（スキーマ情報管理テーブルともいう）とを別々に作成する。スキーマ情報が管理される部分には、例えば、属性データの属性名、テーブルのカラム名、アプリケーションプログラムのバージョン情報、更新が可能かどうか、最新かどうかの設定を持ち、接続するアプリケーションプログラムのバージョン情報に対応した、スキーマの管理を行なう。なお、システムが予約して定義の変更が不可能な属性は、スキーマ情報管理テーブルには保持しない。
【０００９】
スキーマは例えばつぎのように構成する。なお、アプリケーションプログラムは本来のスキーマが予定されているので、以下では、かかるスキーマの構成処理をスキーマの再構成と呼ぶこともある。
【００１０】
（１）まず、スキーマを構成するため、以下の情報をスキーマ管理部分に指定する。
・アプリケーションプログラムのバージョン。
・検索条件に含まれる属性、および取得、更新属性項目。
・属性データの使用目的。
【００１１】
（２）スキーマ管理部分において、接続するアプリケーションプログラムのバージョンとスキーマ管理部分のアプリケーションプログラムのバージョン情報が等しい項目を検索する。併せて、最新の項目も検索し、バージョンが等しくなく、最新で、バージョンが等しい項目に存在しない場合には、そのアプリケーションプログラムのバージョンで使用可能な項目とする。
【００１２】
（３）検索されたスキーマ情報が更新可能かどうかチェックし、属性データの使用目的が属性更新だった場合、処理を中止する。
【００１３】
（４）検索されたスキーマ情報のカラム名情報の項目をチェックし、カラム名情報に値が存在する場合には、取得および更新対象の属性項目が、属性管理テーブル上のカラム情報の値を指すように、ビューを構成する。
【００１４】
属性データの参照、更新は、例えば、つぎのように行なう。
【００１５】
（１）まず、アプリケーションプログラムにて、以下の条件を指定する。
・取得、変更したいオブジェクトの検索条件。
・取得、変更対象の属性項目。
【００１６】
（２）アプリケーションプログラムは、スキーマ構成を行なうため、スキーマ管理情報部分にアクセスし、アプリケーションプログラムのバージョンに適合したスキーマを構成し、ビューを取得する。
【００１７】
（３）このビューに対し、アプリケーションプログラムは、属性取得、更新の操作を実施する。
【００１８】
なお、アプリケーションプログラム自体がスキーマの構成処理を行なうようにしているが、アプリケーションプログラムから送出された操作要求（検索条件）を処理する手段や、データベース自体が、スキーマの構成処理を行なうようにしても良い。
【００１９】
属性情報管理テーブルのスキーマ変更は例えば次のように行なう。
【００２０】
（１）スキーマ変更の専用アプリケーションプログラムにて、以下の条件を指定する。
・変更対象となる属性情報管理テーブルのカラム名。
・変更後のカラムの定義。
・変更後に使用可能なアプリケーションプログラムのバージョン。
【００２１】
（２）スキーマ管理部分を検索し、その属性定義がすでに変更されているかどうかをチェックする。
【００２２】
（３）すでに、その属性名の定義が変更されていた場合には、新たにシステムで一意となるＩＤを取得し、そのＩＤをカラム名とする指定された定義のカラムを属性テーブルに追加し、スキーマ管理テーブルにその内容を追加し、同じ属性名の定義の最新として追加する。
【００２３】
（４）初めて、その属性名の定義を変更する場合には、既存の属性のカラム名情報を属性名と同じにする。その後、（３）と同様の処理を全ての属性に対し実施する。
【００２４】
さらにこの発明を説明する。
【００２５】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【００２６】
すなわち、この発明の一側面によれば、上述の目的を達成するために、データベース装置に：データベース本体と；アプリケーションプログラムが予定するスキーマに準拠して上記データベース本体に対する操作要求を生成する操作要求生成手段と；上記操作要求に関連して出力されるアプリケーションプログラムのバージョン情報に応じて、上記アプリケーションプログラムが予定するスキーマを適合的に再構成するスキーマ再構成手段と；再構成されたスキーマに準拠して上記操作要求を上記データベース本体に対して発行する操作要求発行手段とを設けるようにしている。
【００２７】
この構成においては、アプリケーションプログラムのバージョン情報に応じて適合的にスキーマを構成するので、データベース本体のスキーマを変更した場合でも既存のスキーマをそのまま用いてデータベースにアクセスすることができる。
【００２８】
この構成において、アプリケーションプログラム実行手段が、操作要求生成手段、スキーマ再構成手段および操作要求発行手段を構成しても良い。アプリケーションプログラム実行手段から操作要求を受け取るサーバ装置等の操作要求処理部やデータベース本体自体が、スキーマ再構成手段および操作要求発行手段を構成するようにしても良い。
【００２９】
また、上記スキーマ構成手段は、例えば、上記バージョン情報と上記操作要求に含まれる属性名とから上記操作要求に関連して実際に用いる上記データベース本体における属性名を決定するテーブルを有する。
【００３０】
また、上記テーブルは、決定された上記データベースにおける属性名の属性値が上記操作要求により更新可能かどうかを指示することが好ましい。
【００３１】
また、上記テーブルは、上記操作要求に含まれる属性名が、上記データベースにおいて実際に用いられるべく、おける他の属性名に、上記データベースのスキーマの変更により他の属性により置き換えられることなく最新状態であるかどうかを指示することが好ましい。
【００３２】
上記データベース装置は、種々の態様で構成でき、例えば、データベースを管理するデータベース管理装置と、データベース操作要求を送出するクライアントアプリケーションプログラムを実行する端末と、上記端末から上記データベース操作要求を受け取って上記データベース装置にデータベース操作要求を発行するサーバアプリケーションプログラムを実行するサーバ装置とから構成できる。
【００３３】
また、この発明の他の側面によれば、上述目的を達成するために、データベース装置に：アプリケーションプログラムを実行するアプリケーションプログラム実行手段と；属性情報を格納する属性情報管理テーブルと、上記アプリケーションプログラムのバージョンに基づいて所定の属性情報に対応する上記属性情報管理テーブルにおけるカラムを指定するスキーマ情報管理テーブルとを含むデータベース本体と；上記アプリケーションプログラムから送出された操作要求に基づいて操作される上記属性情報管理テーブルにおけるカラムを、上記操作要求に伴って送られたアプリケーションプログラムのバージョン情報に応じて、上記スキーマ情報管理テーブルを参照して決定するカラム決定手段と；上記カラム決定手段で決定されたカラムに対して操作要求を実行する操作要求実行手段とを設けるようにしている。
【００３４】
この構成において、データベースの属性情報管理テーブルに新たにカラムを付加して新たなスキーマを準備した場合でも、既存のアプリケーションプログラムをそのまま用いることができる。
【００３５】
この発明は、例えば、下記のようなシステムに最適であるが、これに限定されない。
（１）データベースを用いて、階層構造を持つことができる、画像、属性などにより構成されるオブジェクトを管理するファイリングシステム。
（２）データベースにより管理されるオブジェクトは、そのシステム内でオブジェクトを識別するためのユニークな値（ＩＤ）を持つ。
（３）データベースには、実体（画像や文書）の格納先情報を持つ。
【００３６】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００３７】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００３８】
この発明によれば、データベースのデータ構造（スキーマ）に変更があった場合でも、データの参照および更新が可能になる。これにより、スキーマ変更に対応するためにアプリケーションプログラムを修正する必要がなくなり、アプリケーションプログラム保守のコストが削減できる。また、具体的な例では、アプリケーションプログラムが、以前のスキーマ構成で、データベースにデータの参照および更新することが検出できるため、スキーマ構成の変更に対応していないアプリケーションプログラムに対する操作を抑制することが可能となり、アプリケーションプログラムによるデータの破壊を防ぐことが可能になる。
【発明を実施するための最良の形態】
【００３９】
以下、この発明の実施例について説明する。
【００４０】
図１は、この発明の実施例のデータベース装置を模式的に示しており、図２は図１の要部の詳細の構成例を示しており、図３は、上述実施例のデータの流れを示している。
【００４１】
図１において、データベース装置は、アプリケーションプログラム実行部１０、データベース１１、実体データ格納用記憶部１２等を含んで構成されている。
【００４２】
アプリケーションプログラム実行部１０は、データベース１１を操作するアプリケーションプログラムを実行するものであり、計算機と、この計算機上で実行される当該アプリケーションプログラムとからなる。アプリケーションプログラム実行部１０は、機能的には、操作要求生成部１０１、スキーマ再構成部１０２、操作要求発行部１０３および実体データ操作部１０４等を含んで構成されている。
【００４３】
データベース１１は、スキーマ情報管理テーブル１１１、属性情報管理テーブル１１２、実体データ格納先管理テーブル１１３等を含んでいる。実体データがすべて属性情報管理テーブル１１２に格納される場合には実体データ格納先管理テーブル１１３および実体データ格納用記憶部１２を省略しても良い。
【００４４】
アプリケーションプログラム実行部１０の操作要求生成部１０１は、ユーザの入力に基づいてデータベース１１に対してデータの参照、変更等のデータベース操作を要求する操作要求を生成するものである。また操作要求生成部１０１はアプリケーションプログラムのバージョン情報を出力する。操作要求（検索条件）およびバージョン情報はスキーマ再構成部１０２に供給され、スキーマ再構成部１０２はスキーマを再構成する。スキーマ再構成部１０２は、具体的には、バージョン情報に基づいてスキーマ情報管理テーブル１１１を参照してスキーマを再構成する。スキーマ再構成部１０２は図２に示すように属性定義取得部１０２ａおよびカラム決定部１０２ｂから構成することができる。属性定義取得部１０２ａはスキーマ情報管理テーブル１１１を参照してバージョンごとの属性定義を取得する。カラム決定部１０２ｂは属性定義から操作対象のカラム（データベーステーブルの属性）を決定する。スキーマの再構成については図４のフローチャート等を参照して後に詳述する。
【００４５】
操作要求発行部１０３は属性情報管理テーブル検索部１０３ａおよび属性名復元部１０３ｂとから構成することができる。属性情報管理テーブル検索部１０３ａは、決定されたカラムに対して検索を行なう。属性名復元部１０３ｂはバージョンごとに属性定義に基づいてカラムに対応する属性名を決定する。
【００４６】
属性情報管理テーブル１１２は、実際の属性情報が格納されるテーブルであり、例えば図５に示すように構成される。図５の例のテーブルでは、属性（カラム）として「ＩＤ」、「名前」、「フォーマット」、「管理番号」、「ａｆ００２３」を有している。こらら属性（カラム）のうち、「ＩＤ」、「名前」、「フォーマット」、「管理番号」はアプリケーションプログラムによりそのままスキーマの属性として利用可能なものであり、他方、「ａｆ００２３」は、アプリケーションプログラムに利用されるスキーマの属性ではなく、スキーマ情報管理テーブル１１１によりアプリケーションプログラムのスキーマの属性にマッピングされるものである。以下では、アプリケーションプログラムに利用されるスキーマの属性と、データベース１１の属性情報管理テーブル１１２の属性とを区別するために、前者を「属性」と呼び、後者を「カラム」と呼ぶこともある。
【００４７】
例えば、属性情報管理テーブル１１２の属性のうち「ａｆ００２３」は、「カラム」としてのみ使用され、この「カラム」がスキーマ情報管理テーブル１１１によりアプリケーションプログラムのスキーマの「属性」に変換されて用いられる。
【００４８】
スキーマ情報管理テーブル１１１は、スキーマを再構成するときに利用する情報（属性定義とも呼ぶ）を格納するテーブルである。もちろんスキーマ情報管理テーブル１１１は、これ以外の用途にも用いることができる。例えば、アプリケーションプログラムのバージョンごとにアクセス権限を制限することができる。
【００４９】
スキーマ情報管理テーブル１１１は、例えば図６に示すようなものであり、この例では、「属性名」、「カラム名」、「バージョン」、「更新可能フラグ」、「最新フラグ」からなるレコード（タプル）を格納している。「属性名」は、アプリケーションプログラムが用いるスキーマにおける属性名である。「カラム名」は属性情報管理テーブル１１２における属性名（カラム名）である。「バージョン」は、当該レコードが適用されるアプリケーションプログラムのバージョンを示す。「更新可能フラグ」は、当該属性（カラム）が更新可能かどうかを表す。「最新フラグ」は、「属性名」を同一とする「カラム」のうち最新の「カラム」かどうかを表す。
【００５０】
つぎにスキーマの再構成およびデータの取得等について説明する。
【００５１】
スキーマの再構成は以下のように行なわれる。
（１）まず、スキーマを構成するため、以下の情報をスキーマ再構成部１０２（スキーマ管理部分）に指定する。
・アプリケーションプログラムのバージョン。
・検索条件に含まれる属性、および取得、更新属性項目。
・属性データの使用目的。
【００５２】
（２）スキーマ再構成部１０２が、スキーマ情報管理テーブル１１１を参照し、接続するアプリケーションプログラムのバージョンと「バージョン」が等しい項目（レコード、タプル）を検索する。併せて、最新の項目（「最新フラグ」が「ｔｒｕｅ」の項目）も検索し、当該バージョンが、接続アプリケーションプログラムのバージョンと等しくなく、かつ当該属性が、接続アプリケーションプログラムのバージョンとバージョンが等しい項目に存在しない場合には、接続アプリケーションプログラムのバージョンで使用可能な項目とする。
【００５３】
（３）検索されたスキーマ情報が更新可能かどうかチェックし、更新不可であり、かつ、属性データの使用目的が属性更新だった場合、処理を中止する。
【００５４】
（４）検索されたスキーマ情報のカラム名情報の項目をチェックし、カラム名情報に値が存在する場合には、取得および更新対象の属性項目が、属性管理テーブル上のカラム情報の値を指すように、ビューを構成する。
【００５５】
図４は、スキーマの再構成の処理例を示すものである。この処理は以下のとおりである。
［ステップＳ１０］：検索条件に含まれる属性、操作対象の属性、使用目的を指定する。
［ステップＳ１１］：スキーマ情報管理テーブル１１１にアプリケーションプログラムのバージョンに該当する属性定義が存在するかどうかを、検索条件に含まれる各属性ごとに判別する。存在すればステップＳ１２に進み、存在しなければステップＳ１３へ進む。
［ステップＳ１２］：スキーマ情報管理テーブル１１１中の該当する属性定義情報を取得する。ステップＳ１４へ進む。
［ステップＳ１３］：スキーマ情報管理テーブル１１１中の最新の属性定義情報を取得する。ステップＳ１４へ進む。
［ステップＳ１４］：操作が更新で、かつ、更新不可の属性定義であるかどうかを判別する。判別結果がイエスであればステップＳ１５へ進み、エラー終了する。判別結果がノーであればステップＳ１６へ進む。
［ステップＳ１５］：エラー終了。
［ステップＳ１６］：検索条件のすべての属性について処理が終了したかどうか判別する。終了でなければステップＳ１１へ戻り処理を繰り返す。終了であればステップＳ１７へ進む。
［ステップＳ１７］：取得した属性定義を元にビューを作成する。
【００５６】
図５および図６にそれぞれ示す属性情報管理テーブル１１２およびスキーマ情報管理テーブル１１１の例を用いてさらに説明する。この例では、アプリケーションプログラムのバージョンが「１．０」の場合、使用できるスキーマは、「ＩＤ、名前、フォーマット、管理番号」で、「管理番号」が更新不可能になる。他方、バージョンが「２．０」の場合は、「ＩＤ、名前、フォーマット、ａｆ００２３」が使用でき、「管理番号」は更新可能になる。
【００５７】
この結果を元にビューが構成される。バージョンが「２．０」の場合には、「ＩＤ、名前、フォーマット、ａｆ００２３を指す管理番号」を持つビューが構成され、アプリケーションプログラムからは、「ａｆ００２３」というカラム名を意識すること無く、属性情報管理テーブルにアクセス可能となる。アプリケーションプログラムからは「ａｆ００２３」が「管理番号」として識別される。
【００５８】
つぎに上述のスキーマ再構成を用いて実行される属性データの参照、更新方法について説明する。
【００５９】
（１）まず、アプリケーションプログラムにて、以下の条件を指定する。
・取得、変更したいオブジェクトの検索条件。
・取得、変更対象の属性項目。
【００６０】
（２）アプリケーションプログラム（スキーマ再構成部１０２）は、スキーマ再構成を行なうため、スキーマ情報管理テーブル１１１（スキーマ管理情報部分）にアクセスし、アプリケーションプログラムのバージョンに適合したスキーマを構成し、ビューを取得する。
【００６１】
（３）このビューに対し、アプリケーションプログラム（操作要求発行部１０３）は、属性取得、更新の操作を実施する。
【００６２】
つぎに属性情報管理テーブル１１２（データベース１１）のスキーマ変更方法について説明する。かかるデータベース１１のスキーマ変更により、新しいアプリケーションプログラム等が予定するスキーマでデータベース１１を利用することができるようになる。もちろん、上述したスキーマの再構成により従前のアプリケーションプログラムも当該データベース１１を継続して利用することができる。
【００６３】
（１）スキーマ変更の専用アプリケーションプログラムにて、以下の条件を指定する。
・変更対象となる属性情報管理テーブル１１２のカラム名。
・変更後のカラムの定義。
・変更後に使用可能なアプリケーションプログラムのバージョン。
【００６４】
（２）スキーマ情報管理テーブル１１１（スキーマ管理部分）を検索し、その属性定義がすでに変更されているかどうかをチェックする。
【００６５】
（３）すでに、その属性名の定義が変更されていた場合には、新たにシステムで一意となるＩＤ（これに限定されないが、この例では「ａｆ」と４桁の数字からなる記号列を用いている）を取得し、そのＩＤをカラム名とする指定された定義のカラムを属性テーブルに追加し、スキーマ管理テーブルにその内容を追加し、同じ属性名の定義の最新として追加する。
【００６６】
（４）初めて、その属性名の定義を変更する場合には、既存の属性のカラム名情報を属性名と同じにする。その後、（３）と同様の処理を全ての属性に対し実施する。
【００６７】
図７および図８にそれぞれ示す属性情報管理テーブルおよびスキーマ情報管理テーブルの例を用いてさらに説明する。この例では、アプリケーションプログラムのバージョン２において「納品日」の属性を新たに加え、「管理番号」を使用しないようにする。図から明らかなように、アプリケーションプログラムのバージョンが「１．０」の場合、使用できる属性は、「ＩＤ、名前、フォーマット、管理番号」で、「管理番号」が更新不可能になる。バージョンが「２．０」の場合は、「ＩＤ、名前、フォーマット、納品日」が使用でき、「管理番号」は参照不可能になる。システムの運用上、バージョン「１．０」のアプリケーションプログラムをシステムで使用しなくなった場合、「管理番号」はデータとして不要となるので、「管理番号」を削除して管理するデータを削減することも可能となる。
【００６８】
以上説明したように、この実施例によれば、データベースのスキーマを変更した場合でも、従前のアプリケーションプログラムをそのまま利用し続けることができる。例えば、ファイリングシステムが使用するデータベースのスキーマ構造の変更に対応していないアプリケーションプログラムでも、データの参照、更新が可能となる。これにより、データベースのスキーマ構造が変更される毎に、すべての専用アプリケーションプログラムを停止することなく、順次アプリケーションプログラムを置き換えることが可能となり、システムの停止時間を最小限にとどめることができる。よって、ファイリングシステム全体の保守のコストも削減できる。また、業務の基幹システムにファイリングシステムが導入されている場合、アプリケーションプログラムの使用するスキーマ構造をチェックし、データベースへの接続を許さないことで、基幹システムの外部に対するセキュリティを向上させることができる。
【００６９】
なお、この発明は上述の実施例に限定されるものではなく、種々変更することが可能である。例えば、上述の例ではアプリケーションプログラム実行部１０が、操作要求生成部１０１、スキーマ再構成部１０２、操作要求発行部１０３を構成してスキーマを再構成した操作要求をデータベース１１に発行しているが、図９に示すように、アプリケーションプログラム実行部１０が発行したアプリケーションプログラム固有のスキーマに準拠した操作要求を操作要求処理部２０が受取り、この操作要求処理部２０がスキーマ再構成等を行なって再構成した操作要求をデータベース１１に送出するようにしても良い。また、図１０に示すようにデータベース１１のフロントエンド１１４にスキーマ再構成部を設けるようにしても良い。また、アプリケーションプログラムから出力される操作要求を横取りしてスキーマ再構成して操作要求をデータベース１１に送出する補助プログラムをアプリケーションプログラム実行部１０でさらに実行するように構成しても良い。
【００７０】
また、図１１に示すようにスキーマ再構成部１０２を属性定義取得部１０２ａおよび操作要求変換部１０２ｃを含むように構成しても良い。操作要求変換部１０２ｃはアプリケーションプログラムが予定するスキーマに準拠する操作要求をデータベース本来のスキーマに準拠した操作要求に変換するものであり、実質的には図２のカラム決定部１０２ｂと同様である。
【００７１】
また、図１２に示すように、アプリケーションプログラムを実行するクライアント装置１００と、サーバアプリケーションプログラムを実行するサーバ装置２００とデータベース管理システム３００とを用いてデータベースシステムを構築しても良い。クライアント装置１００はアプリケーションプログラムを実行するものであり、データベースの操作要求をサーバ装置２００に対して発行する。サーバ装置２００は例えばファイリングサーバであり、ファイリングサービスのほかにスキーマ再構成機能２０１および操作要求発行機能２０２を有する。操作要求発行機能２０２は、スキーマ再構成機能２０１により再構成されたスキーマで操作要求をデータベース管理システム３００に対して発行する。データベース管理システム３００はスキーマ情報管理テーブル１１１、属性情報管理テーブル１１２、実体データ格納先管理テーブル１１３を記憶管理する。データ記憶装置４００は実体データを記憶するものである。
【００７２】
図１２に示す例では、図１３〜図１５に示すオブジェクトの登録要求、オブジェクトの検索要求、オブジェクトの削除要求がクライアント装置１００からサーバ装置２００に送られ、これら要求に含まれるバージョン情報に基づいて先に説明した例と同様に属性定義が取得され、スキーマが再構築され、オブジェクトの参照、更新等が行なわれる。
【００７３】
なお、上述実施例ではアプリケーションプログラムのバージョン情報を用いてスキーマの再構成を適合的に行なったが、「バージョン」に限らず、アプリケーションプログラムの予定するスキーマを決定することができるもの（スキーマ特定情報）であればどのようなものでもよい。アプリケーション設定時にスキーマ特定情報（所定の識別子）を設定するようにしても良い。
【図面の簡単な説明】
【００７４】
【図１】この発明の実施例を模式的に示す図である。
【図２】上述実施例の要部の構成例を示すブロック図である。
【図３】上述実施例のデータの流れを説明する図である。
【図４】上述実施例の属性情報管理テーブルの例を説明する図である。
【図５】上述実施例のスキーマ情報管理テーブルの例を説明する図である。
【図６】上述実施例のスキーマの再構成を説明するフローチャートである。
【図７】上述実施例におけるスキーマの変更に関連して属性情報管理テーブルの他の例を説明する図である。
【図８】上述実施例におけるスキーマの変更に関連してスキーマ情報管理テーブルの他の例を説明する図である。
【図９】上述実施例の変形例を説明する図である。
【図１０】上述実施例の他の変形例を説明する図である。
【図１１】上述実施例のさらに他の変形例を説明する図である。
【図１２】上述実施例のさらに他の変形例を説明する図である。
【図１３】図１２の変形例で用いる登録要求の例を説明する図である。
【図１４】図１２の変形例で用いる参照要求の例を説明する図である。
【図１５】図１２の変形例で用いる削除要求の例を説明する図である。
【符号の説明】
【００７５】
１０      アプリケーションプログラム実行部
１１      データベース
１２      実体データ格納用記憶部
２０      操作要求処理部
１００      クライアント装置
１０１      操作要求生成部
１０２      スキーマ再構成部
１０２ａ      属性定義取得部
１０２ｂ      カラム決定部
１０２ｃ      操作要求変換部
１０３      操作要求発行部
１０３ａ      属性情報管理テーブル検索部
１０３ｂ      属性名復元部
１０４      実体データ操作部
１１１      スキーマ情報管理テーブル
１１２      属性情報管理テーブル
１１３      実体データ格納先管理テーブル
１１４      フロントエンド
２００      サーバ装置
２０１      スキーマ再構成機能
２０２      操作要求発行機能
３００      データベース管理システム
４００      データ記憶装置
【図１】
2005078237.tif 000003
【図２】
2005078237.tif 000004
【図３】
2005078237.tif 000005
【図４】
2005078237.tif 000006
【図５】
2005078237.tif 000007
【図６】
2005078237.tif 000008
【図７】
2005078237.tif 000009
【図８】
2005078237.tif 000010
【図９】
2005078237.tif 000011
【図１０】
2005078237.tif 000012
【図１１】
2005078237.tif 000013
【図１２】
2005078237.tif 000014
【図１３】
2005078237.tif 000015
【図１４】
2005078237.tif 000016
【図１５】
2005078237.tif 000017