(57)【要約】【課題】データベースの更新・履歴・集計の管理を行う際に、細かいレベルでのデータメンテナンスを可能にする。【解決手段】開示されるデータの更新・履歴・集計管理方式は、テーブル上のデータの修正を行う際に、編集処理部１１が、データにおける変更前のレコードである００版のレコードに対する修正情報として入力されたデータを編集内容として保持して、この編集内容を編集履歴に登録し、編集を行うためのレコードである０２版のレコードに登録する処理を行い、変更処理部１２が、０２版のレコードに応じて００版のレコードに対する変更を行い、編集内容を変更履歴に登録し、変更内容を、変更を行うためのレコードである０１版のレコードに登録する処理を行うことによって、データの更新を行うとともに、編集履歴と変更履歴とによって、テーブル上のデータの履歴または集計の管理を行う。【選択図】      図１
2004355203.tif 000002
【特許請求の範囲】
【請求項１】
電子計算機システム上で運用されるデータベースシステムにおいて、テーブル上のデータの修正を行う際に、
前記データにおける変更前のレコード（以下、００版のレコードという）に対する修正情報として入力されたデータを編集内容として保持して、該編集内容を編集履歴に登録するとともに、編集を行うためのレコード（以下、０２版のレコードという）に登録する編集処理手段と、
前記０２版のレコードに応じて前記００版のレコードに対する変更を行い、前記編集内容を変更履歴に登録するとともに、変更内容を、変更を行うためのレコード（以下、０１版のレコードという）に登録する変更処理手段とによって、データの更新を行うとともに、前記編集履歴と変更履歴とによって、前記テーブル上のデータの履歴または集計の管理を行うことを特徴とするデータの更新・履歴・集計管理方式。
【請求項２】
前記各レコードが、前記テーブル上のデータの特定の列からなることを特徴とする請求項１記載のデータの更新・履歴・集計管理方式。
【請求項３】
前記編集処理手段において、データのどの部分を変更するかを操作単位または版単位にすべて記録して得た編集内容を前記０２版のレコードに登録することを特徴とする請求項１又は２記載のデータの更新・履歴・集計管理方式。
【請求項４】
前記編集処理手段において、読み込まれた以前の編集内容と、オペレータによって入力された編集内容とによって、前記テーブル上のデータの修正を行うための編集内容を生成することを特徴とする請求項１乃至３のいずれか一記載のデータの更新・履歴・集計管理方式。
【請求項５】
前記変更処理手段において、前記０２版のレコードのイメージを０１版のレコードにコピーすることによって、前記変更内容を前記０１版のレコードに反映することを特徴とする請求項１乃至４のいずれか一記載のデータの更新・履歴・集計管理方式。
【請求項６】
前記変更処理手段において、前記変更内容を、レコードを編集した時系列順に前記０１版のレコードに反映することを特徴とする請求項１乃至４のいずれか一記載のデータの更新・履歴・集計管理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データベース上のレコードの更新・履歴・集計の管理を行うためのデータの更新・履歴・集計管理方式に関する。
【０００２】
【従来の技術】
従来から、データベースにおいては、障害等の例外が発生した場合に、データを復旧してデータの整合性を保つための、ロールバック機能（データベース上でコミット（確定）されていないデータをもとに戻す機能）を持っている。しかしながら、ロールバック機能を利用した場合には、トランザクション（データベースを操作する一連の処理の単位）処理の最初（またはセーブポイント（データベースにおいてデータを復元できる限界のポイント））までロールバックされるため、これらのポイント以前に行われた、保持しておきたい変更までも、ロールバックされてしまうことがある。
【０００３】
また、データベースで管理されているデータの変更履歴は、独自の形式でアーカイブ（ログファイルに保存）されているため、オペレータによる単純な操作に基づく検索は不可能であることが多い。
これらは、データベースの機能が、個別のレコードの復旧よりは、データベース全体としての復旧を主眼においているためであって、業務として細かいレベルでのデータメンテナンスが必要な場合に、オペレータが、レコード単位の復旧・検証を行うことを可能にするための方法を、別途、業務システムとして提供することが求められている。
【０００４】
なお、通常労力の範囲内で先行技術調査を実施した限りでは、上述した従来技術の内容が具体的に記載された文献に関する情報を得られなかった。
【０００５】
【発明が解決しようとする課題】
この発明は上述の事情に鑑みてなされたものであって、データベースにおいて、更新時に保持しておきたい変更を保存することができるとともに、データベースで管理されているデータの変更履歴を容易に検索することができ、従って、データの利用性を向上し、システム運用性を向上するとともに、データ復旧時の選択の可能性を増し、さらにデータの整合性検証時の分解能を向上することが可能な、データの更新・履歴・集計管理方式を提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、請求項１記載の発明はデータの更新・履歴・集計管理方式に係り、電子計算機システム上で運用されるデータベースシステムにおいて、テーブル上のデータの修正を行う際に、上記データにおける変更前のレコード（以下、００版のレコードという）に対する修正情報として入力されたデータを編集内容として保持して、該編集内容を編集履歴に登録するとともに、編集を行うためのレコード（以下、０２版のレコードという）に登録する編集処理手段と、上記０２版のレコードに応じて上記００版のレコードに対する変更を行い、上記編集内容を変更履歴に登録するとともに、変更内容を、変更を行うためのレコード（以下、０１版のレコードという）に登録する変更処理手段とによって、データの更新を行うとともに、上記編集履歴と変更履歴とによって、上記テーブル上のデータの履歴または集計の管理を行うことを特徴としている。
【０００７】
また、請求項２記載の発明は、請求項１記載のデータの更新・履歴・集計管理方式に係り、上記各レコードが、上記テーブル上のデータの特定の列からなることを特徴としている。
【０００８】
また、請求項３記載の発明は、請求項１又は２記載のデータの更新・履歴・集計管理方式に係り、上記編集処理手段において、データのどの部分を変更するかを操作単位または版単位にすべて記録して得た編集内容を上記０２版のレコードに登録することを特徴としている。
【０００９】
また、請求項４記載の発明は、請求項１乃至３のいずれか一記載のデータの更新・履歴・集計管理方式に係り、上記編集処理手段において、読み込まれた以前の編集内容と、オペレータによって入力された編集内容とによって、上記テーブル上のデータの修正を行うための編集内容を生成することを特徴としている。
【００１０】
また、請求項５記載の発明は、請求項１乃至４のいずれか一記載のデータの更新・履歴・集計管理方式に係り、上記変更処理手段において、上記０２版のレコードのイメージを０１版のレコードにコピーすることによって、上記変更内容を上記０１版のレコードに反映することを特徴としている。
【００１１】
また、請求項６記載の発明は、請求項１乃至４のいずれか一記載のデータの更新・履歴・集計管理方式に係り、上記変更処理手段において、上記変更内容を、レコードを編集した時系列順に上記０１版のレコードに反映することを特徴としている。
【００１２】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態について説明する。説明は、実施例を用いて具体的に行う。
図１は、本発明のデータの更新・履歴・集計管理方式のシステム構成を示す図、図２は、本発明のデータの更新・履歴・集計管理方式の概念を示す図、図３は、本発明のデータの更新・履歴・集計管理方式の一実施例である、編集・変更作業のフローチャートを示す図、図４は、本発明のデータの更新・履歴・集計管理方式を帳簿データとして利用する場合の一実施例を示す図、図５は、本発明のデータの更新・履歴・集計管理方式の一適用例である、レコードデータを示すイメージ図である。
【００１３】
本発明のデータの更新・履歴・集計管理方式のシステム構成は、図１に示すように、データ処理装置１と、データベース部２と、テーブル３と、入出力部４とからなる概略構成を有している。
データ処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）を有し、本発明方式の全体のシステムを制御する。データベース部２は、本発明方式が対象とするデータベースを格納している。テーブル３は、データベース上のレコードの更新・履歴・集計の管理を行うためのデータを保持する。入出力部４は、本発明方式のデータの更新・履歴・集計の管理に必要な情報の入出力を行う。
【００１４】
以下、データ処理装置１の動作を説明する。
データ処理装置１は、データベース２上のレコードの更新・履歴・集計等の処理と管理とを行う。
データ処理装置１は、対象とするデータをテーブル３上に保持して、データの変更を行うが、この際、変更内容をまとめる作業（以下、編集処理と表記する）と、編集作業の結果をデータに反映する作業（以下、変更処理、または確定処理と表記する）の２段階に分けて、編集・変更を管理するテーブルに登録し、データの履歴を管理する。
この場合の編集・変更を管理するテーブルは、通常は、テーブル３の一部に設定されるが、別のテーブルであってもよい。
【００１５】
データ処理装置１は、このような処理を行うために、編集処理部１１と、変更処理部１２とを有している。
編集処理部１１は、データベース上の変更前のレコードである、００版のレコード（以下、単に００版と略称する場合もある）を変更する前に、一旦、その手順を編集内容として保存し、編集内容を、編集処理用のレコードである、０２版のレコード（以下、単に０２版と略称する場合もある）に反映する処理を行う。
変更処理部１２は、編集内容を確認したのち、編集内容を変更内容に複写して、変更を行うためのレコードである、０１版のレコード（以下、単に０１版と略称する場合もある）に反映する処理を行う。
【００１６】
編集処理部１１および変更処理部１２は、それぞれの処理時、概略、以下のように動作する。
編集処理部１１は、編集手順を編集内容として保存して０２版に反映する処理を行うものであって、データのどの部分を変更するかを操作単位（または列単位）にすべて記録して、０２版で０１版の変更後のレコードイメージをシュミレートする。
変更処理部１２は、編集内容を変更内容にコピーし、０１版を更新するものであって、編集処理部１１でシュミレートした結果を０１版に反映する。
【００１７】
図２は、本発明のデータの更新・履歴・集計管理方式の概念を示すものであって、レコード単位のデータイメージと、編集内容のイメージと、変更内容のイメージとを、編集前と、編集時と、確定時とに分けて、時間の経過に応じて表示している。
図２中、制御情報は、それぞれの時点のレコードを結びつける列の情報を示している。
【００１８】
図２においては、編集前のレコード単位の００版と０１版と０２版のデータに対して、編集処理によって、０２版のレコードに編集内容を保存し、確定処理によって、０２版の編集内容に基づいて変更を行って０１版に反映するとともに、確定後には、０１版と０２版の編集内容を破棄することが示されている。
【００１９】
次に、図３のフローチャートを参照して、この例のデータの更新・履歴・集計管理方式の全体の動作について、詳細に説明する。
最初、編集処理部１１の処理として、対象となるレコードにおいて修正が必要であって、レコードの編集を行うべきであるか否かをオペレータが判断する（ステップＳ１）。修正が必要でない場合は、ステップＳ８に進んで、確定の判断を行う。
【００２０】
ステップＳ１において、レコードの編集を行うべき場合は、以前の編集内容を読み込むべきか否かを判断して（ステップＳ２）、以前の編集内容を読み込むべき場合は、以前の編集内容の読み込みを行い（ステップＳ３）、以前の編集内容を読み込む必要がないときは、以前の編集内容を破棄する（ステップＳ４）。
ステップＳ３において、以前の編集内容の読込が終了したのち、オペレータによる編集内容の入力を行い（ステップＳ５）、入力された編集内容を編集履歴に登録する（ステップＳ６）ことによって、修正すべき情報として入力されたデータを、編集内容として保持する。
そして、編集内容として保持されている修正を反映するために、編集内容を０２版に登録した（ステップＳ７）のち、ステップＳ１に戻る処理を、繰り返して実行する。
【００２１】
次に、変更処理部１２の処理として、ステップＳ７における編集内容の反映結果として、０２版を確定してよいか否かを、オペレータが判断する（ステップＳ８）。
ステップＳ８において、０２版を確定してよいと判断されたときは、編集内容を変更内容としてコピーして変更履歴へ登録し（ステップＳ９）、変更内容を反映するために０１版へ登録する（ステップＳ１０）。
【００２２】
この際、変更内容を０１版に反映する方法としては、変更内容を時系列順に０１版に反映する方法と、０２版のイメージを０１版にコピーする方法とがある。
その後、コピー済みの編集内容を削除して（ステップＳ１１）、処理を終了する。
また、ステップＳ８において０２版を確定しない場合は、編集を中断し、０２版を削除後、０２版を０１版から複製して（ステップＳ１２）、ステップＳ１に戻る。
ここで、変更内容を時系列順に０１版に反映するとは、０２版の変更履歴の内容を用いて、０２版を更新したときと同じ手順で、０１版のデータを更新することを指し、また、０２版のイメージを０１版にコピーするとは、０２版のデータによって、０１版を更新することを指す。
【００２３】
次に、本発明のデータの更新・履歴・集計の管理方式の適用例として、版数管理によるデータの利用性の向上の例について説明する。
最初に、図４を参照して、本発明方式の一適用例として、帳簿データの管理を行う場合について説明する。
図４に示すように、００版の金額を入金と出金にマッピングし、０１版の金額を訂正後の入金と出金にマッピングすることによって、入金と出金の合計の帳簿出力を得ることができる。
この際、変更の詳細な経緯を必要とする場合には、履歴で管理しているデータの金額の列をすべて抜き出すことによって、これを知ることができる。
【００２４】
また、別の例として、売り上げのようなデータを管理する場合には、００版を売り上げ予測として登録し、０１版に現在の売り上げを変更内容として登録し、０２版に現在の売り上げ見込みを編集内容として登録することによって、０１版のデータのみを利用した確定情報による売り上げデータに基づく現状把握を行い、０２版のデータのみを利用して速報・売り上げ見込みや、売り上げ推移の把握を行うというように、利用する版数による、データウェアハウスのような、機能の使い分けを行うことも可能である。
【００２５】
さらに、他の例として、レコードの同一列に対して複数編集が行われたとき、中間の編集内容がデータとして不要（例えは、編集作業の人為的ミスの場合）であったときは、中間の編集内容を破棄することによって、履歴の詳細な管理を行うことも可能となる。
【００２６】
次に、本発明のデータの更新・履歴・集計の管理方式の適用例として、システムの運用性の向上の例について説明する。
例えば、データベースとしてＯｒａｃｌｅ８以降のバージョン（以下、単にＯｒａｃｌｅと記述する）を利用した場合、００版，０１版，０２版が利用する表領域（ディスク領域）を分割することによって、目的とする作業ごとの負荷分散を行うことができる（例えば、０２版の編集内容の入力作業と、０１版の集計作業との並列処理によって、データアクセス等の負荷分散を図ることが可能になる）。
【００２７】
また、００版は変更が加えられないので、年月日のように、一定の区切りで管理できる場合には、版数と区切りの組み合わせをＯｒａｃｌｅのパーティション機能にマッピングして、特定のパーティションに含まれる００版を読み込み専用に変更することによって、システム全体のデータ増加による、バックアップ時間の過大な延長を回避することが可能となる。
【００２８】
例えば、データを版数と月単位でパーティショニングする場合、月初に前月分の００版のパーティションを読み込み専用にすることによって、月初に前月分の００版の領域のバックアップを行えば、以降、前月以前のバックアップは不要となり、００版の日々のバックアップは、当月の１ケ月分のみ行えばよいことになる。
【００２９】
図５は、この場合のレコードデータの構成例をイメージ図によって示したものであって、版数単位で表を分けて、００版の表と０１版の表と０２版の表とによって、レコードデータを表すとともに、表領域０３として、編集情報の表を登録し、表領域０４として、変更情報の表を登録することが示されている。
なお、図５においては、版数単位で表を分けているが、これに限るものでなく、同一表であってもよい。
【００３０】
また、他の例として、データの確定後に、０２版を削除（フラグによる論理削除を含む）することによって、不必要なデータの変更の運用を回避することも可能となる。
【００３１】
次に、本発明のデータの更新・履歴・集計の管理方式の適用例として、データの復旧方法の選択を行う場合の例について説明する。
データベースを利用したＷｅｂシステム等では、通信等における障害発生時、データを変更前の状態に戻すロールバック機能によって、データの整合性を保持する方法がとられるが、この場合は、それまでの作業内容も破棄されてしまう。
しかしながら、本発明のデータの更新・履歴・集計の管理方式の場合は、編集履歴と００版からの０２版のデータ復旧か、または編集内容の破棄による００版からのデータ復旧かの選択を行うことが可能になる。
【００３２】
次に、本発明のデータの更新・履歴・集計の管理方式の適用例として、データの整合性検証に対する分解能向上の例について説明する。
この例のデータの更新・履歴・集計の管理方式によれば、レコード全体ではなく、変更履歴と００版の組み合わせによって、特定の列に絞った整合性チエックを行うようにすれば、データの整合性検証時の分解能を向上することが可能となる。
【００３３】
以上、この発明の実施例を図面により詳述してきたが、具体的な構成はこの実施例に限られたものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、本発明のデータの更新・履歴・集計の管理方式は、Ｏｒａｃｌｅに限らず、ＳＱＬＳｅｒｖｅｒ，ＲｅｄＢｒｉｃｋ，ＤＢ２，ＭｙＳＱＬ等の、他のデータベースシステムの場合にも適用することが可能である。このうち、ＤＢ２はパーティショニング機能を有している。なお、パーティショニング機能によって表を分割しなくても、本発明方式の実装は可能である。
【００３４】
【発明の効果】
以上説明したように、本発明のデータの更新・履歴・集計の管理方式によれば、データベースの更新・履歴・集計の管理を行う際に、業務として細かいレベルでのデータメンテナンスが必要な場合に、オペレータがレコード単位での復旧・検証を行うための方法を、業務システムとして提供することができる。
そして、本発明方式を適用すれば、版数管理によるデータの利用性を向上し、システムの運用性を増し、データの復旧時の選択の範囲を拡大するとともに、データの整合性検証時の分解能を向上することができるようになる。
【図面の簡単な説明】
【図１】本発明のデータの更新・履歴・集計管理方式のシステム構成を示す図である。
【図２】本発明のデータの更新・履歴・集計管理方式の概念を示す図である。
【図３】本発明のデータの更新・履歴・集計管理方式の一実施例である、編集・変更作業のフローチャートを示す図である。
【図４】本発明のデータの更新・履歴・集計管理方式を帳簿データとして利用する場合の一実施例を示す図である。
【図５】本発明のデータの更新・履歴・集計管理方式の一適用例である、レコードデータを示すイメージ図である。
【符号の説明】
１１      編集処理部（編集処理手段）
１２      変更処理部（変更処理手段）
【図１】
2004355203.tif 000003
【図２】
2004355203.tif 000004
【図３】
2004355203.tif 000005
【図４】
2004355203.tif 000006
【図５】
2004355203.tif 000007