(57)【特許請求の範囲】
【請求項１】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
外部ファイルの格納先を示す位置情報及び当該外部ファイルの監視を行う為の頻度情報と、外部ファイルの監視方法を含む監視情報を指定した列データ挿入要求を通信制御装置によりデータベースクライアントから受け取るステップと、前記監視情報に従って前記位置情報で示される外部ファイルの監視依頼を通信制御装置により行うステップと、前記位置情報及び監視情報を記憶装置によりデータベースに格納するステップとを有することを特徴とするデータベース処理方法。
【請求項２】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
表の名称、検索項目、検索条件、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定した表検索要求を通信制御装置によりデータベースクライアントから受け取るステップと、前記処理種別の内容に応じて前記検索条件を満たす列データまたはその位置情報で示され、頻度情報と、外部ファイルの監視方法を含む監視情報により監視される外部ファイルの内容を通信制御装置によりデータベースクライアントに送信するステップとを有することを特徴とするデータベース処理方法。
【請求項３】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
更新対象の列名、外部ファイルの格納先を示す位置情報、当該外部ファイルの監視を行う為の頻度情報と、外部ファイルの監視方法を含む監視情報、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定した表更新要求を通信制御装置によりデータベースクライアントから受け取るステップと、
前記処理種別が列データの更新を示している場合に、前記更新対象の列データ中の監視情報に従って前記更新対象の列データ中の位置情報で示される外部ファイルの監視終了連絡を通信制御装置により行うステップと、前記更新対象の列データを前記表更新要求中の位置情報及び監視情報で記憶装置により更新するステップと、前記表更新要求中の監視情報に従って前記表更新要求中の位置情報で示される外部ファイルの監視依頼を通信制御装置により行うステップと、
前記処理種別が外部ファイルの内容の更新を表している場合に、前記更新対象の列データ中の位置情報で示される外部ファイルの内容を前記表更新要求中の位置情報で示される外部ファイルの内容で記憶装置により更新するステップとを有することを特徴とするデータベース処理方法。
【請求項４】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
表の名称、削除条件、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定した表削除要求を通信制御装置によりデータベースクライアントから受け取るステップと、前記削除対象の列データ中の頻度情報と、外部ファイルの監視方法を含む監視情報に従って当該外部ファイルの監視終了連絡を通信制御装置により行うステップと、前記処理種別が外部ファイルの内容の削除を表している場合に前記削除対象の列データ中の位置情報で示される外部ファイルを記憶装置により削除し、前記削除対象の列データを記憶装置により削除するステップとを有することを特徴とするデータベース処理方法。
【請求項５】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
頻度情報と、外部ファイルの監視方法を含む監視情報により外部ファイルの監視を依頼する監視依頼を通信制御装置により受け取り、監視依頼が行われた外部ファイルの情報を記憶装置により監視ファイル一覧に登録するステップと、前記監視ファイル一覧に登録された外部ファイルを監視し、当該外部ファイルの更新または削除が行われた場合に、当該外部ファイルが更新または削除されたことを示す更新連絡を通信制御装置により監視依頼元に送るステップと、外部ファイルの監視を終了する監視終了連絡を受け取り、監視終了連絡が行われた外部ファイルの情報を記憶装置により前記監視ファイル一覧から削除するステップとを有することを特徴とするデータベース処理方法。
【請求項６】
前記外部ファイルの監視方法は、
当該外部ファイルの格納先で行われるファイルへの処理を監視し、前記監視ファイル一覧に登録されている外部ファイルの更新または削除が行われた場合に、当該外部ファイルが更新または削除されたことを示す更新連絡を通信制御装置により監視依頼元に送る方法か、
当該外部ファイルの監視情報に指定された頻度で当該外部ファイルの最終更新情報を取得して前回の更新情報と比較し、前記最終更新情報が前回の更新情報よりも新しい場合には当該外部ファイルが更新されたことを示す更新連絡を通信制御装置により監視依頼元に送り、前記最終更新情報を取得しようとしたときに当該外部ファイルが存在していなかった場合には当該外部ファイルが削除されたことを示す更新連絡を通信制御装置により監視依頼元に送る方法
であることを特徴とする請求項１乃至５のいずれかに記載されたデータベース処理方法。
【請求項７】
前記更新連絡を監視依頼元に送るステップは、当該外部ファイルの監視情報に指定されている、外部ファイルの監視方法を実行することを特徴とする請求項６に記載されたデータベース処理方法。
【請求項８】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理方法において、
頻度情報と、外部ファイルの監視方法を含む監視情報による更新検知によって、外部ファイル参照型の列データにより参照が行われる外部ファイルの更新連絡を通信制御装置により受け取り、前記更新連絡が外部ファイルの削除を示している場合に、削除された外部ファイルを示す列データに対応する行の削除を記憶装置により行うステップと、外部ファイルの更新または削除に応じてインデクスのメンテナンス処理を記憶装置により実行するステップとを有することを特徴とするデータベース処理方法。
【請求項９】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理装置において、
外部ファイルの格納先を示す位置情報及び当該外部ファイルの監視を行う為の頻度情報と、外部ファイルの監視方法を含む監視情報を指定した列データ挿入要求をデータベースクライアントから受け取る処理要求受付処理部と、前記監視情報に従って前記位置情報で示される外部ファイルの監視依頼を行う監視依頼処理部と、前記位置情報及び監視情報をデータベースに格納する挿入処理部とを備えることを特徴とするデータベース処理装置。
【請求項１０】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理装置において、
表の名称、検索項目、検索条件、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定した表検索要求をデータベースクライアントから受け取る処理要求受付処理部と、前記処理種別の内容に応じて前記検索条件を満たす列データまたはその位置情報で示され、頻度情報と、外部ファイルの監視方法を含む監視情報により監視される外部ファイルの内容をデータベースクライアントに送信する検索処理部とを備えることを特徴とするデータベース処理装置。
【請求項１１】
外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理装置としてコンピュータを機能させる為のプログラムを記録した媒体において、
外部ファイルの格納先を示す位置情報及び当該外部ファイルの監視を行う為の頻度情報と、外部ファイルの監視方法を含む監視情報を指定した列データ挿入要求をデータベースクライアントから受け取る処理要求受付処理部と、前記監視情報に従って前記位置情報で示される外部ファイルの監視依頼を行う監視依頼処理部と、前記位置情報及び監視情報をデータベースに格納する挿入処理部としてコンピュータを機能させる為のプログラムを記録したことを特徴とする媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は外部ファイルの参照を行うデータベース処理システムに関し、特に外部ファイルを参照する外部ファイル参照型のデータの定義及び操作をデータベース（ＤＢ）の整合性を損なうことなく実行するデータベース処理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
データベース管理システム（以下ＤＢＭＳと略記）、特にリレーショナルＤＢＭＳは、非手続き的な言語で表現された問合せを処理する。このデータベース言語としてＳＱＬ（Structured Query Language）が用いられる。現在、データベース言語ＳＱＬでは次期ＳＱＬ（ＩＳＯ、ＡＮＳＩ）の規格が進められている。参照型は次期ＳＱＬの主要機能の１つである。参照型は列に値を格納するのではなく、ＤＢ内別表の特定の行へのポインタを格納する。これにより、参照される側の行の情報を共有データとして持つことができる。
【０００３】
近年、文字、図形、写真、音声、動画データ等のＷＷＷ（World Wide Web）等でアクセスされるマルチメディアデータをＤＢＭＳで管理させるといった用件が高まってきている。しかし、これらのデータは専用アプリケーションにより生成、修正されるのが一般的でデータをＤＢＭＳ内部に格納してしまうと、専用アプリケーションがデータを扱う際にＤＢＭＳより取出したり、再格納する必要がある。そこで、ＤＢＭＳの外に置かれたファイルを示すことによりＤＢＭＳに格納しているのと同等に扱う外部ファイル機能が考案され、ＯＲＡＣＬＥ社のＲＤＢＭＳであるＯｒａｃｌｅ８でＢＦＩＬＥ型としてサポートされたり、ＩＢＭよりＤＢ２ ＵＮＩＶＥＲＳＡＬ ＤＡＴＡＢＡＳＥのＤＡＴＡ ＬＩＮＫＳが発表されている（InfoIT,Inc.調査報告書DataLinks:MANAGING EXTERNAL DATA WITH DB2 UNIVERSAL DATABASE P10〜P11）。
【０００４】
【発明が解決しようとする課題】
従来のＤＢＭＳでは整合性を保つことを基本機能としており、ＤＢの行は全ての列が存在して成り立ち、ある列の値だけ欠落する事はない。インデクスが定義された列は列が更新されるとインデクスのメンテナンスを行って最新の情報にする必要が有り、従来のＤＢＭＳで単純に外部ファイルを扱える様にすると、外部ファイルはＤＢＭＳが管理しているファイルではないので、管理外のところで更新や削除等が行われてしまい、ＤＢＭＳの通常列の様な整合性を保持する事が難しくなるという問題がある。
【０００５】
上記従来技術でＤＢＭＳ管理外の外部ファイルを示す方法が考えられているが、ＢＦＩＬＥ型は読取専用で障害時に回復対象になっておらず、ＤＢＭＳ以外により更新されることを考慮した機能ではない。またＤＡＴＡ ＬＩＮＫＳは外部ファイルがＤＢのアクセス権限の無い外部のアプリケーション等に書換えられないよう制御する方法を採用し、外部ファイルに対するアクセスを制御しているが、更新された場合のＤＢＭＳ本体の処理については考慮されていない。
【０００６】
本発明の目的は上記問題を解決し、データベース外に置かれた外部ファイル内のデータを通常のデータベースに格納された列データと同等のデータとしてデータベースの整合性を損なうことなく扱うことが可能な技術を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、外部ファイルを参照する外部ファイル参照型のデータの定義及び操作を行うデータベース処理システムにおいて、データベースに登録された外部ファイルの更新及び削除を監視し、外部ファイルへの処理に対応してデータベース内部の列データを更新するものである。
【０００８】
本発明のデータベース処理システムでは、まず列データ挿入を行う際に列データ中の監視情報に従って前記位置情報で示される外部ファイルの監視依頼を行い、列データ中の位置情報及び監視情報をデータベースに格納する。
【０００９】
表検索処理を行う場合にはその表検索要求内の処理種別を調べ、前記処理種別が列データの検索を示している場合にはその検索条件を満たす列データをデータベースクライアントに送信し、前記処理種別が外部ファイルの内容の検索を示している場合には前記検索条件を満たす列データ中の位置情報で示される外部ファイルの内容を取得してその内容をデータベースクライアントに送信する。
【００１０】
また表更新処理を行う場合にはその表更新要求中の処理種別を調べ、前記処理種別が列データの更新を示している場合には、前記更新対象の列データ中の監視情報に従って前記更新対象の列データ中の位置情報で示される外部ファイルの監視終了連絡を行い、前記更新対象の列データを前記表更新要求中の位置情報及び監視情報で更新した後、前記表更新要求中の監視情報に従って前記表更新要求中の位置情報で示される外部ファイルの監視依頼を行う。
【００１１】
前記表更新処理で表更新要求中の処理種別が外部ファイルの内容の更新を表している場合には、前記更新対象の列データ中の位置情報で示される外部ファイルの内容を前記表更新要求中の位置情報で示される外部ファイルの内容で更新する。
【００１２】
また表削除処理を行う際には、削除対象の列データ中の監視情報に従って外部ファイルの監視終了連絡を行い、前記処理種別が外部ファイルの内容の削除を表している場合に前記外部ファイルを削除し、前記削除対象の列データを削除する。
【００１３】
前記の様に外部ファイルの監視依頼が行われると、当該外部ファイルの情報を監視ファイル一覧に登録して当該外部ファイルの監視を開始して、当該外部ファイルの更新または削除が行われた場合に当該外部ファイルが更新または削除されたことを示す更新連絡を監視依頼元に送る。また外部ファイルの監視を終了する監視終了連絡が行われると、監視終了連絡が行われた外部ファイルの情報を前記監視ファイル一覧から削除する。
【００１４】
前記外部ファイルの更新連絡が行われると、その更新連絡の内容を調べ、前記更新連絡が外部ファイルの更新を示している場合には、更新された外部ファイルを示す列データに登録されているインデクスのメンテナンス処理を実行する。また、前記更新連絡が外部ファイルの削除を示している場合には、削除された外部ファイルを示す列データに対応する行の削除を行い、表に登録されているインデクスのメンテナンス処理を実行する。
【００１５】
前記の様に本発明では、ＤＢＭＳのデータ型に外部ファイル参照型を追加し、データとして位置情報及び監視情報を入力する事により、指定された位置情報のデータとして外部ファイルの内容を参照する事ができる。監視情報に指定された頻度で外部ファイルの更新及び削除を監視し、他のアプリケーション等からの外部ファイルの更新や削除を検知してＤＢＭＳの整合性を保持することが可能であり、外部ファイルの内容をＤＢＭＳ内に格納すること無く普通のデータベースに格納された列データと同等のデータとして外部ファイルを扱うことができる。
【００１６】
以上の様に本発明のデータベース処理システムによれば、データベース中の列データ中の位置情報によって示される外部ファイルが更新または削除された場合にそれを検知し、外部ファイルに対して行われた処理に対応してデータベース内部の列データを更新するので、データベース外に置かれた外部ファイル内のデータを通常のデータベースに格納された列データと同等のデータとしてデータベースの整合性を損なうことなく扱うことが可能である。
【００１７】
【発明の実施の形態】
以下に外部ファイルを参照する外部ファイル参照型のデータの定義及び操作をＤＢサーバの整合性を損なうことなく実行する一実施形態のデータベース処理システムについて説明する。
【００１８】
図１は本実施形態のデータベース処理システムの概略構成を示す図である。ＤＢサーバ１００でＤＢＭＳ１０３、ＤＢクライアント１３０でＤＢアクセスアプリケーション１３１、ファイルサーバ１４０で本実施形態のデータベース処理システムの機能の一部であるＤＢＭＳ更新監視処理部１４５、ファイルサーバ１４０及び１５０でＷＷＷサーバ１４１及び１５７とデータアクセスアプリケーション１４６，１４７，１５１及び１５６がそれぞれ稼動しており、これらの情報処理装置はネットワーク１６０に接続され、相互に通信を行うことができる。
【００１９】
ＤＢアクセスアプリケーション１３１はネットワーク１６０を介してＤＢサーバ１００上のＤＢＭＳ１０３に問合せ要求を行う。ＤＢＭＳ１０３は問合せ要求を受付けるとＤＢサーバ１００に接続されたディスク装置１１０及び１２０に格納しているＤＢデータ１１１及びジャーナルファイル１２１をアクセスすることにより問合せ要求に対応した処理を実行する。
【００２０】
データアクセスアプリケーション１４６，１４７，１５１及び１５６は、テキストや画像等の専用データを生成及び加工するプログラムで、作成したテキストデータや画像データはファイルサーバ１４０及び１５０に接続されたディスク装置１４２及び１５２に格納される。ディスク装置１４２及び１５２に格納されたテキストデータ１４３及び１５３や画像データ１４４及び１５４は、ＷＷＷサーバ１４１及び１５７により他の情報処理装置に対して公開されており、ＷＷＷサーバ１４１及び１５７に対して予め割当てておいたＵＲＬ（Uniform Resource Locator）を指定してアクセス要求を行うことにより、対応したデータが転送される。
【００２１】
ＤＢＭＳ更新監視処理部１４５は、ＤＢＭＳ１０３と連動して実行され、ファイルサーバ１４０上で実行されるデータアクセスアプリケーション１４６及び１４７等のアプリケーションの入出力を監視し、ＤＢＭＳ１０３より監視要求のあったファイルの一覧として監視ファイル一覧１４８を作成し、監視ファイル一覧１４８に登録したファイルに対する更新処理の監視を行う。
【００２２】
図２は本実施形態のＤＢサーバ１００及びファイルサーバ１４０の概略構成を示す図である。図２に示す様に本実施形態のＤＢサーバ１００は、処理要求受付処理部２００と、表定義処理部２０１と、挿入処理部２０２と、検索処理部２０３と、更新処理部２０４と、削除処理部２０５と、更新連絡受付処理部２０６と、チェック開始処理部２０７と、チェック終了処理部２０８と、更新チェック処理部２０９と、監視依頼処理部２１１と、監視終了連絡処理部２１２と、インデクスメンテナンス処理部２１３とを有している。
【００２３】
処理要求受付処理部２００は、外部ファイルの格納先を示す位置情報、当該外部ファイルの監視を行う為の監視情報、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定した列データ挿入要求、表検索要求、表更新要求及び表削除要求をＤＢクライアント１３０から受け取る処理部である。
【００２４】
表定義処理部２０１は、表名及び列数をＤＢ情報内の表情報に設定し、表名、列名及び列のデータ型をＤＢ情報内の列情報に設定し、列のデータ型に外部ファイルを参照する外部ファイル参照型の指定が行われている場合には列情報に外部ファイル参照型であることを示す情報を設定して表定義を行う処理部である。
【００２５】
挿入処理部２０２は、位置情報及び監視情報を含む列データをデータベースに格納する処理部である。検索処理部２０３は、処理種別の内容に応じて検索対象の列データまたはその位置情報で示される外部ファイルの内容をＤＢクライアント１３０に送信する処理部である。
【００２６】
更新処理部２０４は、処理種別の内容に応じて更新対象の列データまたはその位置情報で示される外部ファイルの内容を表更新要求中の列データまたはその位置情報で示される外部ファイルの内容で更新する処理部である。
【００２７】
削除処理部２０５は、処理種別が外部ファイルの内容の削除を表している場合に削除対象の列データ中の位置情報で示される外部ファイルを削除し、削除対象の列データを削除する処理部である。更新連絡受付処理部２０６は、外部ファイル参照型の列データにより参照が行われる外部ファイルの更新連絡を受け取り、前記更新連絡が外部ファイルの削除を示している場合に、削除された外部ファイルを示す列データに対応する行の削除を行う処理部である。
【００２８】
チェック開始処理部２０７は、外部ファイルの監視を依頼する監視依頼を受け取り、監視依頼が行われた外部ファイルの情報をチェックファイル一覧に登録する監視開始処理部である。チェック終了処理部２０８は、外部ファイルの監視を終了する監視終了連絡を受け取り、監視終了連絡が行われた外部ファイルの情報をチェックファイル一覧から削除する監視終了処理部である。
【００２９】
更新チェック処理部２０９は、チェックファイル一覧に登録された外部ファイルを監視し、当該外部ファイルの更新または削除が行われた場合に、当該外部ファイルが更新または削除されたことを示す更新連絡を監視依頼元に送る監視処理部である。
【００３０】
監視依頼処理部２１１は、監視情報に従ってＤＢＭＳ更新監視処理部１４５の監視開始処理部２４１またはチェック開始処理部２０７に位置情報で示される外部ファイルの監視依頼を行う処理部である。監視終了連絡処理部２１２は、監視情報に従ってＤＢＭＳ更新監視処理部１４５の監視終了処理部２４２またはチェック終了処理部２０８に位置情報で示される外部ファイルの監視終了連絡を行う処理部である。インデクスメンテナンス処理部２１３は、外部ファイルの更新または削除に応じてインデクスのメンテナンス処理を実行する処理部である。
【００３１】
ＤＢサーバ１００を処理要求受付処理部２００、表定義処理部２０１、挿入処理部２０２、検索処理部２０３、更新処理部２０４、削除処理部２０５、更新連絡受付処理部２０６、チェック開始処理部２０７、チェック終了処理部２０８、更新チェック処理部２０９、監視依頼処理部２１１、監視終了連絡処理部２１２及びインデクスメンテナンス処理部２１３として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はＣＤ−ＲＯＭ以外の他の媒体でも良い。
【００３２】
またファイルサーバ１４０は、監視開始処理部２４１と、監視終了処理部２４２と、Ｉ／Ｏ監視処理部２４３とを有している。
監視開始処理部２４１は、外部ファイルの監視を依頼する監視依頼を受け取り、監視依頼が行われた外部ファイルの情報を監視ファイル一覧１４８に登録する処理部である。監視終了処理部２４２は、外部ファイルの監視を終了する監視終了連絡を受け取り、監視終了連絡が行われた外部ファイルの情報を監視ファイル一覧１４８から削除する処理部である。
Ｉ／Ｏ監視処理部２４３は、監視ファイル一覧１４８に登録された外部ファイルを監視し、当該外部ファイルの更新または削除が行われた場合に、当該外部ファイルが更新または削除されたことを示す更新連絡を監視依頼元に送る処理部である。
【００３３】
ファイルサーバ１４０を監視開始処理部２４１、監視終了処理部２４２及びＩ／Ｏ監視処理部２４３として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はＣＤ−ＲＯＭ以外の他の媒体でも良い。
【００３４】
ＤＢサーバ１００は、ＣＰＵ３１３、メモリ３１４、Ｉ／Ｏ制御装置３１２、通信制御装置３１１を備えている。メモリ３１４に格納されたＤＢＭＳ１０３のプログラムをＣＰＵ３１３が実行することによりＤＢＭＳ１０３の処理が行われ、Ｉ／Ｏ制御装置３１２によりディスク装置１１０及び１２０からのデータの読み出し及び書き込みを行い、ネットワーク１６０で接続された他の情報処理装置とデータの送受信を通信制御装置３１１により行う。
【００３５】
ＤＢクライアント１３０も同様の構成でメモリにＤＢアクセスアプリケーション１３１が格納され実行されている。ＤＢアクセスアプリケーション１３１がＤＢＭＳ１０３に問合せ要求を行うと、ＤＢクライアント１３０からＤＢサーバ１００の通信制御装置３１１に問合わせ要求が送信され、ＤＢＭＳ１０３に問合せ要求が送られる。ＤＢＭＳ１０３は要求に応じた処理を実行し、ＤＢデータ１１１へのアクセスが必要な場合、ディスク装置１１０に格納されたＤＢデータ１１１のアクセスをＩ／Ｏ制御装置３１２により行う。処理結果を通信制御装置３１１によりＤＢクライアント１３０に転送し、要求元のＤＢアクセスアプリケーション１３１に送る。
【００３６】
ファイルサーバ１４０及び１５０ではメモリに格納されたデータアクセスアプリケーション１４６及び１４７、ＷＷＷサーバ１４１及び１５７が実行されている。またファイルサーバ１４０ではメモリ３０２にファイルサーバ１４０をＤＢＭＳ更新監視処理部１４５として機能させる為のプログラムが格納され実行されている。ＤＢサーバ１００のＤＢＭＳ１０３がファイルサーバ１４０に外部ファイルの監視依頼を行うと、ＤＢサーバ１００の通信制御装置３１１からファイルサーバ１４０の通信制御装置３０３に監視依頼が送信され、ＤＢＭＳ更新監視処理部１４５に監視要求が送られる。ＤＢＭＳ更新監視処理部１４５は要求に応じた処理を実行し、外部ファイルの更新または削除が行われると更新通知を通信制御装置３１１によりＤＢサーバ１００の通信制御装置３０３に転送し、要求元のＤＢＭＳ１０３に送る。
【００３７】
図３は本実施形態のＤＢＭＳ１０３及びＤＢＭＳ更新監視処理部１４５の処理概要を示す図である。ＤＢＭＳ１０３は、処理要求２１０を受付けると要求の解析を行い、表定義処理部２０１、挿入処理部２０２、検索処理部２０３、更新処理部２０４及び削除処理部２０５により各操作を行う。
【００３８】
チェック開始処理部２０７、チェック終了処理部２０８、更新チェック処理部２０９は、ＤＢＭＳ更新監視処理部１４５が無い情報処理装置、例えば図１のファイルサーバ１５０において、そのディスク装置１５２に格納されたテキストデータ１５３及び画像データ１５４をＤＢＭＳ１０３のデータとした際に、データが更新されたかどうかのチェックの開始処理、終了処理及びチェック処理を行う。
【００３９】
ＤＢＭＳ更新監視処理部１４５の監視開始処理部２４１、監視終了処理部２４２、Ｉ／Ｏ監視処理部２４３は、ディスク装置１４２に格納されたテキストデータ１４３及び画像データ１４４をＤＢＭＳ１０３のデータとした際に、データが更新されたかどうかの監視の開始処理、終了処理及び監視処理を行う。監視ファイル一覧１４８には監視を行うファイルの一覧を格納する。
【００４０】
更新チェック処理部２０９またはＩ／Ｏ監視処理部２４３によりファイルの更新を検知した場合、更新チェック処理部２０９またはＩ／Ｏ監視処理部２４３は当該ファイルが更新されたことを更新連絡受付処理部２０６に連絡する。
【００４１】
ディスク装置１１０のＤＢデータ１１１にはＤＢ情報２２２、表データ２２３、インデクスデータ２２４が格納され、ＤＢ情報２２２として表情報２２５、列情報２２６、インデクス情報２２７、チェックファイル一覧２２８等が格納される。
【００４２】
表情報２２５は、表作成時に情報が追加され、表名、構成列数、格納先情報等が設定される。列情報２２６も同様に表作成時に情報が追加され、列を構成する表名、列名、列のデータ型情報等が設定される。インデクス情報２２７はインデクス生成時に情報が追加され、インデクスを作成する表名、列名情報等を設定する。
【００４３】
チェックファイル一覧２２８にはチェック開始処理部２０７によって情報が追加され、チェックファイル一覧２２８に登録されたファイルに対して更新チェック処理部２０９によりチェックが行われる。チェックが終了するとチェック終了処理部２０８によりチェックファイル一覧２２８の対応する情報が削除される。
【００４４】
表データ２２３には作成した各表のデータが格納される。検索処理部２０３により列データを取出し、挿入処理部２０２により行データを格納し、更新処理部２０４により列値の書換えを行い、削除処理部２０５により行の削除が行われる。
【００４５】
インデクスデータ２２４にはインデクス作成時に情報が追加され、インデクスを作成する表情報２２５及び列情報２２６等が設定される。インデクスを作成するとインデクスデータ２２４が作成され、検索実行時に指定される検索条件に合ったデータを高速に検索する為に用いる。
【００４６】
ディスク装置１２０のジャーナルファイル１２１には、ユーザの要求により行われた更新や削除の内容を記録しておき、障害等によりＤＢデータ１１１が破壊された場合等にＤＢデータ１１１を復旧する際に使用する。
【００４７】
次に本実施形態のデータベース処理システムにおける外部ファイル参照型データに関するＤＢＭＳ１０３の機能を機能毎に説明する。外部ファイル参照型データに係る操作機能としては、表定義、挿入、検索、更新、削除、更新連絡受付等の機能が有る。処理要求２１０がＤＢＭＳ１０３に対して行われ、処理要求に対する操作機能の処理が実行される。
【００４８】
図４は本実施形態の表定義処理の概要を示す図である。図５は本実施形態の表定義処理の処理手順を示すフローチャートである。まず表定義処理について図４及び図５を用いて説明する。
作成する表の表名５０１、表を構成する列の列名５０２、列のデータ型５０３等を指定した処理要求２１０がＤＢＭＳ１０３に送られる。外部ファイルを参照させる場合、列のデータ型５０３に外部ファイル参照型が指定される。
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って表定義処理部２０１を実行し、表名５０１及び列数等をＤＢ情報２２２内の表情報２２５に追加し（ステップ４０１）、表名５０１、列名５０２、列のデータ型５０３をＤＢ情報２２２内の列情報２２６に追加する。列のデータ型５０３に外部ファイル参照型の指定がされている場合は、列情報２２６に外部ファイル参照型であることを示す情報を追加する（ステップ４０２）。
【００４９】
図６は本実施形態のデータ挿入処理の概要を示す図である。図７は本実施形態のデータ挿入処理の処理手順を示すフローチャートである。以下、データ挿入処理について図６及び図７を用いて説明する。
データを挿入する表の表名６０１、各列に挿入する列データ６０２及び６０３等を指定した処理要求２１０がＤＢＭＳ１０３に送られる。設定されるデータ型には整数型、文字型や外部データ参照型等の型が有り、列データ６０２及び６０３には各型に対応したデータが指定される。
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って挿入処理部２０２を実行し、表名６０１に対応した表情報２２５、列情報２２６、インデクス情報２２７をＤＢ情報２２２より取得し（ステップ４１１）、列情報２２６を参照し、列データ６０２及び６０３をＤＢデータ１１１の対応する表データ２２３に格納する（ステップ４１２）。
ジャーナル出力指定がされていれば（ステップ４１３）、格納した列データ６０２及び６０３をジャーナルファイル１２１に出力する（ステップ４１４）。挿入した列にインデクスが付加されている場合（ステップ４１５）、インデクスのメンテナンスを実行する（ステップ４１６）。
【００５０】
図８は本実施形態の外部ファイル参照型データ挿入処理の概要を示す図である。図９は本実施形態の外部ファイル参照型データ挿入処理の処理手順を示すフローチャートである。以下、外部ファイル参照型データを挿入する場合について図９を用いて説明する。
【００５１】
ＤＢクライアント１３０は、外部ファイル参照型のデータを挿入する場合に列データ６０３として位置情報６０４及び監視情報６０５を指定する。
位置情報６０４には、参照される外部ファイルの格納先を示す情報を指定し、この情報にはネットワーク１６０で繋がれた先のファイルサーバ１４０及び１５０内のテキストデータ１４３及び１５３並びに画像データ１４４及び１５４を指定する為のＵＲＬを指定可能とする。
監視情報６０５には、当該外部ファイルの監視頻度及び監視を行う監視処理部を示す情報を指定する。例えばＣＤ−ＲＯＭ等に格納されたデータは更新されないので監視頻度としてＲＥＡＤ ＯＮＬＹを指定し、当該外部ファイルが更新される可能性のある場合、その監視頻度を時間、日、週、月、年等で指定する。また外部ファイル格納先でＤＢＭＳ更新監視処理部１４５が処理中の場合、監視を行う監視処理部を示す情報として、当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであることを示す情報を指定する。
【００５２】
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って挿入処理部２０２を実行し、ＤＢＭＳ１０３の挿入処理部２０２は、まず位置情報６０４で示される外部ファイルを参照し、外部ファイルの存在をチェックする（ステップ４５１）。外部ファイルとして図８の画像データ１４４が指定されていた場合、位置情報６０４よりＷＷＷサーバ１４１に対してデータの転送要求を行うことにより（７０１）、画像データ１４４がＷＷＷサーバ１４１より転送される（７０２及び７０３）。位置情報６０４に図８のテキストデータ１５３が指定されていた場合、ＷＷＷサーバ１５７に対してデータの転送要求を行うことにより（７１１）、テキストデータ１５３がＷＷＷサーバ１５７より転送される（７１２及び７１３）。
【００５３】
次にステップ４５２で監視情報６０５を参照して当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであるかをチェックし、監視情報６０５がＤＢＭＳ更新監視処理部１４５の管理下のファイルであることを示している場合、監視依頼処理部２１１によりＤＢＭＳ更新監視処理部１４５の監視開始処理部２４１へ外部ファイル情報を連絡して外部ファイルの監視依頼を行う（ステップ４５３）。
【００５４】
図１０は本実施形態の監視開始処理の処理手順を示すフローチャートである。図１０に示す様に監視開始処理部２４１は、外部ファイルの監視を依頼する監視依頼を受け取り、監視依頼が行われた外部ファイルの情報を監視ファイル一覧１４８に登録する（ステップ１５０１）。
【００５５】
図９のステップ４５２で監視情報６０５を参照した結果、当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルではない場合は、監視依頼処理部２１１によりチェック開始処理部２０７へ外部ファイル情報を連絡して当該外部ファイルのチェック依頼を行う（ステップ４５４）。
【００５６】
図１１は本実施形態のチェック開始処理の処理手順を示すフローチャートである。図１１の様にチェック開始処理部２０７は、チェック依頼の有った外部ファイル情報をチェックファイル一覧２２８に登録し（ステップ１５３１）、外部ファイルを取得してその最終更新時間をチェックファイル一覧２２８に登録し（ステップ１５３２）、監視情報６０５の監視頻度から次チェック時間を算出してチェックファイル一覧２２８に登録する（ステップ１５３３）。
【００５７】
図９のステップ４５６では、列データ６０３の位置情報６０４及び監視情報６０５をＤＢに格納する。次にジャーナル指定されているかをチェックし（ステップ４５７）、出力指定されている場合、列データ６０３と取得した外部ファイルの両方をジャーナルファイル１２１に出力する（ステップ４５８）。
【００５８】
図１２は本実施形態のデータ検索処理の概要を示す図である。図１３は本実施形態のデータ検索処理の処理手順を示すフローチャートである。以下、データ検索処理について図１２及び図１３を用いて説明する。
【００５９】
取出す表の表名８０１、検索項目８０２、検索条件８０３を指定した処理要求２１０がＤＢＭＳ１０３に送られる。検索項目８０２には取出す表の列名、列に対する操作が指定される。列が外部ファイル参照型の場合、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定できる。
【００６０】
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って検索処理部２０３を実行し、検索処理部２０３は、表名８０１に対応した表情報２２５、検索項目８０２に指定された列情報２２６をＤＢ情報２２２より取得し（ステップ４２１）、検索条件８０３に関連するインデクス情報２２７をＤＢ情報２２２より取得する（ステップ４２２）。
【００６１】
検索条件８０３に当てはまる行の検索項目に指定された列のデータを表データ２２３より取出す（ステップ４２３）。このとき検索条件に使用できるインデクス情報２２７がステップ４２２で取得されている場合、インデクスデータ２２４を使用して条件評価を行い、インデクス情報２２７が無かった場合、表データ２２３を逐次参照して条件評価を行う。
【００６２】
検索項目のデータ型をチェックし（ステップ４２４）、列のデータ型が外部ファイル参照型以外の場合、取出した列データ８２１をＤＢクライアント１３０へ送信する（ステップ４２７）。
【００６３】
列のデータ型が外部ファイル参照型の場合、処理種別を参照して列データまたは外部ファイルの内容のどちらが処理対象であるかをチェックし（ステップ４２５）、列データが処理対象である場合、ＤＢデータ１１１より取出した位置情報８２３及び監視情報８２４をＤＢクライアント１３０へ送信する（ステップ４２７）。外部ファイルの内容が処理対象である場合、ＤＢデータ１１１より取出した位置情報８２３より外部ファイルデータの取得を行い（ステップ４２６）、取得したデータをＤＢクライアント１３０へ送信する（ステップ４２７）。
【００６４】
外部ファイルデータの取得は挿入処理時のファイルの存在チェックと同様で、図８に示した様に位置情報８２３に対応するＷＷＷサーバ１４１または１５７に対して転送要求を行うことにより、ＷＷＷサーバ１４１または１５７より該当データが転送される。
【００６５】
図１４は本実施形態のデータ更新処理の概要を示す図である。図１５は本実施形態の列データ更新処理の処理手順を示すフローチャートである。以下、データ更新処理について図を用いて説明する。更新を行う表の表名９０１、更新する列名９０２とその更新値９０３等を指定した処理要求２１０がＤＢＭＳ１０３に送られる。
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って更新処理部２０４を実行し、更新処理部２０４は、表名９０１に対応した表情報２２５、更新指定された列名９０２に対応した列情報２２６、インデクス情報２２７をＤＢ情報２２２より取得する（ステップ４３１）。
次に列情報２２６及びインデクス情報２２７を参照して表データ２２３内より列データ９０４を取出し、更新値９０３で表データ２２３の列値を更新する（ステップ４３２）。ステップ４３３ではジャーナル出力指定をチェックし、ジャーナル出力指定がされていれば更新前の列値及び更新後の列値をジャーナルファイル１２１に出力する（ステップ４３４）。ステップ４３５では更新した列にインデクスが付加されているかをチェックし、付加されている場合、インデクスメンテナンス処理部２１３によりインデクスデータ２２４のメンテナンスを実行する（ステップ４３６）。
【００６６】
図１６は本実施形態の外部ファイル変更処理時の監視処理終了の概要を示す図である。図１６では更新対象の列データを更新し、参照する外部ファイルを変更する際に更新監視処理または更新チェック処理を終了させる処理を表している。
【００６７】
図１７は本実施形態の外部ファイル更新処理時の監視処理開始の概要を示す図である。外部ファイル参照型の場合、図１７の様に更新値９０３として位置情報１１１１、監視情報１１１２及び更新種別１１１３が指定される。位置情報１１１１、監視情報１１１２の値はデータ挿入処理で指定されるのと同じ物である。更新種別１１１３は列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別である。
更新対象の列データの位置情報１０１１を更新し、参照する外部ファイルを変更する場合には、図１６の列データ９０４の位置情報１０１１が示す外部ファイルの更新監視処理または更新チェック処理を終了させ、更新値９０３で表データ２２３の列値を更新し、更新値９０３の位置情報１１１１が示す外部ファイルの更新監視処理または更新チェック処理を開始させる。
【００６８】
図１８は本実施形態の外部データ参照型列データ更新処理の処理手順を示すフローチャートである。参照する外部ファイルの変更処理を図１６〜図１８を使用して詳細に説明する。
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って更新処理部２０４を実行し、更新処理部２０４は、更新種別１１１３を参照して処理要求２１０が位置情報１０１１で示される外部ファイルの内容を更新するものであるかを調べる（ステップ４７０）。
処理要求２１０が外部ファイルの内容を更新するものではなく、位置情報１０１１を更新し、参照する外部ファイルを変更するものである場合にはステップ４６１に進み、表データ２２３から取出した更新対象の列データ９０４の監視情報１０１２を参照し、位置情報１０１１で示される外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであるかどうかをチェックする（ステップ４６１）。当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルである場合、監視終了連絡処理部２１２によりＤＢＭＳ更新監視処理部１４５に監視終了連絡を行う（ステップ４６２）。
【００６９】
図１９は本実施形態の監視終了処理の処理手順を示すフローチャートである。図１９に示す様にＤＢＭＳ更新監視処理部１４５は監視終了連絡を受けると監視終了処理部２４２を実行し、監視終了連絡のあった外部ファイル情報を監視ファイル一覧１４８から削除する（ステップ１５１１）。
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルではない場合、監視終了連絡処理部２１２によりチェック終了処理部２０８を実行する（ステップ４６３）。
【００７０】
図２０は本実施形態のチェック終了処理の処理手順を示すフローチャートである。図２０に示す様にチェック終了処理部２０８は終了連絡のあった外部ファイル情報をチェックファイル一覧２２８より削除する（ステップ１５４１）。
【００７１】
以下データ挿入処理と同様の処理で、指定された位置情報１１１１を参照し、位置情報１１１１で示される外部ファイルの存在をチェックして取得する（ステップ４６４）。外部ファイルデータの取得は、挿入処理時のファイルの存在チェックと同様で、図８に示した様に位置情報１１１１に対応するＷＷＷサーバ１４１または１５７に対して転送要求を行うことにより、ＷＷＷサーバ１４１または１５７より該当データが転送される。
【００７２】
次に監視情報１１１２を参照し、位置情報１１１１で示される外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであるかをチェックする（ステップ４６５）。当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルである場合、監視依頼処理部２１１によりＤＢＭＳ更新監視処理部１４５の監視開始処理部２４１へ外部ファイル情報を連絡してファイルの監視依頼を行う（ステップ４６６）。監視開始処理部２４１は、図１０に示した様に、監視依頼の有った外部ファイル情報を監視ファイル一覧１４８に登録する（ステップ１５０１）。
【００７３】
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルではない場合は、監視依頼処理部２１１によりチェック開始処理部２０７へ外部ファイル情報を連絡してファイルのチェック依頼を行う（ステップ４６７）。チェック開始処理部２０７は図１１に示した様に、チェック依頼の有った外部ファイル情報をチェックファイル一覧２２８に登録し（ステップ１５３１）、当該外部ファイルの最終更新時間を取得してチェックファイル一覧２２８に登録し（ステップ１５３２）、監視情報１１１２の監視頻度より次チェック時間を算出してチェックファイル一覧２２８に登録する（ステップ１５３３）。
【００７４】
一方、列データによって参照している外部ファイルの内容を更新する場合、図１７の更新値９０３の位置情報１１１１が示す外部ファイルを取得し、図１６の列データ９０４の位置情報１０１１が示す外部ファイルを取得した外部ファイルの値に変更する。
【００７５】
参照している外部ファイルの内容を更新する処理を図１６〜図１８を使用して詳細に説明する。図１８のステップ４７０で更新種別１１１３を参照して処理要求２１０が位置情報１０１１で示される外部ファイルの内容を更新するものであるかを調べた結果、その処理要求２１０が当該外部ファイルの内容を更新するものである場合、位置情報１０１１で示される外部ファイルの内容を取得してジャーナルファイル１２１に格納し、更新値９０３に指定された位置情報１１１１で示される外部ファイルの存在をチェックしてその内容を取得する（ステップ４７１）。
外部ファイルデータの取得は、挿入処理時のファイルの存在チェックと同様で、図８に示した様に位置情報１１１１に対応するＷＷＷサーバ１４１または１５７に対して転送要求を行うことにより、ＷＷＷサーバ１４１または１５７より該当データが転送される。そして前記取得したデータを列データ９０４の位置情報１０１１が示す外部ファイル中に格納する（ステップ４７２）。なお前記の様に更新する外部ファイルのジャーナルを取得しておくことにより、ジャーナルを参照して外部ファイルを更新前の値に戻すことも可能である。
【００７６】
図２１は本実施形態のデータ削除処理の概要を示す図である。図２２は本実施形態のデータ削除処理の処理手順を示すフローチャートである。次にデータ削除処理について図２１及び図２２を用いて説明する。
削除する表の表名１２０１、削除条件１２０２等を指定した処理要求２１０がＤＢＭＳ１０３に送られる。外部ファイル参照型の列データを含む場合、列データまたは外部ファイルの内容のどちらを処理対象とするかを示す処理種別を指定できる。
ＤＢＭＳ１０３の処理要求受付処理部２００ではＤＢクライアント１３０から受け付けた処理要求２１０の解析を行って削除処理部２０５を実行し、表名１２０１に対応した表情報２２５、列情報２２６、表に関連するインデクス情報２２７をＤＢ情報２２２より取得し（ステップ４４１）、表データ２２３をアクセスして削除条件１２０２に該当するデータを削除する（ステップ４４２）。
ステップ４４３ではジャーナル出力指定をチェックし、ジャーナル出力指定がされている場合、削除前の値をジャーナルファイル１２１に出力する（ステップ４４４）。ステップ４４５では削除した表にインデクスが付加されている列が無いかをチェックし、インデクスが付加されている列が有る場合、インデクスメンテナンス処理部２１３によりインデクスのメンテナンスを実行する（ステップ４４６）。
【００７７】
図２３は本実施形態のデータ削除処理の処理手順を示すフローチャートである。外部ファイル参照型の列を含む表の場合、図２３の様に処理種別をチェックし（ステップ４８１）、格納されている列データ１２０３の削除が指定されている場合、列データ１２０３の監視情報１２０６を参照し、位置情報１２０５で示される外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであるかをチェックする（ステップ４８２）。
【００７８】
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルである場合、監視終了連絡処理部２１２によりＤＢＭＳ更新監視処理部１４５へ監視終了連絡を行う（ステップ４８３）。図１９に示した様にＤＢＭＳ更新監視処理部１４５は監視終了連絡を受けると監視終了処理部２４２を実行し、監視終了連絡のあった外部ファイル情報を監視ファイル一覧１４８より削除する（ステップ１５１１）。
【００７９】
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルではない場合、監視終了連絡処理部２１２によりチェック終了処理部２０８を実行する（ステップ４８４）。図２０に示した様にチェック終了処理部２０８は、監視終了連絡のあった外部ファイル情報をチェックファイル一覧２２８より削除する（ステップ１５４１）。
【００８０】
一方、ステップ４８１で位置情報１２０５で示される外部ファイル自体の削除が指定されていた場合、列データ１２０３の監視情報１２０６を参照し、当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルであるかをチェックする（ステップ４８６）。
【００８１】
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルである場合、監視終了連絡処理部２１２によりＤＢＭＳ更新監視処理部１４５へ監視終了連絡を行う（ステップ４８７）。図１９に示した様にＤＢＭＳ更新監視処理部１４５は監視終了連絡を受けると監視終了処理部２４２を実行し、監視終了連絡のあった外部ファイル情報を監視ファイル一覧１４８より削除する（ステップ１５１１）。
【００８２】
当該外部ファイルがＤＢＭＳ更新監視処理部１４５の管理下のファイルではない場合、監視終了連絡処理部２１２によりチェック終了処理部２０８を実行する（ステップ４８８）。図２０に示した様にチェック終了処理部２０８は監視終了連絡のあった外部ファイル情報をチェックファイル一覧２２８より削除する（ステップ１５４１）。
【００８３】
ステップ４８５では列データ１２０３の位置情報１２０５を参照し、位置情報１２０５で示される外部ファイルの内容を取得してジャーナルファイル１２１に格納した後、当該外部ファイルを削除する（ステップ４８５）。なお前記の様に削除する外部ファイルのジャーナルを取得しておくことにより、ジャーナルを参照して外部ファイルを削除前の値に戻すことも可能である。
【００８４】
図２４は本実施形態のＩ／Ｏ監視処理部２４３の処理概要を示す図である。次に更新監視処理について図２４を用いて説明する。外部ファイル参照型の列を含む表への挿入処理や更新処理時にＤＢＭＳ更新監視処理部１４５の管理下として外部ファイルの挿入や更新を行うと、ＤＢＭＳ１０３より外部ファイル格納先のＤＢＭＳ更新監視処理部１４５に対して監視開始が要求され、監視依頼のあった外部ファイル情報が監視ファイル一覧１４８に登録される。
【００８５】
図２５は本実施形態のＩ／Ｏ監視処理の処理手順を示すフローチャートである。ＤＢＭＳ更新監視処理部１４５のＩ／Ｏ監視処理部２４３は、ファイルサーバ１４０のテキストデータ１４３や画像データ１４４への処理を監視し、監視ファイル一覧１４８に登録されている外部ファイルの更新または削除が行われた場合に、当該外部ファイルが更新または削除されたことを示す更新連絡をＤＢＭＳ１０３に送る処理を行う。
【００８６】
ＤＢＭＳ更新監視処理部１４５のＩ／Ｏ監視処理部２４３は、ファイルサーバ１４０のファイルへの入出力処理に対して割込みを設定し、ファイルへの入出力処理を監視する。データアクセスアプリケーション１４６が画像データ１４４に対して入出力処理１３１０を実行するとファイルＩ／Ｏ割込み１３２０が発生し、Ｉ／Ｏ監視処理部２４３は、行われた入出力処理１３１０が当該ファイルの更新または削除する処理かどうかをチェックする（ステップ１５２１）。
【００８７】
画像データ１４４に行われた入出力処理１３１０が更新または削除である場合には、入出力処理１３１０の行われた画像データ１４４が監視ファイル一覧１４８に登録されているファイルであるかどうかをチェックする（ステップ１５２２）。
【００８８】
画像データ１４４が監視ファイル一覧１４８に登録されているファイルである場合には、当該外部ファイルが更新または削除されたこと示す更新連絡１３３０をＤＢＭＳ１０３に送信し、当該外部ファイルが削除された場合にはその外部ファイル情報を監視ファイル一覧１４８より削除する（ステップ１５２３）。なお該当外部ファイルが複数の表、列、行より参照されている場合、その全てについて更新連絡１３３０を送信する。
【００８９】
図２６は本実施形態の更新連絡受付処理の概要を示す図である。ＤＢＭＳ１０３はＩ／Ｏ監視処理部２４３より、更新連絡１３３０を受けると、更新連絡受付処理部２０６を実行し、更新連絡受付処理部２０６は外部ファイルが更新されたことによりＤＢＭＳ１０３が管理するＤＢデータ１１１の整合性が損なわれないよう各情報のメンテナンスを行う。
以下図２６を用いて説明する。更新連絡受付処理部２０６は、外部ファイルの更新または削除が行われた場合に実行されるので、どちらが実行されたかをチェックする（ステップ１６１０）。
外部ファイルの削除が行われた場合、削除された列値に対応する行の削除を行い（ステップ１６１５）、表にインデクスが登録されているかをチェックして（ステップ１６２０）、インデクスがある場合、インデクスメンテナンス処理部２１３によりインデクスのメンテナンス処理を実行する（ステップ１６２５）。
外部ファイルの更新が行われた場合、該当列にインデクスが登録されているかをチェックし（ステップ１６３０）、インデクスがある場合、インデクスメンテナンス処理部２１３によりインデクスのメンテナンス処理を実行する（ステップ１６３５）。
【００９０】
図２７は本実施形態の更新チェック処理の概要を示す図である。図２８は本実施形態の更新チェック処理の処理手順を示すフローチャートである。次に更新チェック処理部２０９の処理について図２７及び図２８を用いて説明する。
【００９１】
外部ファイル参照型の列を含む表への挿入処理や更新処理時に、ＤＢＭＳ更新監視処理部１４５の管理下ではないファイルとして外部ファイルの挿入や更新を行うと、チェック開始処理部２０７は、チェック依頼の有った外部ファイル情報、外部ファイルの最終更新時間、次チェック時間をＤＢデータ１１１のＤＢ情報２２２のチェックファイル一覧２２８に登録する。
【００９２】
更新チェック処理部２０９は、チェックファイル一覧２２８を参照し、チェック時間になった外部ファイルが無いかをチェックし（ステップ１５５１）、現在時刻が次チェック時間を経過している外部ファイルを参照して当該外部ファイルの最終更新時間を取得する（ステップ１５５２）。
【００９３】
前記取得した最終更新時間とチェックファイル一覧２２８に登録しておいた当該外部ファイルの前回の更新時間とを比較し（ステップ１５５３）、前記取得した最終更新時間が前回の更新時間を経過していれば当該外部ファイルが更新されたことを示す更新連絡を更新連絡受付処理部２０６に連絡し（ステップ１５５４）、前記取得した最終更新時間をチェックファイル一覧２２８に登録し直す（ステップ１５５５）。
【００９４】
ステップ１５５６では当該外部ファイルの監視頻度から次チェック時間を算出してチェックファイル一覧２２８に登録し（ステップ１５５６）、チェックファイル一覧２２８でチェック時間になった物が無いかをチェック（ステップ１５５１）する処理を繰返す。
【００９５】
また当該外部ファイルが削除されておりステップ１５５２で最終更新時間が取得できない場合にはステップ１５５３からステップ１５６１に進み、当該外部ファイルが削除されたことを示す更新連絡を更新連絡受付処理部２０６に連絡する。そしてステップ１５６２で当該外部ファイルの外部ファイル情報をチェックファイル一覧２２８より削除する。
【００９６】
更新連絡受付処理部２０６は、更新チェック処理部２０９より、更新連絡１４２１を受けると、外部ファイル更新メンテナンス処理を行う。図２６に示す様にまず更新連絡受付処理部２０６は、更新、削除が行われた場合に実行されるので、どちらが実行されたかをチェックし（ステップ１６１０）、削除が行われた場合、削除された値に対応する行の削除を行い（ステップ１６１５）、表にインデクスが登録されているかをチェックし（ステップ１６２０）、インデクスがある場合、インデクスメンテナンス処理を実行する（ステップ１６２５）。更新が行われた場合、該当列にインデクスが登録されているかをチェックし（ステップ１６３０）、インデクスがある場合、インデクスメンテナンス処理を実行する（ステップ１６３５）。
【００９７】
以上説明した様に本実施形態のデータベース処理システムによれば、データベース中の列データ中の位置情報によって示される外部ファイルが更新または削除された場合にそれを検知し、外部ファイルに対して行われた処理に対応してデータベース内部の列データを更新するので、データベース外に置かれた外部ファイル内のデータを通常のデータベースに格納された列データと同等のデータとしてデータベースの整合性を損なうことなく扱うことが可能である。
【００９８】
【発明の効果】
本発明によればデータベース中の列データ中の位置情報によって示される外部ファイルが更新または削除された場合にそれを検知し、外部ファイルに対して行われた処理に対応してデータベース内部の列データを更新するので、データベース外に置かれた外部ファイル内のデータを通常のデータベースに格納された列データと同等のデータとしてデータベースの整合性を損なうことなく扱うことが可能である。
【図面の簡単な説明】
【図１】本実施形態のデータベース処理システムの概略構成を示す図である。
【図２】本実施形態のＤＢサーバ１００及びファイルサーバ１４０の概略構成を示す図である。
【図３】本実施形態のＤＢＭＳ１０３及びＤＢＭＳ更新監視処理部１４５の処理概要を示す図である。
【図４】本実施形態の表定義処理の概要を示す図である。
【図５】本実施形態の表定義処理の処理手順を示すフローチャートである。
【図６】本実施形態のデータ挿入処理の概要を示す図である。
【図７】本実施形態のデータ挿入処理の処理手順を示すフローチャートである。
【図８】本実施形態の外部ファイル参照型データ挿入処理の概要を示す図である。
【図９】本実施形態の外部ファイル参照型データ挿入処理の処理手順を示すフローチャートである。
【図１０】本実施形態の監視開始処理の処理手順を示すフローチャートである。
【図１１】本実施形態のチェック開始処理の処理手順を示すフローチャートである。
【図１２】本実施形態のデータ検索処理の概要を示す図である。
【図１３】本実施形態のデータ検索処理の処理手順を示すフローチャートである。
【図１４】本実施形態のデータ更新処理の概要を示す図である。
【図１５】本実施形態の列データ更新処理の処理手順を示すフローチャートである。
【図１６】本実施形態の外部ファイル変更処理時の監視処理終了の概要を示す図である。
【図１７】本実施形態の外部ファイル更新処理時の監視処理開始の概要を示す図である。
【図１８】本実施形態の外部データ参照型列データ更新処理の処理手順を示すフローチャートである。
【図１９】本実施形態の監視終了処理の処理手順を示すフローチャートである。
【図２０】本実施形態のチェック終了処理の処理手順を示すフローチャートである。
【図２１】本実施形態のデータ削除処理の概要を示す図である。
【図２２】本実施形態のデータ削除処理の処理手順を示すフローチャートである。
【図２３】本実施形態のデータ削除処理の処理手順を示すフローチャートである。
【図２４】本実施形態のＩ／Ｏ監視処理部２４３の処理概要を示す図である。
【図２５】本実施形態のＩ／Ｏ監視処理の処理手順を示すフローチャートである。
【図２６】本実施形態の更新連絡受付処理の概要を示す図である。
【図２７】本実施形態の更新チェック処理の概要を示す図である。
【図２８】本実施形態の更新チェック処理の処理手順を示すフローチャートである。
【符号の説明】
１００…ＤＢサーバ、１０３…ＤＢＭＳ、１１０及び１２０…ディスク装置、１１１…ＤＢデータ、１２１…ジャーナルファイル、１３０…ＤＢクライアント、１３１…ＤＢアクセスアプリケーション、１４０及び１５０…ファイルサーバ、１４１及び１５７…ＷＷＷサーバ、１４２及び１５２…ディスク装置、１４３及び１５３…テキストデータ、１４４及び１５４…画像データ、１４５…ＤＢＭＳ更新監視処理部、１４６，１４７，１５１及び１５６…データアクセスアプリケーション、１４８…監視ファイル一覧、１６０…ネットワーク、３０１…ＣＰＵ、３０２…メモリ、３０３…通信制御装置、３０４…Ｉ／Ｏ制御装置、３１１…通信制御装置、３１２…Ｉ／Ｏ制御装置、３１３…ＣＰＵ、３１４…メモリ、２００…処理要求受付処理部、２０１…表定義処理部、２０２…挿入処理部、２０３…検索処理部、２０４…更新処理部、２０５…削除処理部、２０６…更新連絡受付処理部、２０７…チェック開始処理部、２０８…チェック終了処理部、２０９…更新チェック処理部、２１１…監視依頼処理部、２１２…監視終了連絡処理部、２１３…インデクスメンテナンス処理部、２４１…監視開始処理部、２４２…監視終了処理部、２４３…Ｉ／Ｏ監視処理部、２１０…処理要求、２２２…ＤＢ情報、２２３…表データ、２２４…インデクスデータ、２２５…表情報、２２６…列情報、２２７…インデクス情報、２２８…チェックファイル一覧、５０１…表名、５０２…列名、５０３…列のデータ型、６０１…表名、６０２及び６０３…列データ、６０４…位置情報、６０５…監視情報、７０１…データ転送要求、７０２及び７０３…データ転送、７１１…データ転送要求、７１２及び７１３…データ転送、８０１…表名、８０２…検索項目、８０３…検索条件、８２１及び８２２…列データ、８２３…位置情報、８２４…監視情報、９０１…表名、９０２…列名、９０３…更新値、９０４…列データ、１０１１…位置情報、１０１２…監視情報、１１１１…位置情報、１１１２…監視情報、１１１３…更新種別、１２０１…表名、１２０２…削除条件、１２０３…列データ、１２０５…位置情報、１２０６…監視情報、１３１０…入出力処理、１３２０…ファイルＩ／Ｏ割込み、１３３０…更新連絡、１４２１…更新連絡。
【図１】
0004381496.tif 000002
【図２】
0004381496.tif 000003
【図３】
0004381496.tif 000004
【図４】
0004381496.tif 000005
【図５】
0004381496.tif 000006
【図６】
0004381496.tif 000007
【図７】
0004381496.tif 000008
【図８】
0004381496.tif 000009
【図９】
0004381496.tif 000010
【図１０】
0004381496.tif 000011
【図１１】
0004381496.tif 000012
【図１２】
0004381496.tif 000013
【図１３】
0004381496.tif 000014
【図１４】
0004381496.tif 000015
【図１５】
0004381496.tif 000016
【図１６】
0004381496.tif 000017
【図１７】
0004381496.tif 000018
【図１８】
0004381496.tif 000019
【図１９】
0004381496.tif 000020
【図２０】
0004381496.tif 000021
【図２１】
0004381496.tif 000022
【図２２】
0004381496.tif 000023
【図２３】
0004381496.tif 000024
【図２４】
0004381496.tif 000025
【図２５】
0004381496.tif 000026
【図２６】
0004381496.tif 000027
【図２７】
0004381496.tif 000028
【図２８】
0004381496.tif 000029