(57)【特許請求の範囲】
【請求項１】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記レプリカテーブルを生成した複数のマスタテーブルに対して入力されたデータ挿入操作の全終了時であり、前記契機条件が成立した場合に、前記データに対応するデータの挿入の操作を前記レプリカテーブルに対して行うことを特徴とするデータベース管理方法。
【請求項２】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記結合時に結合マスタと決定したマスタテーブルへのデータの挿入操作の終了時であり、前記契機条件が成立した場合に、前記データに対応するデータの挿入の操作を前記レプリカテーブルに対して行うことを特徴とするデータベース管理方法。
【請求項３】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記複数のマスタテーブルのいずれかのマスタテーブルへのデータの挿入操作の終了時であり、前記契機条件が成立した場合に、前記データに対応するデータの挿入操作を前記レプリカテーブルに対して行うことを特徴とするデータベース管理方法。
【請求項４】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルりデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記レプリカテーブルを生成した複数のマスタテーブルに対する入力したデータ削除操作の全終了時であり、前記契機条件が成立した場合に、前記レプリカテーブルに対して前記データに対応するデータの削除の操作を行うことを特徴とするデータベース管理方法。
【請求項５】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記結合時に結合マスタと決定したマスタテーブルへのデータの削除操作の終了時であり、前記契機条件が成立した場合に、前記レプリカテーブルに対して前記データに対応するデータの削除の操作を行うことを特徴とするデータベース管理方法。
【請求項６】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、複数のマスタテーブルに格納された同一の結合キーを持つデータのうち、いずれかのデータの削除操作終了時であり、前記契機条件が成立した場合に、レプリカテーブルに対して前記削除されたデータに対応するデータ部分を予め定められた不足データ設定値に置き換え、
前記同一の結合キーを持つ全てのデータが削除された場合に、レプリカテーブルに対して前記同一の結合キーを持つデータに関連するデータの削除処理を行うことを特徴とするデータベース管理方法。
【請求項７】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記複数のマスタテーブルに格納された同一キーを持つデータのいずれかのデータの削除操作終了時であり、前記契機条件が成立した場合に、レプリカテーブルに対して前記同一キーを持つデータに関連するデータの削除の処理を行うことを特徴とするデータベース管理方法。
【請求項８】
複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおいて、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶する手段と、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶する手段と、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行う手段と、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定する手段と、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行う手段と、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現する手段とを備え、
前記レプリケーションを行う契機条件が、前記レプリカテーブルを生成した複数のマスタテーブルに対して入力されたデータ挿入操作の全終了時であり、前記契機条件が成立した場合に、前記データに対応するデータの挿入の操作を前記レプリカテーブルに対して行うことを特徴とするデータベース管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース管理方法及び管理システムに係り、特に、データベースの複数のマスタテーブルのデータを１つのレプリカテーブルにレプリケーションするデータベース管理方法及び管理システムに関する。
【０００２】
【従来の技術】
レプリケーションに関する従来技術として、例えば、特開２０００−２０３７４号公報等に記載された技術が知られている。この従来技術は、トランザクション処理等によりマスタテーブルが操作されるとレプリカテーブルへ自動的にレプリケーションを行うレプリケーションシステムに関するもので、１つのレプリカテーブルに対するマスタテーブルが１つである。そして、この従来技術は、レプリカシステムのある業務において、複数のテーブル内に分割管理されているデータが必要な場合、業務実行時に複数のテーブルにアクセスして個々のテーブルの参照、更新を行うか、レプリカシステムのデータベースマネジメントシステム（以下、ＤＢＭＳという）の機能により複数のテーブルの結合を行う必要があり、このため、レプリカシステムの業務に必要以上に時間がかかるものである。
【０００３】
【発明が解決しようとする課題】
前述した従来技術は、複数のテーブル内に分割管理されているデータが必要な場合、複数のテーブルの結合を行う必要があり、このため、レプリカシステムの業務に多くの時間が必要であるという問題点を有している。このようなレプリカシステムの問題を解決するためには、複数のマスタテーブルのデータをレプリケーション時に１つのレプリカテーブルにレプリケーションするようにすることにより解決することができる。
【０００４】
しかし、複数のマスタテーブルのデータを１つのレプリカテーブルにレプリケーションするためには、複数のマスタテーブルのデータをどのように対応付けて、１つのレプリカテーブルにレプリケーションを行うか、また、複数あるマスタテーブルのいずれのマスタテーブルの操作に連動させてレプリケーションを行うか、あるいは、全てのマスタテーブルの操作後にレプリケーションを行うかのレプリケーションを行う契機について、さらに、いずれかのマスタテーブルの操作に連動してレプリケーションを行う場合、レプリケーション時に操作されていないマスタテーブルのデータについてどのように扱うかという問題点を解決しなければならない。そして、これらの問題点は、レプリケーションを行うデータ及びレプリカシステムの業務により異なるという問題を有している。
【０００５】
本発明の目的は、前述した複数のマスタテーブルのデータを１つのレプリカテーブルにレプリケーションする際の前述した問題点を解決し、レプリカシステムでの業務実行時間の短縮を図ることを可能としたデータベース管理方法及び管理システムを提供することにある。
【０００６】
【課題を解決するための手段】
本発明によれば前記目的は、複数のマスタデータベースと、前記複数のマスタデータベースから生成したレプリカデータベースとを管理するデータベース管理システムにおけるデータベース管理方法において、
複数のマスタテーブルの名称と、所定の結合キーに基づいて、前記複数のマスタテーブルから結合により生成したレプリカテーブルの名称と、前記結合に使用した結合キーと、前記マスタテーブルからレプリカテーブルヘのデータのレプリケーションを行う契機を設定した契機条件とを対応付けてレプリケーション制御情報として記憶し、
前記マスタテーブルに格納されているデータヘのデータ操作要求の受信に応じて、受信したデータ操作を、操作が行われたマスタテーブルのマスタテーブルの名称に、前記操作を行ったマスタテーブルのデータを対応付けて操作情報として記憶し、
受信したデータ操作要求の対象である前記マスタテーブルに対して、データ操作要求に基づいた操作を行い、
前記データ操作要求の処理結果により前記契機条件を満たしているか否かを判定し、
前記契機条件を満たしているとき、前記データ操作要求の操作が行われたマスタテーブルのマスタテーブルの名称と前記契機条件に対応する前記記憶した結合キーと該結合キーにより結合すべきマスタテーブル名称とレプリカテーブル名称とをレプリケーション制御情報から得て、前記記憶した操作情報を参照して前記データ操作要求に基づき前記データ操作されたマスタテーブルに格納された該当するデータ操作が行われたデータを得て、前記結合キーを用いて前記データ操作されたデータと前記結合すべきマスタテーブルとについて結合処理を行い、
該結合処理により生成したデータを、前記レプリカテーブルに反映することにより前記レプリカテーブルに対する前記データ操作要求に基づくデータ操作を実現するものであり、
前記レプリケーションを行う契機条件が、前記レプリカテーブルを生成した複数のマスタテーブルに対して入力されたデータ挿入操作の全終了時であり、前記契機条件が成立した場合に、前記データに対応するデータの挿入の操作を前記レプリカテーブルに対して行うことにより達成される。
【０００７】
本発明は、前述の手段を備えることにより、レプリケーションを行うレプリケーションプログラムに対応付けるデータ、レプリケーションを行う契機、該当マスタテーブル未操作時にレプリカテーブルに設定するデータを定義させておくことができ、この定義を元に使用者に任意のレプリケーションを行わせることができる。
【０００８】
【発明の実施の形態】
以下、本発明によるレプリケーションシステムの実施形態を図面により詳細に説明する。
【０００９】
図１は本発明の一実施形態によるレプリケーションシステムの構成を示すブロック図、図２はマスタテーブル操作情報のデータ構造を説明する図、図３はレプリケーションプログラムに定義するレプリケーション定義を説明する図、図４はレプリケーションの制御に用いるレプリケーション制御テーブルのテーブルの構造を説明する図、図５はデータの流れを説明する図、図６はレプリカテーブルへのレプリケーションの動作を説明するフローチャートである。図１において、１００、１０１はマスタシステム、１０２、１０３は部門サーバ、１０４、１０５は業務アプリケーション、１０６、１０７はデータベースマネジメントシステム、１０８、１０９はマスタテーブル、１１０、１１１はレプリケーションプログラム操作情報取得機能、１１２、１１３は操作情報記録媒体、１１４、１１５はマスタテーブル操作情報、１１６は基幹業務ホスト（レプリカシステム）、１１７はレプリケーションプログラム操作情報反映機能、１１８はレプリケーション定義情報、１１９はレプリケーション制御テーブル、１２０はレプリカデータベースマネジメントシステム（ＤＢＭＳ）、１２１はレプリカテーブルである。
【００１０】
図１に示す本発明の一実施形態によるレプリケーションシステムは、マスタテーブルを管理する２つの部門サーバ１０２、１０３により構成されるマスタシステム１００、１０１と、レプリカテーブルを管理して月次処理を行う給与システムの業務ホスト１１６を構成するレプリカＤＢＭＳ１２０と、複製元テーブルの名称およびレプリケーションを行う複製テーブルの名称等を定義するレプリケーション定義手段１１８を装備するレプリケーションプログラム操作情報反映機能１１７とにより構成されて給与計算を行うシステムである。
【００１１】
図１に示す本発明の一実施形態によるレプリケーションシステムにおいて、複製元として個人情報管理テーブル（マスタテーブル）１０８を管理する社員管理システムの部門サーバ１０２と、勤休管理テーブル（マスタテーブル）１０９を管理する勤休管理システムの部門サーバ１０３とのそれぞれは、複製元システムとして機能するものである。そして、これらの部門サーバ１０２、１０３は、それぞれ、業務に応じてマスタテーブルの操作要求を行う業務アプリケーション（ＵＡＰ）１０４、１０５、マスタテーブル１０８、１０９の管理、操作を行うマスタデータベースマネジメントシステム（マスタＤＢＭＳ）１０６、１０７と、マスタテーブルの操作情報１１４、１１５を記録する媒体である操作情報記録媒体１１２、１１３と、マスタテーブルの操作情報を取得するレプリケーションプログラム操作情報取得機能１１０、１１１とを備えて構成される。また、レプリケーションプログラム操作情報反映機能１１７は、後述する複製元テーブルの名称及びレプリケーションを行う複製テーブルの名称等を定義するレプリケーション定義手段１１８を装備して構成され、レプリカＤＢＭＳ１２０は、給与テーブル（レプリカテーブル）１２１の管理、操作を行う給与システムである。
【００１２】
次に、図２を参照して、マスタテーブルの操作情報の構造について説明する。操作情報は、図２に示すように、その操作情報のマスタテーブルのテーブル名称２０１と、マスタテーブルへの操作である“挿入”“更新”“削除”の操作種別２０２と、操作種別の１つの操作を行ったマスタテーブルのテーブルデータ２０３とにより構成する。
【００１３】
次に、図３を参照して、レプリケーションプログラム操作情報反映機能に定義されるレプリケーション定義について説明する。
【００１４】
レプリケーション定義は、結合するマスタテーブル１０８、１０９のテーブル名称及びレプリカテーブル１２１の名称を定義する結合テーブル定義３００と、複数のテーブルのデータを結合するためにマッチングをとるマスタテーブルデータ中のキーとなるデータ部を定義する結合キー定義３０１と、結合するマスタテーブル１０８、１０９の操作情報１１４、１１５をレプリカテーブル１２１にレプリケーションを行う契機を定義するレプリケーション契機定義３０２と、このレプリケーション契機定義３０２で、いずれかをマスタ（結合マスタ）と位置づけ、結合マスタテーブルの操作情報に伴いレプリカテーブル１２１へのレプリケーションを行う定義３０４、３０７とした場合に結合マスタとするマスタテーブルのテーブル名称を定義する結合マスタ定義３１０と、レプリケーション契機定義３０２で、結合する全てのテーブルの操作情報が揃った時点でレプリカテーブルの操作を行う定義以外の定義３０４、３０５、３０７、３０８とした場合にレプリカテーブルにこの時点で操作情報がないマスタテーブルのデータの代わりに設定するデータを定義する不足データ定義３１１と、マスタテーブルの操作情報が記録される操作情報記録媒体を指定する入力媒体定義３１２と、操作情報記録媒体が複数存在する場合の入力の順を指定する入力切り替え契機定義３１３とから構成される。
【００１５】
前述において、レプリケーション契機定義３０２には、データの挿入に関して、▲１▼結合する複数の複製元テーブルの全てのデータが挿入された時点でレプリカテーブルにデータを挿入する（３０３）、▲２▼結合する複数の複製元テーブル内で主となるテーブル（結合マスタ）のデータが挿入された時点でレプリカテーブルにデータを挿入する（３０４）、▲３▼結合する複数の複製元テーブル内でいずれかのテーブルのデータが挿入された時点でレプリカテーブルにデータを挿入する（３０５）が定義され、また、データの削除に関して、▲１▼結合する複数の複製元テーブルの該当情報が全て削除された時点でレプリカテーブルの該当データを削除する（３０６）、▲２▼結合する複数の複製元テーブル内で主となるテーブル（結合マスタ）が削除された時点でレプリカテーブルの該当するデータを削除する（３０７）、▲３▼結合する複数の複製元テーブルの該当データ削除毎にレプリカテーブルの該当データを不足データ設定値に置き換え、結合する複数の複製元テーブルの該当データ全てのデータが削除された時点でレプリカテーブルの該当データを削除する（３０８）、▲４▼結合する複数の複製元テーブルのいずれかのデータが削除された時点でレプリカテーブルの該当データを削除する（３０９）が定義される。また、入力切り替え契機定義３１３には、▲１▼一件の操作情報入力毎に切り替える、▲２▼次操作情報がなくなった場合に切り替える、が定義される。
【００１６】
次に、図４を参照して、レプリケーションプログラム操作情報反映機能１１７が、レプリケーションプログラム操作情報反映機能実行時に、前述したレプリケーション定義を元に作成し、複数のマスタテーブルのデータを結合し、１つのレプリカテーブルへのレプリケーションの制御に用いる制御テーブルであるレプリケーション制御テーブル１１９の構造について説明する。
【００１７】
レプリケーション制御テーブル１１９は、レプリケーション定義に定義されたレプリカテーブルのテーブル名称４００と、結合するマスタテーブルのテーブル名称４０２と、結合する複数のマスタテーブルのマッチングをとる情報、例えば、個人識別番号等の結合キー４０３と、レプリケーション契機４０４と、結合マスタテーブルのテーブル名称４０５と、不足データ設定値４０６と、レプリケーション制御情報４０７とにより構成される。そして、レプリケーション制御情報４０７には、操作情報記録媒体より入力したマスタテーブルの操作情報を解析し結合キー値単位４０８に複数のマスタテーブルの操作状態としての当結合キー値４０８のデータがマスタテーブルに挿入されたことを現す“挿入”と操作情報無し、または、削除を現す“−”を設定するマスタテーブル操作情報状態４０９と、レプリカテーブルへのレプリケーション状態として当結合キー値のデータをレプリカテーブルに挿入したことを現す“挿入”と未挿入を現す“−”を設定するレプリケーション状態４１０とが登録される。
【００１８】
図１の参照に戻って、マスタテーブルである個人情報管理テーブル１０８及び勤休管理テーブル１０９が業務アプリケーション１０４、１０５からの要求により操作されると、レプリケーションプログラム操作情報取得機能１１０、１１１は、マスタテーブル操作情報１１４、１１５の取得を行い、そのその操作情報を操作情報記録媒体１１２、１１３に記録する。
【００１９】
一方、レプリケーションプログラム操作情報反映機能１１７は、処理の実行時、レプリケーション定義１１８を解析して、レプリケーション制御テーブル１１９に展開し、その後、操作情報記録媒体１１２、１１３に記録されたマスタテーブル１０８、１０９の操作情報１１４、１１５を取り出して解析し、レプリケーション制御テーブル１１９の該当の結合キー値４０８に登録を行う。その後、レプリケーションプログラム操作情報反映機能１１７は、レプリケーション契機４０４、及びレプリケーション制御テーブルのレプリケーション制御情報４０７の管理状態を元に条件判定を行い、必要に応じてマスタテーブル１０８の操作情報１１４とマスタテーブル１０９の操作情報１１５とを結合し、レプリカＤＢＭＳ１２０に対して、レプリカテーブル１２１の操作要求を行う。
【００２０】
次に、前述したように構成される本発明の実施形態によるレプリケーションシステムにおけるレプリケーションプログラム操作情報反映機能１１７の動作について、図５に示すデータの流れ及び図６に示すフローを参照して説明する。なお、ここで説明する例は、ＵＡＰが実行されたタイミングから個人情報管理テーブルの操作情報５１０、勤休管理システムの操作情報５１１、５１２、個人情報管理テーブルの操作情報５１３の順に操作情報記録媒体から入力して処理することとしている。また、この例では、図６のフローに示す動作が操作情報を一件づつ入力し動作するものとする。
【００２１】
（１）レプリケーションプログラム操作情報反映機能１１７が実行されると、該機能１１７は、まず初めに、レプリケーション定義１１８の解析を行い、レプリケーション制御テーブル１１９への展開を行う（ステップ６００）。
【００２２】
（２）次に、操作情報記録媒体１１２、１１３よりマスタテーブル１０８、１０９の操作情報５１０〜５１３を入力しマスタテーブル名称５０４、５０７、操作種別５０５、５０８、結合キー５０６、５０９の解析を行う（ステップ６０１）。
【００２３】
（３）その後、操作情報５１０〜５１３の操作種別５０５、５０８及びレプリケーション制御テーブル１１９の当操作情報５１０〜５１３の結合キー５１６の登録の有無により条件判定を行う（ステップ６０２）。
【００２４】
（４）ステップ６０２の判定で、レプリケーション制御テーブル１１９の当操作情報５１０〜５１３の結合キー５１６が無い場合、レプリケーション制御テーブル１１９に当操作情報５１０〜５１３の結合キー５２１、５２５及び操作情報状態５１７の登録を行う（ステップ６０７）。
【００２５】
（５）また、ステップ６０２の判定で、操作種別５０５、５０８が挿入または削除であり、レプリケーション制御テーブル１１９の当操作情報の結合キー５１６が有りの場合、レプリケーション制御テーブル１１９の操作情報状態５１７の更新を行う（ステップ６０６）。
【００２６】
（６）ステップ６０２の判定で、操作種別５０５、５０８が更新の場合はレプリケーション制御テーブル１１９の操作は行わない。
【００２７】
前述の動作について、図５に示す操作情報毎の動作を説明する。
操作情報５１０の入力時、レプリケーション制御テーブル１１９に結合キー５２１が無いため、結合キー５２１、個人情報管理テーブルの操作情報状態５２２に“挿入”を設定する。操作情報５１１の入力時についても、レプリケーション制御テーブル１１９に結合キー５２５が無いため、結合キー５２５を設定する。但し、この操作情報の操作種別は“削除”であるため個人情報管理テーブルの操作情報状態５２６に“挿入”、勤休管理テーブルの操作情報状態５２７に“−”、レプリケーション状態５２８に“挿入”を設定する。また、操作情報５１２の入力時、レプリケーション制御テーブル１１９に結合キー５２１が有るため、勤休管理テーブルの操作情報状態５２３に“挿入”のみを設定する。操作情報５１３の入力時、レプリケーション制御テーブル１１９に結合キー５２５が有り、操作情報５１３の操作種別が“削除”であるため、勤休管理テーブル操作情報５１１にて設定した個人情報管理テーブルの操作情報状態５２６の“挿入”を“−”にする。
【００２８】
（７）次に、操作情報５１０〜５１３の操作種別５０５、５０８、レプリケーション契機定義３０２の定義及びレプリケーション制御テーブルの操作情報状態５１７の条件判定を行う（ステップ６０８、６１１）。
【００２９】
（８）ステップ６０８、６１１の判定で、操作種別５０５、５０８が挿入でレプリケーション制御テーブル１１９の操作情報状態５１７がレプリケーション契機定義３０２の指定の条件を満たしている場合、レプリカテーブル１２１にデータ５３２の挿入を行う。なお、この際に、不足データがある場合、レプリケーション定義の不足データ定義３１１に指定されたデータ（説明している例では“スペース”とする）を設定し５３３、レプリカテーブル１２１に挿入を行う（ステップ６１５）。
【００３０】
（９）ステップ６０８、６１１の判定で、操作種別５０５、５０８が削除の場合、レプリケーション契機定義３０２の指定及びレプリケーション制御テーブル１１９の操作情報状態５１７により、レプリカテーブル１２１の操作内容が異なり、レプリケーション制御テーブル１１９の操作情報状態５１７がレプリケーション契機定義３０２の指定の条件を満たしている場合、レプリカテーブル１２１のデータ５３０の削除を行う（ステップ６１７）。
【００３１】
（10）ステップ６０８、６１１の判定で、条件が満たされていない場合、レプリケーション契機定義３０２の指定に従い、レプリケーション定義の不足データ定義３１１に指定されたデータ（説明している例では“スペース”とする）によりレプリカテーブル１２１の該当データ５３１を更新する。また、操作種別５０５、５０８が更新の場合、レプリケーション制御テーブル１１９のレプリケーション状態５１８が“挿入”の場合、操作情報のデータにてレプリカテーブル１２１の該当データを更新する（ステップ６１６）。
【００３２】
（11）前述以外の場合、レプリカテーブル５２９の操作は行わず次ステップに進む。
【００３３】
前述の動作について、図３のレプリケーション定義３０２の定義毎に、図５に示す操作情報処理時の動作を説明する。
【００３４】
レプリケーション契機定義３０２の挿入定義が「▲１▼結合する複数の複製元テーブルの全てのデータが挿入された時点でレプリカテーブルにデータ挿入をする」３０３の場合、操作情報５１２入力時にレプリカテーブル１２１にすでに入力している操作情報５１０と５１２とのデータを結合しデータ５３２の挿入を行う。
【００３５】
レプリケーション契機定義３０２の挿入定義が「▲２▼結合する複数の複製元テーブルの内で主となるテーブル（結合マスタ）のデータが挿入された時点でレプリカテーブルにデータ挿入をする」３０４の場合で個人情報管理テーブル１０８が結合マスタの場合、操作情報５１０入力時にレプリカテーブル１２１の操作情報５１２のデータ部分５３３に“スペース”を設定してデータ５３２の挿入を行う。その後、操作情報５１２入力時、すでに挿入されているデータ５３２の操作情報５１２のデータ部５３３を操作情報５１２のデータにより更新する。また、結合マスタが勤休管理テーブル１０９の場合の動作は、前述のレプリケーション契機定義３０２の挿入定義が「▲１▼結合する複数の複製元テーブルの全てのデータが挿入された時点でレプリカテーブルにデータ挿入をする」３０３の場合と同様となる。
【００３６】
レプリケーション契機定義３０２の挿入定義が「▲３▼結合する複数の複製元テーブルの内でいずれかのテーブルのデータが挿入された時点でレプリカテーブルにデータ挿入をする」３０５の場合の動作は、前述のレプリケーション契機定義３０２の挿入定義が「▲２▼結合する複数の複製元テーブルの内で主となるテーブル（結合マスタ）のデータが挿入された時点でレプリカテーブルにデータ挿入をする」３０４での結合マスタが個人情報管理テーブル１０８である場合と同様となる。
【００３７】
レプリケーション契機定義３０２の削除定義が「▲１▼結合する複数の複製元テーブルの該当情報が全て削除された時点でレプリカテーブルの該当データを削除する」３０６の場合、操作情報５１３の入力時にレプリカテーブル１２１データ５３０の削除を行う。
【００３８】
レプリケーション契機定義３０２の削除定義が「▲２▼結合する複数の複製元テーブルの内で主となるテーブル（結合マスタ）が削除された時点でレプリカテーブルの該当データを削除する」３０７の場合で個人情報管理テーブル１０８が結合マスタの場合、操作情報５１１の入力時にレプリカテーブル１２１の操作情報５１１のデータ部分５３１を“スペース”により更新し、その後操作情報５１３の入力時にデータ５３０の削除を行う。また、結合マスタが勤休管理テーブル１０９の場合、操作情報５１１の入力時にデータ５３０の削除を行い、操作情報５１３入力時にはレプリカテーブル１２１の操作は行わない。
【００３９】
レプリケーション契機定義３０２の削除定義が「▲３▼結合する複数の複製元テーブルの該当データ削除毎にレプリカテーブルの該当データを不足データ設定値に置換え、結合する複数の複製元テーブルの該当データ全てのデータが削除された時点でレプリカテーブルの該当データを削除する」３０８の場合の動作は、前述のレプリケーション契機定義３０２の削除定義が「▲２▼結合する複数の複製元テーブルの内で主となるテーブル（結合マスタ）が削除された時点でレプリカテーブルの該当データを削除する」３０７の場合で個人情報管理テーブル１０８が結合マスタの場合と同様となる。
【００４０】
レプリケーション契機定義３０２の削除定義が「▲４▼結合する複数の複製元テーブルのいずれかのデータが削除された時点でレプリカテーブルの該当データを削除する」３０９の場合の動作は、前述のレプリケーション契機定義３０２の削除定義が「▲２▼結合する複数の複製元テーブルの内で主となるテーブル（結合マスタ）が削除された時点でレプリカテーブルの該当データを削除する」３０７の場合の結合マスタが勤休管理テーブル１０９の場合と同様となる。
【００４１】
（12）そして、最後に、レプリカテーブル１２１の操作内容の条件判定を行い、制御テーブル操作条件の判定を行い、レプリカテーブル１２１へのデータの挿入５３２を行った場合、レプリケーション制御テーブル１１９のレプリケーション状態５２４に“挿入”の設定を行い、レプリカテーブルの削除５３０を行った場合、レプリケーション制御テーブル１１９の該当結合キー５２０の削除（初期化）を行った後、ステップ６０１からの処理に戻り、次の操作情報の操作に移行する（ステップ６１８、６２３、６２２）。
【００４２】
前述した本発明の実施形態によれば、前述した処理により、個人情報管理テーブルと勤休管理テーブルとを結合したレプリカテーブルである給与テーブルへのレプリケーションを行うことができ、個人情報管理テーブルと勤休管理テーブルとをアクセスし実行していた月次処理が、１つの給与テーブルにアクセスすることにより可能となり、業務実行時間の短縮を図ることができる。また、前述した本発明の実施形態によれば、マスタテーブル毎に複数のテーブルにレプリケーションを行っていた場合、レプリカテーブルを１つにすることにより、レプリカテーブルの保守作業の軽減をはかることが可能となる。
【００４３】
図７は本発明の他の実施形態によるレプリケーションシステムの構成を示すブロック図である。図７において、７００〜７０２は階層型データベースである。
【００４４】
図７に示す本発明の他の実施形態は、マスタシステムのデータベースが階層型データベース７００〜７０２であるものに本発明を適用したもので、図１におけるマスタテーブル１０８、１０９に代わって、複製元に複数の階層型データベース７００、７０１、７０２を用いたものである。このような構成においても、前述した実施形態の場合と同様に、複数のマスタテーブルのデータを１つのレプリカテーブルにレプリケーションする際のレプリカシステムでの業務実行時間の短縮を図ることができる。
【００４５】
【発明の効果】
以上説明したように本発明によれば、複数のマスタテーブルから、１つのレプリカテーブルへのレプリケーションが可能となり、複数のテーブルにアクセスし行っていた業務を１つのレプリカテーブルをアクセスすることにより実行することが可能となり、業務実行時間の短縮を図ることができる。また、マスタテーブル毎に複数のテーブルにレプリケーションを行っていた場合には、レプリカテーブルを１つにすることにより、レプリカテーブルの保守作業の軽減を図ることも可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるレプリケーションシステムの構成を示すブロック図である。
【図２】マスタテーブル操作情報のデータ構造を説明する図である。
【図３】レプリケーションプログラムに定義するレプリケーション定義を説明する図である。
【図４】レプリケーションの制御に用いるレプリケーション制御テーブルのテーブルの構造を説明する図である。
【図５】データの流れを説明する図である。
【図６】レプリカテーブルへのレプリケーションの動作を説明するフローチャートである。
【図７】本発明の他の実施形態によるレプリケーションシステムの構成を示すブロック図である。
【符号の説明】
１００、１０１  マスタシステム
１０２、１０３  部門サーバ
１０４、１０５  業務アプリケーション
１０６、１０７  マスタデータベースマネジメントシステム(マスタＤＢＭＳ)
１０８、１０９  マスタテーブル
１１０、１１１  レプリケーションプログラム操作情報取得機能
１１２、１１３  操作情報記録媒体
１１４、１１５  マスタテーブル操作情報
１１６  基幹業務ホスト（レプリカシステム）
１１７  レプリケーションプログラム操作情報反映機能
１１８  レプリケーション定義情報
１１９  レプリケーション制御テーブル
１２０  レプリカデータベースマネジメントシステム（レプリカＤＢＭＳ）
１２１  レプリカテーブル
【図１】
0004497691.tif 000002
【図２】
0004497691.tif 000003
【図３】
0004497691.tif 000004
【図４】
0004497691.tif 000005
【図５】
0004497691.tif 000006
【図６】
0004497691.tif 000007
【図７】
0004497691.tif 000008