(57)【要約】【課題】データベースで管理しているマスタデータの安全かつ容易な変更を実現すること。【解決手段】本発明にかかるデータ管理方法は、マスタテーブルを格納するための実マスタテーブル格納領域と、実マスタテーブル格納領域へ格納されたマスタテーブルのコピーを編集して得られた編集後のマスタテーブルを格納するための編集マスタテーブル格納領域と、を含んだデータベースを管理するサーバ装置１００において、クライアント装置１０１から編集対象として指定された対象マスタテーブルを実マスタテーブル格納領域または編集マスタテーブル格納領域から読み出し、クライアント装置１０１へ送信する読出送信ステップと、クライアント装置１０１から受信した編集後の対象マスタテーブルを、クライアント装置１０１からの指示に従い、実マスタテーブル格納領域または編集マスタテーブル格納領域へ格納する格納ステップと、を含んでいる。【選択図】        図３
2008165619.tif 000002
【特許請求の範囲】
【請求項１】
クライアントサーバシステムを構成し、マスタテーブルを格納するための第１の格納領域と、当該第１の格納領域へ格納されたマスタテーブルのコピーを編集して得られた編集後のマスタテーブルを格納するための第２の格納領域と、を含んだデータベースを管理するサーバ装置において、
テーブル管理部が、クライアント装置から編集対象として指定されたマスタテーブルである対象マスタテーブルを前記第１の格納領域または前記第２の格納領域から読み出し、当該読み出した対象マスタテーブルを前記クライアント装置へ送信する読出送信ステップと、
テーブル管理部が、前記クライアント装置から受信した編集後の対象マスタテーブルを、当該クライアント装置からの指示に従い、前記第１の格納領域または前記第２の格納領域へ格納する格納ステップと、
を含むことを特徴とするデータ管理方法。
【請求項２】
前記読出送信ステップでは、前記対象マスタテーブルが前記第２の格納領域へ格納されている場合、当該第２の格納領域から読み出した対象マスタテーブルを前記クライアント装置へ送信することを特徴とする請求項１に記載のデータ管理方法。
【請求項３】
前記読出送信ステップでは、前記対象マスタテーブルが前記第２の格納領域へ格納されていない場合、前記第１の格納領域から読み出した対象マスタテーブルのコピーを当該第２の格納領域へ格納後、当該読み出した対象マスタテーブルを前記クライアント装置へ送信することを特徴とする請求項１に記載のデータ管理方法。
【請求項４】
さらに、
テーブル管理部が、クライアント装置から編集対象として指定された対象マスタテーブルを他のクライアント装置が編集中かどうかを確認する編集状態確認ステップ、
を含み、
前記読出送信ステップでは、対象マスタテーブルおよび前記編集状態確認ステップにおける確認結果を前記クライアント装置へ送信することを特徴とする請求項１、２または３に記載のデータ管理方法。
【請求項５】
前記格納ステップでは、前記編集後の対象マスタテーブルを前記第１の格納領域へ格納した場合、当該編集後の対象マスタテーブルに対応するマスタテーブルを前記第２の格納領域から削除することを特徴とする請求項１〜４のいずれか一つに記載のデータ管理方法。
【請求項６】
前記格納ステップでは、前記クライアント装置から前記編集後の対象マスタテーブルの編集内容をデータベースへ反映させる日時を指定された場合、当該編集後の対象マスタテーブルを前記第２の格納領域へ一旦格納し、その後、当該指定された日時となった時点で、当該第２の格納領域へ格納されている編集後の対象マスタテーブルを、前記第１の格納領域へ格納されている対象マスタテーブルへ上書きすることを特徴とする請求項１〜５のいずれか一つに記載のデータ管理方法。
【請求項７】
クライアントサーバシステムを構成するサーバ装置としての機能を有するデータ管理装置であって、
マスタテーブルを格納するための第１の格納領域と、当該第１の格納領域へ格納されたマスタテーブルのコピーを編集して得られた編集後のマスタテーブルを格納するための第２の格納領域と、を含んだデータベースが構築された記憶部と、
クライアント装置から編集対象として指定されたマスタテーブルである対象マスタテーブルを前記第１の格納領域または前記第２の格納領域から読み出し、また、クライアント装置から受信した編集後の対象マスタテーブルを当該クライアント装置からの指示に従い、当該第１の格納領域または当該第２の格納領域へ格納するテーブル管理部と、
前記テーブル管理部が読み出した対象マスタテーブルを要求元のクライアント装置へ送信し、また、クライアント装置が送信した編集後の対象マスタテーブルを受信する通信部と、
を備えることを特徴とするデータ管理装置。
【請求項８】
前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルが前記第２の格納領域へ格納されている場合、当該対象マスタテーブルを当該第２の格納領域から読み出すことを特徴とする請求項７に記載のデータ管理装置。
【請求項９】
前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルが前記第２の格納領域へ格納されていない場合、当該対象マスタテーブルを前記第１の格納領域から読み出し、さらに、当該読み出した対象マスタテーブルのコピーを当該第２の格納領域へ格納することを特徴とする請求項７に記載のデータ管理装置。
【請求項１０】
前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルを他のクライアント装置が編集中かどうかを確認し、当該確認結果および当該対象マスタテーブルを当該クライアント装置へ送信することを特徴とする請求項７、８または９に記載のデータ管理装置。
【請求項１１】
前記テーブル管理部は、前記編集後の対象マスタテーブルを前記第１の格納領域へ格納した場合、当該編集後の対象マスタテーブルに対応するマスタテーブルを前記第２の格納領域から削除することを特徴とする請求項７〜１０のいずれか一つに記載のデータ管理装置。
【請求項１２】
前記通信部を介して編集後の対象マスタテーブルを受信した際に、その編集内容をデータベースへ反映させる日時を指定された場合、前記テーブル管理部は、当該編集後の対象マスタテーブルを前記第２の格納領域へ一旦格納し、その後、当該指定された日時となった時点で、当該第２の格納領域へ格納されている編集後の対象マスタテーブルを、前記第１の格納領域へ格納されている対象マスタテーブルへ上書きすることを特徴とする請求項７〜１１のいずれか一つに記載のデータ管理装置。
【請求項１３】
請求項７〜１２のいずれか一つに記載のデータ管理装置としての機能を有するサーバ装置と、
前記サーバ装置からマスタテーブルを取得する機能および当該取得したマスタテーブルを編集する機能を有するクライアント装置と、
を備えることを特徴とするデータ管理システム。
【請求項１４】
請求項１〜６のいずれか一つに記載のデータ管理方法をコンピュータに実行させることを特徴とするデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースを利用して行うデータ管理に関するものであり、特に、安全かつ柔軟なデータ管理を実現するデータ管理方法、データ管理装置、データ管理システムおよびデータ管理プログラムに関するものである。
【背景技術】
【０００２】
データベースを利用して行うデータ管理に関する技術、とりわけ、データベースに格納されているデータの更新処理に関する技術は、データベースを運営する上で重要視されており、多数提案されている。
【０００３】
たとえば、下記特許文献１に記載のデータベースシステムでは、クライアントコンピュータ側でサーバコンピュータ側（データベース）のテーブルデータの加工、修正作業を行い、作業内容に応じて自動生成されたＳＱＬ文をサーバコンピュータへ送信することによりデータベースを更新して、サーバコンピュータの負荷を低減させている。
【０００４】
また、下記特許文献２に記載のシステムでは、クライアントコンピュータがローカルなデータベースを有し、クライアントコンピュータは、サーバコンピュータから取得したデータテーブルを、このローカルなデータベースへ格納して更新処理を行い、更新処理が終了後、更新されたデータテーブルをサーバコンピュータへ戻すようにして、システム全体のスループットの向上を図っている。
【０００５】
【特許文献１】特開平６−６８０３２号公報
【特許文献２】特開平１１−８５８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、データベースのマスタデータを更新する際は、クライアントからのアクセスを全て停止して、システム管理者が更新データをマスタに上書きする作業になるので、クライアントからのアクセスを全て停止する必要があり、また、データベースに精通したシステム管理者が必要となるため、システム管理者が存在しない企業などでは運営が難しい。
【０００７】
また、上記特許文献１に記載の技術は、マスタデータを直接編集する方法であるので、入力時のミスが全て即時にマスタデータに反映されてしまうという問題があった。加えて、不測の事態によりマスタデータが壊れた場合の復旧作業が困難であった。
【０００８】
また、上記特許文献２に記載の技術では、（１）サーバ側に設けたデータベースのマスタデータをクライアント側のローカルデータベースへ読み出し、ローカルデータベースを編集後に、マスタデータを更新する方法のため、サーバコンピュータとクライアントコンピュータ間の通信量が増大してしまう、（２）クライアント側のローカルデータベースで編集することになるので、クライアントコンピュータのハードウェア、ソフトウェアの負担が大きい、（３）クライアントコンピュータに編集中のデータが保持される形になるので、停電や人的要因により、編集中データが消失する可能性がある、などの問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、クライアントサーバシステムにおいて、サーバ側のデータベースが管理しているマスタデータを更新する際に、クライアントからのアクセス停止や、システム管理者によるマスタデータの上書き作業など特別な作業を必要とせずに、マスタデータの安全を維持し、尚且つ容易にデータの更新を行えるようにするデータ管理方法、データ管理装置、データ管理システムおよびデータ管理プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、クライアントサーバシステムを構成し、マスタテーブルを格納するための第１の格納領域と、当該第１の格納領域へ格納されたマスタテーブルのコピーを編集して得られた編集後のマスタテーブルを格納するための第２の格納領域と、を含んだデータベースを管理するサーバ装置において、テーブル管理部が、クライアント装置から編集対象として指定されたマスタテーブルである対象マスタテーブルを前記第１の格納領域または前記第２の格納領域から読み出し、当該読み出した対象マスタテーブルを前記クライアント装置へ送信する読出送信ステップと、テーブル管理部が、前記クライアント装置から受信した編集後の対象マスタテーブルを、当該クライアント装置からの指示に従い、前記第１の格納領域または前記第２の格納領域へ格納する格納ステップと、を含むことを特徴とする。
【００１１】
つぎの発明にかかるデータ管理方法において、前記読出送信ステップでは、前記対象マスタテーブルが前記第２の格納領域へ格納されている場合、当該第２の格納領域から読み出した対象マスタテーブルを前記クライアント装置へ送信することを特徴とする。
【００１２】
つぎの発明にかかるデータ管理方法において、前記読出送信ステップでは、前記対象マスタテーブルが前記第２の格納領域へ格納されていない場合、前記第１の格納領域から読み出した対象マスタテーブルのコピーを当該第２の格納領域へ格納後、当該読み出した対象マスタテーブルを前記クライアント装置へ送信することを特徴とする。
【００１３】
つぎの発明にかかるデータ管理方法においては、さらに、テーブル管理部が、クライアント装置から編集対象として指定された対象マスタテーブルを他のクライアント装置が編集中かどうかを確認する編集状態確認ステップ、を含み、前記読出送信ステップでは、対象マスタテーブルおよび前記編集状態確認ステップにおける確認結果を前記クライアント装置へ送信することを特徴とする。
【００１４】
つぎの発明にかかるデータ管理方法において、前記格納ステップでは、前記編集後の対象マスタテーブルを前記第１の格納領域へ格納した場合、当該編集後の対象マスタテーブルに対応するマスタテーブルを前記第２の格納領域から削除することを特徴とする。
【００１５】
つぎの発明にかかるデータ管理方法において、前記格納ステップでは、前記クライアント装置から前記編集後の対象マスタテーブルの編集内容をデータベースへ反映させる日時を指定された場合、当該編集後の対象マスタテーブルを前記第２の格納領域へ一旦格納し、その後、当該指定された日時となった時点で、当該第２の格納領域へ格納されている編集後の対象マスタテーブルを、前記第１の格納領域へ格納されている対象マスタテーブルへ上書きすることを特徴とする。
【００１６】
つぎの発明にかかるデータ管理装置は、クライアントサーバシステムを構成するサーバ装置としての機能を有するデータ管理装置であって、マスタテーブルを格納するための第１の格納領域と、当該第１の格納領域へ格納されたマスタテーブルのコピーを編集して得られた編集後のマスタテーブルを格納するための第２の格納領域と、を含んだデータベースが構築された記憶部と、クライアント装置から編集対象として指定されたマスタテーブルである対象マスタテーブルを前記第１の格納領域または前記第２の格納領域から読み出し、また、クライアント装置から受信した編集後の対象マスタテーブルを当該クライアント装置からの指示に従い、当該第１の格納領域または当該第２の格納領域へ格納するテーブル管理部と、前記テーブル管理部が読み出した対象マスタテーブルを要求元のクライアント装置へ送信し、また、クライアント装置が送信した編集後の対象マスタテーブルを受信する通信部と、を備えることを特徴とする。
【００１７】
つぎの発明にかかるデータ管理装置において、前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルが前記第２の格納領域へ格納されている場合、当該対象マスタテーブルを当該第２の格納領域から読み出すことを特徴とする。
【００１８】
つぎの発明にかかるデータ管理装置において、前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルが前記第２の格納領域へ格納されていない場合、当該対象マスタテーブルを前記第１の格納領域から読み出し、さらに、当該読み出した対象マスタテーブルのコピーを当該第２の格納領域へ格納することを特徴とする。
【００１９】
つぎの発明にかかるデータ管理装置において、前記テーブル管理部は、クライアント装置から編集対象として指定された対象マスタテーブルを他のクライアント装置が編集中かどうかを確認し、当該確認結果および当該対象マスタテーブルを当該クライアント装置へ送信することを特徴とする。
【００２０】
つぎの発明にかかるデータ管理装置において、前記テーブル管理部は、前記編集後の対象マスタテーブルを前記第１の格納領域へ格納した場合、当該編集後の対象マスタテーブルに対応するマスタテーブルを前記第２の格納領域から削除することを特徴とする。
【００２１】
つぎの発明にかかるデータ管理装置においては、前記通信部を介して編集後の対象マスタテーブルを受信した際に、その編集内容をデータベースへ反映させる日時を指定された場合、前記テーブル管理部は、当該編集後の対象マスタテーブルを前記第２の格納領域へ一旦格納し、その後、当該指定された日時となった時点で、当該第２の格納領域へ格納されている編集後の対象マスタテーブルを、前記第１の格納領域へ格納されている対象マスタテーブルへ上書きすることを特徴とする。
【００２２】
つぎの発明にかかるデータ管理システムは、請求項７〜１２のいずれか一つに記載のデータ管理装置としての機能を有するサーバ装置と、前記サーバ装置からマスタテーブルを取得する機能および当該取得したマスタテーブルを編集する機能を有するクライアント装置と、を備えることを特徴とする。
【００２３】
つぎの発明にかかるデータ管理プログラムは、請求項１〜６のいずれか一つに記載のデータ管理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
本発明にかかるデータ管理方法は、編集対象のマスタデータを正式なマスタデータとしてデータベースへ格納するか編集途中のマスタデータとしてデータベースへ格納するかをユーザが選択的に決定することとしたので、データベースのマスタデータを更新する際に、クライアントのアクセス停止や、システム管理者によるマスタデータの上書き作業など特別な作業を必要とせずに、マスタデータの安全性を維持しつつ柔軟にマスタデータを更新することができる、という効果を奏する。
【００２５】
また、他のクライアントが編集対象として選択中のマスタデータは、読み取り専用データとして取り扱うようにしたので、複数のクライアントがマスタデータを同時に編集してしまい、その内容に不整合が生じるのを防止することができる、という効果を奏する。
【００２６】
また、マスタデータの編集作業を複数回に分けて実施する必要がある場合などにおいて、編集途中のマスタデータを正式なマスタデータへ反映させることなくサーバ側で保持するようにしたので、クライアント側で管理する場合と比較して、編集途中のマスタデータをより厳格に管理することができる、という効果を奏する。
【００２７】
また、編集途中のマスタデータをサーバ側で管理するようにしたので、ユーザは、作業を行う際に使用するクライアントコンピュータを限定されることがなくなり、同一システム内のどのクライアントコンピュータからでも編集作業を再開できる、という効果を奏する。
【００２８】
また、編集後のマスタデータと正式なマスタデータとを入れ替える日時を指定できるようにしたので、マスタデータの更新を柔軟に実施することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００２９】
以下に、本発明にかかるデータ管理方法、データ管理装置、データ管理システムおよびデータ管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００３０】
図１は、本発明にかかるデータ管理方法を適用したデータ管理システムの構成例を示す図である。このデータ管理システムは、サーバコンピュータ１００と、ネットワークを介してこれに接続する複数のクライアントコンピュータ１０１，１０２，１０３，１０４，１０５，１０６，…と、により構成される。なお、以下の説明においては、サーバコンピュータを単にサーバと呼び、クライアントコンピュータを単にクライアントと呼ぶ。
【００３１】
図２は、本発明にかかるデータ管理方法を実現するためのデータ管理装置としての機能を備え、本発明にかかるデータ管理プログラムを実行可能な計算機システムの構成例を示す図である。この計算機システムは、制御部１と記憶部２と表示部３と入力部４と通信部５とを備える。
【００３２】
図２において、制御部１は、本発明にかかるデータ管理プログラムを実行する。記憶部２は、ＲＡＭ，ＲＯＭなどの各種メモリを含み、上記制御部１が実行すべきプログラム，処理の過程で得られた必要なデータ，などを記憶する。表示部３は、ＣＲＴ，ＬＣＤ（液晶表示パネル）などで構成され、計算機システムのユーザに対して各種画面を表示する。入力部４は、たとえばキーボード４１やマウス４２などで構成され、計算機システムのユーザが、各種情報の入力などを行うために使用する。また、この計算機システムは、通信部６を介してネットワークと接続することによりネットワークに接続された他の計算機システムとの間で各種情報のやりとりを行う。
【００３３】
ここで、本発明にかかるデータ管理プログラムが実行可能な状態になるまでの計算機システムの動作例について説明する。上述した構成をとる計算機システムには、たとえば、ＣＤ−ＲＯＭドライブユニット（図示せず）にセットされたＣＤ−ＲＯＭから、データ管理プログラムがディスクユニット（図示せず）にインストールされる。そして、データ管理プログラムの実行時に、ディスクユニットから読み出されたデータ管理プログラムが記憶部２の所定の場所に格納される。この状態で、制御部１は、記憶部２に格納されたプログラムに従って、データ管理処理を実行する。
【００３４】
なお、本発明においては、ＣＤ−ＲＯＭを記録媒体として、上記データ管理処理を記述したプログラムを提供しているが、これに限らず、計算機システムの構成、提供するプログラムの容量などに応じて、たとえば、フロッピー（登録商標）ディスクなどの磁気ディスク，光磁気ディスク，磁気テープなどの記録媒体を用いることも可能である。また、電子メール，インターネットなどの伝送媒体により提供されたプログラムを用いることとしてもよい。
【００３５】
また、クライアントも、上記図２に示した構成の計算機システムにより実現される。
【００３６】
図３は、図１に示したデータ管理システムを構成するサーバおよびクライアントの構成例を示す図である。なお、このデータ管理システムは、サーバおよびこれに接続するクライアントにより構成されるが、図３では、サーバ１００およびクライアント１０１の構成例を示している。また、クライアント１０２，１０３，…の構成は、クライアント１０１と同様である。以下に、サーバ１００およびクライアント１０１の内部構成について説明する。
【００３７】
まず、サーバ１００の内部構成について説明する。サーバ１００は、サーバ１００を構成する各部の制御や本発明にかかるデータ管理方法を実現するための各種処理を実行する制御部１と、各種情報を保持するための記憶部２と、ネットワークを介してクライアントなどとの間で各種情報の送受信などを行う通信部５と、を含んでいる。また、制御部１は、記憶部２内部に構築されたデータベースへ格納されているデータ（テーブル）の読み出し、更新などを行うテーブル管理部１−１を含み、記憶部２は、各クライアントから受け取ったデータを格納するためのデータベース２−１を含んでいる。
【００３８】
また、図３は、本発明にかかるデータ管理システムを財務会計システムにとして使用する場合のデータベース２−１の構成例を併せて示しており、具体的には、データベース２−１が実マスタテーブル格納領域および編集マスタテーブル格納領域を含んでいることを示している。実マスタテーブル格納領域は、通常のデータベースにおけるマスタテーブルを格納するための領域に相当し、クライアント（ユーザ）によるマスタテーブルの編集作業が完了した場合など、ユーザからの指示に応じて更新される。図３に示した例では、科目マスタ，部門マスタ，補助マスタ，役所マスタ，…が実マスタテーブル格納領域へ格納されている。また、編集マスタテーブル格納領域は、実マスタテーブル格納領域から読み出したデータの編集作業を中断する際など、その時点のユーザによる編集内容を正式な編集結果としてデータベース２−１（実マスタテーブル格納領域）へ反映させると問題等が発生する恐れがある場合に、その編集途中のデータを格納するための領域である。この例では、科目マスタおよび補助マスタの編集途中のデータが存在している（編集マスタテーブル格納領域へ編集途中のマスタが格納されている）。データベース２−１がこのような２つの領域を有することにより、後述するような柔軟な運用が実現可能となる。
【００３９】
つぎに、クライアント１０１の内部構成について説明する。クライアント１０１は、クライアント１０１を構成する各部の制御やユーザの指示に従った各種処理を実行する制御部１ａと、制御部１ａからの指示に従いユーザに対して各種画面を表示する表示部３ａと、ユーザからの指示情報などを取得し、それを制御部１ａへ渡す入力部４ａと、ネットワークを介してサーバなどとの間で各種情報の送受信などを行う通信部５ａと、を含んでいる。また、制御部１ａは、ユーザからの指示情報をサーバ１００へ通知する操作指示部１ａ−１と、サーバ１００から受け取ったマスタデータの編集処理を行うマスタ編集部１ａ−２と、サーバ１００から受け取ったマスタデータの編集が許可されているかどうかを判断するマスタ状態把握部１ａ−３と、を含んでいる。
【００４０】
つづいて、図３，図４を参照しながら、クライアント１０１がサーバ１００のデータベース２−１へ格納されているデータ（マスタテーブル）を編集する動作について説明する。なお、図４は、データベース２−１へ格納されているデータの編集作業手順の一例を示すフローチャートである。
【００４１】
データベース２−１へ格納されているマスタテーブルの編集を行う場合、クライアント１０１では、まず、所定のアプリケーションソフトウエアを使用して編集を行いたいマスタテーブルをユーザが選択する。具体的には、入力部４ａを使用して所定動作の開始指示が行われると、図５に例示したようなメニュー選択画面が表示部３ａへ表示され、ユーザは、入力部４ａを使用して、表示された「メインメニュー」の「マスタ編集」を選択し、さらに、編集を行いたいマスタテーブル（勘定科目、部門、補助、など）を選択する。マスタテーブルが選択されると、その情報は入力部４ａから操作指示部１ａ−１へ渡され、操作指示部１ａ−１は、受け取った情報を通信部５ａ経由でサーバ１００へ送信する（ステップＳ１）。
【００４２】
サーバ１００においては、上記ステップＳ１において送信された情報を通信部５が受信し、受信した情報はテーブル管理部１−１へ渡される。そして、情報を受け取ったテーブル管理部１−１は、受信情報により指定されたマスタテーブル（対象マスタテーブル、以下、対象マスタと記載する）の状態を確認する。具体的には、まず、対象マスタを他のクライアントが編集中であるかどうかを確認する（ステップＳ２）。対象マスタが編集中であるかどうかは、記憶部２に含まれている当該対象マスタのマスタ占有情報（マスタ占有フラグ）の状態を確認して判定する。
【００４３】
そして、対象マスタを他のクライアントが編集中であれば（ステップＳ２，Ｙｅｓ）、テーブル管理部１−１は、読み取り専用としてクライアント１０１に対してアクセスを許可する。すなわち、テーブル管理部１−１は、対象マスタを編集マスタテーブル格納領域から読み出し、読み出した対象マスタおよび当該対象マスタの編集が不可能である旨（対象マスタが読み取り専用である旨）を示す情報を通信部５経由でクライアント１０１へ送信する（ステップＳ３）。
【００４４】
上記ステップＳ３において送信された対象マスタおよび編集不可を示す情報を受信したクライアント１０１では、通信部５ａ経由で、対象マスタがマスタ編集部１ａ−２へ渡され、また、編集不可を示す情報がマスタ状態把握部１ａ−３へ渡される。マスタ状態把握部１ａ−３は、受信情報の内容を確認して、受信した対象マスタが読み取り専用であることを把握し、その旨をマスタ編集部１ａ−２へ通知する。一方、マスタ編集部１ａ−２は、受信した対象マスタを図示していない記憶部内の所定の作業用領域へ格納し、対象マスタが読み取り専用である旨の通知をマスタ状態把握部１ａ−３から受けると、読み取り専用を示す内容とともに対象マスタの内容を表示部３ａへ表示する（ステップＳ４）。以下、ユーザからの終了指示があるまで対象マスタの内容確認動作（内容表示）が継続される。
【００４５】
これに対して、対象マスタが編集中でなければ（ステップＳ２，Ｎｏ）、テーブル管理部１−１は、さらに、対象マスタが編集マスタテーブル格納領域に存在しているかどうかを確認する（ステップＳ５）。確認の結果、対象マスタが編集マスタテーブル格納領域に存在していれば（ステップＳ５，Ｙｅｓ）、編集可能としてアクセスを許可し、さらに、対象マスタのマスタ占有フラグの状態を変更する。すなわち、テーブル管理部１−１は、対象マスタを編集マスタテーブル格納領域から読み出し、読み出した対象マスタおよび当該対象マスタの編集が可能である旨を示す情報を通信部５経由でクライアント１０１へ送信し、記憶部２に含まれている当該対象マスタのマスタ占有フラグをＯＮに設定する（ステップＳ７）。
【００４６】
一方、上記ステップＳ５における確認の結果、対象マスタが編集マスタテーブル格納領域に存在していなければ（ステップＳ５，Ｎｏ）、テーブル管理部１−１は、対象マスタを実マスタテーブル格納領域から読み出して編集マスタテーブル格納領域へコピーする（ステップＳ６）。ステップＳ６が実行された後は、上述したステップＳ７と同様の処理が実行される。ただし、編集マスタテーブル格納領域へコピーした対象マスタをあらためて読み出す必要はなく、上記実マスタテーブル格納領域から読み出した対象マスタをクライアント１０１へ送信すればよい。
【００４７】
なお、上記ステップＳ２の判定処理（およびこれに続くステップＳ３，Ｓ４）とステップＳ５の判定処理（およびこれに続くステップＳ６，Ｓ７，Ｓ８，…）の順番を入れ替えてもよい。すなわち、対象マスタが編集マスタテーブル格納領域に存在しなければ、当該対象マスタは他のクライアントにより編集されていないため、対象マスタが編集マスタテーブル格納領域に存在している場合にのみ対象マスタが他のクライアントにより編集されているかどうかを確認すれば十分であり、処理手順の簡略化が図れる。
【００４８】
上記ステップＳ７において送信された対象マスタおよび編集許可を示す情報を受信したクライアント１０１では、通信部５ａ経由で、対象マスタがマスタ編集部１ａ−２へ渡され、また、編集許可を示す情報がマスタ状態把握部１ａ−３へ渡される。マスタ状態把握部１ａ−３は、受信情報の内容を確認して、受信した対象マスタの編集が許可されていることを把握し、その旨をマスタ編集部１ａ−２へ通知する。そして、マスタ編集部１ａ−２は、受信した対象マスタを図示していない記憶部内の所定の作業用領域へ格納しつつ、対象マスタの内容を表示部３ａへ表示し（ステップＳ８）、対象マスタの編集動作を開始する（ステップＳ９）。なお、図６は、対象マスタ編集動作実行中の画面表示の一例を示す図であり、対象マスタとして勘定科目マスタテーブル（図３に示した“科目マスタ”に相当）が選択された場合の例を示している。クライアント１０１のユーザは、図６に例示した画面の上部に配置されている“追加”、“訂正”、“削除／取消”を選択するなどして対象マスタを編集する。
【００４９】
また、対象マスタの編集動作を開始後、操作指示部１ａ−１は、編集作業の終了操作がユーザにより実行されたかどうかを監視する（ステップＳ１０）。具体的には、図６に示した画面に表示されている「登録」ボタンが押下（クリック）されたかどうかを監視する。ユーザにより作業の終了操作が実行された場合（ステップＳ１０，Ｙｅｓ）、操作指示部１ａ−１は、終了操作が実行された旨をマスタ編集部１ａ−２へ通知して編集動作を終了させる。なお、編集操作を終了するための操作が実行されると、図７に示したような終了方法の選択画面が表示部３ａに表示され、ユーザは、編集終了後の対象マスタをどのような状態で管理するかを指定する。“登録終了”は、編集後の対象マスタの内容に従い実マスタテーブル格納領域内のマスタテーブルを更新する（編集後の対象マスタを実マスタテーブル格納領域へ格納する）。“一時終了”は、編集後の対象マスタの内容に従い編集マスタテーブル格納領域内のマスタテーブルを更新する（編集後の対象マスタを編集マスタテーブル格納領域へ格納する）。すなわち、データベースの実データとして位置付けられている実マスタテーブル格納領域内のマスタテーブルの更新は行わない。“破棄終了”は、対象マスタに対応する編集マスタテーブル格納領域内のマスタテーブルを破棄する。このとき、対象マスタに対応する実マスタテーブル格納領域内のマスタテーブルは破棄せずにそのまま保持しておく。
【００５０】
また、操作指示部１ａ−１は、編集作業が終了した旨をサーバ１００へ通知する（ステップＳ１１）。このステップＳ１１での具体的な動作を示すと、操作指示部１ａ−１は、編集作業終了時点の対象マスタを編集後の対象マスタとして上記所定の作業用領域から読み出し、読み出した対象マスタと、上記終了操作時に指示された終了方法（上記図７で示された登録終了、一時終了、破棄終了のいずれか）を示す情報とをサーバ１００へ送信する。ただし、終了方法が“破棄終了”の場合、終了方法を示す情報のみを送信する。
【００５１】
クライアント１０１から編集作業が終了した旨の通知を受けたサーバ１００のテーブル管理部１−１は、通知内容が“破棄終了”である場合（ステップＳ１２，Ｙｅｓ）、クライアント１０１が編集を行った対象マスタに対応するマスタ（マスタテーブル）を編集マスタテーブル格納領域から削除する（ステップＳ１３）。そして、当該対象マスタのマスタ占有フラグをＯＦＦに設定して処理を終了する（ステップＳ１４）。
【００５２】
一方、上記ステップＳ１１における通知内容が“破棄終了”でない場合（ステップＳ１２，Ｎｏ）、テーブル管理部１−１は、クライアント１０１から受信した対象マスタテーブルを使用して、編集マスタテーブル格納領域内の対応するマスタ（マスタテーブル）を更新する（ステップＳ１５）。
【００５３】
また、上記ステップＳ１１における通知内容が“一時終了”であれば（ステップＳ１６，Ｙｅｓ）、直ちに上述したステップＳ１４を実行する。一方、通知内容が“一時終了”でなければ（ステップＳ１６，Ｎｏ）、上記ステップＳ１５において更新した対象マスタを、実マスタテーブル格納領域内の対応するマスタ（マスタテーブル）へ上書きコピーし、マスタを更新する（ステップＳ１７）。そして、ステップＳ１７に続いて、上述したステップＳ１３およびＳ１４を実行する。
【００５４】
なお、上記説明においては、対象マスタの編集作業終了時に、ユーザが終了方法を選択することにより編集内容を正式な（実マスタテーブル格納領域の）マスタテーブルへ反映させるかどうかを決定することとしたが、これに限らず、編集内容を正式なマスタテーブルへ反映させる日時を指定させるようにしてもよい。この場合、サーバ側では、編集後の対象マスタを編集マスタテーブル格納領域へ一旦格納し、指定日時となった時点で、編集内容を正式なマスタテーブルへ反映させる。日時指定は、たとえば、上記ステップＳ１１において行う。これにより、たとえば、企業において組織変更が行われる場合、組織変更後の運用形態に合わせてマスタテーブルを予め編集し、編集後のマスタテーブルを編集マスタテーブル格納領域へ格納しておき、実際に組織変更が実施される日時に合わせてマスタテーブルを自動的に入れ替えるようにすれば、ユーザによる入れ替え作業が不要になるなど、柔軟なデータ管理を実現できる。特に、会計業務などでは、組織変更などへの柔軟な対応が要求されるため、非常に有効である。
【００５５】
また、クライアントから予め指定された日時となった時点で編集内容を正式なマスタテーブルへ反映させるのではなく、クライアントから更新指示を受けた場合に、編集内容を正式なマスタテーブルへ反映させる、すなわち、更新指示を受けた時点で、編集マスタテーブル格納領域へ格納されているマスタテーブルを実マスタテーブル格納領域内の対応するマスタテーブルへ上書きするようにしてもよい。
【００５６】
また、上述した処理においては、対象マスタが編集中である旨を示す情報としてマスタ占有フラグを使用することとしたが、編集を行っているクライアントの情報を使用してもよい。すなわち、編集作業中のクライアント情報を記憶部２の所定の領域へ格納するようにして、この領域にクライアント情報が格納されていれば当該クライアントが対象マスタを編集中であると判断して読み取り専用としてアクセスを許可する。このようにすることで、たとえば、読み取り専用としてアクセスを許可したクライアントから何らかの事情により編集作業終了通知（“登録終了”などの通知）を受けた場合に、この通知を無視してデータベースの更新を行わないようにすることが可能となり、誤ってデータベースが更新されてしまうのを防止することができる。
【００５７】
このように、本実施例においては、サーバのデータベースは、正式な情報として公開するマスタテーブルを格納するための領域（実マスタテーブル格納領域）および編集途中のマスタテーブルを格納するための領域（編集マスタテーブル格納領域）を有し、クライアントは、編集マスタテーブル格納領域に存在するマスタテーブルを優先的に編集することとした。また、編集作業の終了時には、編集結果を実マスタテーブル格納領域のマスタテーブル（データベースの正式なマスタテーブル）へ反映させるかどうかを選択可能とした。これにより、編集ミスなどがあった場合に、その内容が直ちにマスタデータ（編集結果を実マスタテーブル格納領域のマスタテーブル）に反映されてしまうことを防止可能となる。
【００５８】
また、マスタテーブルを大幅に変更するなど、複数回に分けて編集作業を実施する必要がある場合に、編集途中のマスタテーブルをサーバ側で保持するようにしたので、クライアント側で管理する場合と比較して、編集途中のマスタテーブルをより厳格に管理することができる。
【００５９】
また、データベースのマスタデータを更新する際に、クライアントのアクセス停止や、システム管理者によるマスタデータの上書き作業など特別な作業を必要とせずに、マスタデータの安全性を維持しつつ柔軟にマスタデータを更新することができる。
【産業上の利用可能性】
【００６０】
以上のように、本発明にかかるデータ管理方法は、データベースのマスタデータ管理に適している。
【図面の簡単な説明】
【００６１】
【図１】本発明にかかるデータ管理方法を適用したデータ管理システムの構成例を示す図である。
【図２】本発明にかかるデータ管理方法を実現するためのデータ管理装置としての機能を備え、本発明にかかるデータ管理プログラムを実行可能な計算機システムの構成例を示す図である。
【図３】データ管理システムを構成するサーバおよびクライアントの構成例を示す図である。
【図４】データベースへ格納されているデータの編集作業手順の一例を示すフローチャートである。
【図５】データ編集作業を開始する際のメニュー選択画面の一例を示す図である。
【図６】対象マスタの編集画面表示の一例を示す図である。
【図７】データ編集作業終了時の終了方法選択画面の一例を示す図である。
【符号の説明】
【００６２】
１、１ａ  制御部
１−１  テーブル管理部
１ａ−１  操作指示部
１ａ−２  マスタ編集部
１ａ−３  マスタ状態把握部
２  記憶部
２−１  データベース
３、３ａ  表示部
４、４ａ  入力部
５、５ａ  通信部
１００  サーバコンピュータ
１０１〜１０６  クライアントコンピュータ
【図１】
2008165619.tif 000003
【図２】
2008165619.tif 000004
【図３】
2008165619.tif 000005
【図４】
2008165619.tif 000006
【図５】
2008165619.tif 000007
【図６】
2008165619.tif 000008
【図７】
2008165619.tif 000009