JP4152107B2 - データベース更新情報の反映システムおよびそのためのプログラム - Google Patents
データベース更新情報の反映システムおよびそのためのプログラム Download PDFInfo
- Publication number
- JP4152107B2 JP4152107B2 JP2002007803A JP2002007803A JP4152107B2 JP 4152107 B2 JP4152107 B2 JP 4152107B2 JP 2002007803 A JP2002007803 A JP 2002007803A JP 2002007803 A JP2002007803 A JP 2002007803A JP 4152107 B2 JP4152107 B2 JP 4152107B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- update
- update information
- updated
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はネットワークデータベース(NDB)のデータ更新内容をリレーショナルデータベース(RDB)へ反映するデータベース更新情報の反映システムそのためのプログラムに関する。
【0002】
【従来の技術】
ビジネスにおいて通常の取引により発生するデータは、日毎等にまとめて基幹系のデータベースへ登録されることが一般的に行われている。基幹系のホストコンピュータで利用されるDBは、一般的にはネットワークデータベース(NDB)である。
【0003】
しかし、このようなデータを利用して何らかの分析を行なう場合には、情報系のデータベースであるリレーショナルデータベース(RDB)の形式で格納されたデータの方が効率良く処理を行なえるため、NDBのデータをRDBのデータとして扱えるように反映処理を行っている。ここで、NDBとRDBの特徴を以下に記す。
【0004】
ネットワークデータベース(NDB):
レコードを階層関係を基にポインタを利用してレコード間に1対nの親子関係(網構造)を設けて管理する。階層間のレコードの親子関係をセットという仕組みで保持している。プログラム/データの論理関係/データの物理的構造を独立して定義できる。階層関係に沿って処理するため階層関係にあるレコードに対して検索、更新スピードが速く、レスポンス重視の基幹系業務向きである。
【0005】
リレーショナルデータベース(RDB):
レコードを二次元の表(テーブル)を用いて管理する。データ間の親子関係をキーでのみ表現する。各データに設けたキーを利用することにより、異なるテーブル間のデータを連携できるため、すなわちNDBと異なりレコード間の関係付けが無いため、目的に応じた柔軟な検索が可能であり、情報系業務向きである。
【0006】
このようなNDBの更新データをRDBへ反映させるとき、NDBの更新データの内容だけを見てもどのRDBテーブルと対応しているか判定できない。このため、このような階層構造であるNDBから表構造であるRDBへデータを反映させる方式として、従来、下記の3つの方式の何れかがとられていた。
【0007】
従来方式1:NDBの静態をRDBへコピーする。コピーするための専用処理プログラム、すなわちNDB側の各レコードにキーを付けて対応するRDB側のテーブル内のデータを更新するプログラムを必要とする。
【0008】
従来方式2:NDBの取引ログ(取引履歴)を利用してRDBの更新時にNDBの更新時の内容を再現してRDBへ反映する。
【0009】
従来方式3:NDBのデータがRDB内のどのアドレスに格納されているかを示す対応表(アドレステーブル)を用意し、NDBの更新ログにRDBのアドレスを付加し、RDBの反映の際にこのアドレスに従ってRDBを更新する(特開平7−244605参照)。
【0010】
【発明が解決しようとする課題】
上記従来方式によるNDBからRDBへのデータの反映処理は、次のような問題がある。従来方式1では、NDBのレコードを全て読み込んで、複写しなければならず高負荷のため1日に1度程度しか反映処理を実施できない。従来方式2では、RDBを更新する段階でNDBの更新と同様な処理を再度行わねばならず処理時間と負荷が2倍になる。従来方式3では、アドレステーブルを常に最新化し、管理しておく負担が発生する。このように、従来方式1〜3は何れもNDBからRDBへのデータの反映処理が高負荷となりもしくは長時間を要するという問題がある。
【0011】
それゆえ、本発明は上記問題を解決し、NDBにおけるデータの更新を迅速かつ効率良くRDBにおけるデータに反映させるデータベース更新情報の反映システムおよびそのためのプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記問題を解決する本発明によるデータベース更新情報の反映システムは、ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムであって、リレーショナルデータベースに更新を反映させるネットワークデータベースのレコード名を格納する反映対象テーブルと、ネットワークデータベースのレコードのレコード名と、該レコードの最上位階層から当該レコードの階層までの各識別子と、追加、変更、削除、および、出力なしの何れかの更新区分と、該レコードの更新データの情報を含む該レコードの更新情報を蓄積格納する更新情報蓄積部と、前記ネットワークデータベースに格納される各レコードの更新時に、前記反映対象テーブルに、該更新対象のレコードのレコード名に一致するものがあった場合に、前記更新情報蓄積部内に該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在するか検索する検索手段と、前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在しない場合に、該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を前記更新情報蓄積部に蓄積格納する更新情報蓄積手段と、前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在する場合に、該更新情報蓄積部に格納された該合致するレコードの更新情報に含まれた更新区分と該更新対象のレコードの更新区分について、前者が追加または変更で後者が変更である場合には、前者の更新データを後者の更新データに更新し、前者が追加で後者が削除である場合には、前者の更新区分を出力なしに更新し、前者が変更で後者が削除である場合には、前者の更新区分を削除に更新し、前者が削除で後者が追加である場合には、前者の更新区分を変更に更新し、前者の更新データを後者の更新データに更新する、塗替処理手段と、前記蓄積手段に蓄積された前記レコードの更新情報に含まれたレコード名と前記連結識別子とから、前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する更新手段と、を備えたことを特徴とする。
【0014】
上記問題を解決する本発明によるデータベース更新情報の反映プログラムは、ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムをコンピュータによって機能させるプログラムであって、前記データベース更新情報の反映システムは、リレーショナルデータベースに更新を反映させるネットワークデータベースのレコード名を格納する反映対象テーブルと、ネットワークデータベースのレコードのレコード名と、該レコードの最上位階層から当該レコードの階層までの各識別子と、追加、変更、削除、および、出力なしの何れかの更新区分と、該レコードの更新データの情報を含む該レコードの更新情報を蓄積格納する更新情報蓄積部と、を備え、前記プログラムは、コンピュータを、前記ネットワークデータベースに格納される各レコードの更新時に、前記反映対象テーブルに、該更新対象のレコードのレコード名に一致するものがあった場合に、前記更新情報蓄積部内に該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在するか検索する検索手段と、前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在しない場合に、該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を前記更新情報蓄積部に蓄積格納する更新情報蓄積手段と、前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在する場合に、該更新情報蓄積部に格納された該合致するレコードの更新情報に含まれた更新区分と該更新対象のレコードの更新区分について、前者が追加または変更で後者が変更である場合には、前者の更新データを後者の更新データに更新し、前者が追加で後者が削除である場合には、前者の更新区分を出力なしに更新し、前者が変更で後者が削除である場合には、前者の更新区分を削除に更新し、前者が削除で後者が追加である場合には、前者の更新区分を変更に更新し、前者の更新データを後者の更新データに更新する、塗替処理手段と、前記蓄積手段に蓄積された前記レコードの更新情報に含まれたレコード名と前記連結識別子とから、前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する更新手段と、して機能させることを特徴とする。
【0015】
【発明の実施の形態】
図1は本発明によるデータベース更新情報の反映システムの一実施形態の概略構成図である。図1全体に示す本発明のデータベース更新情報反映システム10は、大型のコンピュータシステム(例えば、銀行の事務センタに設置されたコンピュータ)で構成され、演算や制御を行うCPU1、キーボードやマウスやフレキシブルディスク等の入力部2、CRTやプリンタやフレキシブルディスク等の出力部3、CPU1が実行するプログラムやデータの一時記憶エリアおよびCPU1のワークエリアに用いられる内部記憶部4、必要に応じて内部記憶部4に書込まれるプログラムやデータを格納する外部記憶部5および他のコンピュータシステムに通信可能に接続され該システムとの間でプログラムやデータを送受信する通信部6を有する。
【0016】
例えば主としてRAMからなる内部記憶部4には、NDB更新処理部41、NDB更新情報蓄積部42、RDB更新処理部43等が設けられており、例えば主として磁気ディスクからなる外部記憶部5には、ネットワークデータベース(NDB)51、リレーショナルデータベース(RDB)52、RDB反映対象テーブル53、取引ログ54の各情報が格納されている。本実施形態では1つの外部記憶部5に上記4つの情報を格納するが、これらの情報はそれぞれ独立の磁気ディスク等の外部記憶装置で構成してもよい。また、本実施形態では1つの大型のコンピュータシステムで構成したが、RDB52を他のコンピュータシステムに組込み、これらのコンピュータ間を通信可能に接続した構成にしてもよい。
【0017】
NDB更新処理部41はNDB51のレコードを更新する機能を有する。NDB更新情報蓄積部42はNDB51のレコードが更新される度に最新となったレコードに関する情報、すなわちNDB更新情報を一時的に蓄積するための記憶エリアである。NDB更新情報は、通信部6を介して本発明のデータベース更新情報反映システム10に接続された他のコンピュータ(例えば、銀行の支店に設置された端末装置)から入力され、一時的にNDB更新情報蓄積部42に格納され、塗替処理(後述)等をされた後、取引ログ54へ格納される。RDB更新処理部43はNDB51のレコードの更新処理を反映してRDB52のテーブルを更新する機能を有する。
【0018】
図2は図1に示すNDB更新情報蓄積部42に蓄積されるデータであるNDB更新情報の具体例を示す図である。NDB更新情報はRDBのテーブル名、RDBのキー番号(連結識別子)、NDBの更新区分およびデータ内容を含む。ここで、NDBの更新処理は、データすなわちレコードの変更、追加または削除の何れかの処理に区分される。
【0019】
図3は図1に示すNDB51の具体例を示す図である。図3に示すNDBは、7つのレコードを3階層構造で構成されており、各レコード30、31、32、311、312および321にはレコード名およびキー番号(識別子)が付加されており、このキー番号は同一親レコードの配下の子レコード間で互いを識別可能に設定されている。
【0020】
図4の(A)はRDBのキー設定の基本形を示す図であり、図4の(B)は図3に示すNDBのレコード311に対応するRDBのキー設定を具体的に示す図である。図4の(A)に示すように、NDB内の第n階層の1つのレコードに対応するRDB内のテーブルのキー番号は、NDBの第1〜第n階層の各レコードのキー番号をひとつながりにしたもので設定される。ここで、n(整数)は当該レコードのNDBの最上位階層からの階層の深さを表す。
【0021】
図4の(B)に示すように、NDB内のレコード311に対応するRDB内のテーブルのキー番号は、NDBのレコード311の最上位階層であるレコード30からレコード311の第3階層までの各レコードのキー番号(識別子)、すなわち第1階層キー番号である001、第2階層キー番号である987、第3階層キー番号である111をひとつながりにした連結識別子001,987,111で設定される。
【0022】
図5は図1に示すRDB52から抽出されるテーブルの具体例を示す図である。図5に示す行列構成のテーブルは、テーブル名が流動性口座で、テーブルの列には口座名義、口座番号、残高、口座開設日、最終入金日等の項目(データ内容)が格納されており、各行には各列に記された項目に対応するデータが格納されていることを示す。
【0023】
図6は図1に示すRDB反映対象テーブル53の具体例を示す図である。RDB反映対象テーブルはNDB更新処理においてRDBの更新対象となるテーブル名を予めリストした表であり、このテーブル53に予めリストしたテーブル名に対応するNDB内のレコードが更新されるときにのみNDB更新情報蓄積部42にNDB更新情報が蓄積される。換言すれば、NDBに存在するレコードの中でRDBのテーブルに必要ないものは更新情報として取得しないように、このテーブルにRDB反映対象レコードを予め定義しておく。
【0024】
なお、NDBのレコード名とRDBのテーブル名は、テーブルの特定を容易にするため同一名称を使用する。
【0025】
図1に示す取引ログ54はコンピュータのシステム状態を示すデータを記録したデータリカバリ用のHLF(Historical Log File)に付加して記録される取引の履歴を示すデータである。このデータ、すなわち図2に示すNDB更新情報は、取引毎に内部記憶部4のNDB更新情報蓄積部42から外部記憶部5内の取引ログ54に書出され、例えば数10分から1時間毎の周期でRDB更新処理のため外部記憶部5内の他の磁気ディスクに転送される。
【0026】
RDB52の更新では、所定の周期、例えば数10分から1時間毎に、RDB更新処理部43を介して取引ログ54内の更新情報のRDBのテーブル名、RDBのキー番号(連結識別子)をそのまま検索キーとして該当RDBテーブルを判定し、NDBの更新区分(変更/追加/削除)に沿ったNDBのデータ内容のRDB52への反映処理を行う。
【0027】
次に、本発明によるNDBのデータ更新をRDBへ反映させる反映処理について以下に詳細に説明する。
【0028】
図7は本発明によるNDB更新処理のフローチャートである。前述したようにNDB更新情報は、RDBのテーブル名、RDBのキー番号(連結識別子)、NDBの更新区分およびデータ内容を含み、NDBのレコードの更新時に図示しないワークエリアに一時的に蓄積されている。
【0029】
NDBのレコードの更新時に、図6に示すようなRDB反映対象テーブル53を検索して(ステップS1)、ワークエリアに一時的に格納されている今回更新するレコードがテーブル内のレコードに一致したときにのみ、今回更新するレコードのNDB更新情報を蓄積対象として、NDB更新情報蓄積部42に格納する(ステップS2)。
【0030】
次に、1取引内(1つの取引ログ)で、NDB更新情報蓄積部42に格納した今回のNDB更新情報がすでに蓄積されている情報か否か、すなわち同一レコードが複数回更新されたか否かを判定し(ステップS3)、YESと判定された場合には、塗替対象の情報と判定して塗替処理を実行し(ステップS4)、塗替後の情報を取引ログ54へ書出す(ステップS5)。一方NOと判定された場合には、今回のNDB更新情報を蓄積情報として取引ログ54の最後に書込む(ステップS6)。このように、1取引内で同一レコードが複数回更新された場合には最後の更新情報のみを有効とする。次に、塗替処理を以下に説明する。
【0031】
図8は本発明による塗替パターンを説明するための図である。NDB更新情報蓄積部42内のNDB更新情報を塗替処理する時に、今回蓄積するNDB更新情報であるRDBのテーブル名およびキー番号(連結識別子)が、既にNDB更新情報蓄積部42に蓄積されているNDB更新情報であるRDBのテーブル名、キー番号(連結識別子)に合致するか否かを、最新の蓄積情報から古い方へと順に検索して調べ、同一のテーブル名、キー番号(連結識別子)をもつNDB更新情報がNDB更新情報蓄積部42内に存在していれば、今回蓄積するNDB更新情報を合致更新情報と判定し、塗替対象とする。この処理は図7のステップS3に相当する。この判定結果がYESのとき塗替処理を行い、判定結果がNOのとき塗替処理を行わずNDB更新情報蓄積部42内にすでに蓄積されているNDB更新情報の後に今回蓄積するNDB更新情報、すなわちRDBのテーブル名、RDBのキー番号(連結識別子)、NDBの更新区分およびデータ内容を書込む。以下、図8を参照して本発明による塗替処理を説明する。
【0032】
図8に示すパターンを説明するための図において、最も左側の列には塗替パターンの番号が、その右側の列には、順に前回更新情報、今回更新情報および塗替後更新情報が示されている。前回更新情報、今回更新情報および塗替後更新情報の各々には、更新区分およびデータが示されている。前回更新情報および今回更新情報は、共に前述の塗替対象と判定された合致更新情報である。塗替後更新情報は、後にRDB反映処理を要する情報であり、この情報のみが図1に示すNDB更新情報蓄積部42から取引ログ54へ転送される。前回更新情報、今回更新情報および塗替後更新情報は、取引ログ54への書出し後にオールクリアされる。
【0033】
NDB更新情報の塗替処理(最終更新情報のみを残す手法)は、順序性を意識して下記の具体的塗替パターン1〜5に示す要領で行う。
【0034】
塗替パターン1:前回更新情報の更新区分が追加で、今回更新情報の更新区分が変更の場合、塗替後更新情報の更新区分は追加とする。これは、取引ログ54の書出し後にオールクリアされたNDB更新情報蓄積部42に、レコードが追加された後に同一レコードのデータを今回変更する場合を示している。それゆえ塗替後更新情報は、次回のRDB反映処理では追加の更新処理を行い、レコードの最新データが前回更新情報のXXXXXXでなく今回更新情報のYYYYYYであることを示す。
【0035】
塗替パターン2:前回更新情報の更新区分が追加で、今回更新情報の更新区分が削除の場合、塗替後更新情報は出力なしとする。これは、取引ログ54の書出し後にオールクリアされたNDB更新情報蓄積部42に、レコードが追加された後に同一レコードのデータを今回削除する場合を示している。それゆえ塗替後更新情報は、次回のRDB反映処理では何も実行する必要がないことを示し、更新区分およびレコードのデータは共に出力されない。
【0036】
塗替パターン3:前回更新情報の更新区分が変更で、今回更新情報の更新区分が変更の場合、塗替後更新情報は変更とする。これは、取引ログ54の書出し後にオールクリアされたNDB更新情報蓄積部42に、レコードが変更された後に同一レコードのデータを今回更に変更する場合を示している。それゆえ塗替後更新情報は、次回のRDB反映処理でも変更の更新処理を行い、レコードの最新データが前回更新情報のXXXXXXでなく今回更新情報のYYYYYYであることを示す。
【0037】
塗替パターン4:前回更新情報の更新区分が変更で、今回更新情報の更新区分が削除の場合、塗替後更新情報は削除とする。これは、取引ログ54の書出し後にオールクリアされたNDB更新情報蓄積部42に、レコードが変更された後に同一レコードのデータを今回削除する場合を示している。それゆえ塗替後更新情報は、次回のRDB反映処理では削除の更新処理を行い、レコードの最新データが前回更新情報および今回更新情報共にXXXXXXであることを示している。次回のRDB反映処理時に当該レコードに対応するRDBのテーブルおよびそのデータXXXXXXは共に削除される。
【0038】
塗替パターン5:前回更新情報の更新区分が削除で、今回更新情報の更新区分が追加の場合、塗替後更新情報は変更とする。これは、取引ログ54の書出し後にオールクリアされたNDB更新情報蓄積部42に、レコードが削除された後に同一レコードのデータを今回追加する場合を示している。それゆえ塗替後更新情報は、次回のRDB反映処理では変更の更新処理を行い、レコードの最新データが前回更新情報のXXXXXXでなく今回更新情報のYYYYYYであることを示す。
【0039】
以上、図8を用いて1つの取引で2回のNDB更新処理を行った場合を例に挙げて塗替処理を説明したが、1つの取引で複数回のNDB更新処理を行った場合も同様に、塗替処理が行われる。
【0040】
このように、図8に示した塗替パターンに従って塗替処理を行うことにより、RDB反映時に不必要なデータの更新をなくすことができ、処理時間を短縮できる。なお、図8に示した説明図に準ずるような判定テーブルを内部記憶部4に保持しておいてもよいし、プログラムに図8のような判定をさせるための処理を記述しておいても構わない。
【0041】
最後にRDBの更新処理を説明する。
【0042】
図9は本発明によるRDB更新処理のフローチャートである。RDBの更新処理では、取引ログ54内に格納されたNDB更新情報であるRDBのテーブル名およびキー番号(連結識別子)をそのまま検索キーとして該当RDBテーブルを検索し(ステップS11)、検索したRDBテーブルに対してNDB更新情報の更新区分(変更/追加/削除)を判定し(ステップS12)、その判定に沿った反映処理、すなわちRDBのデータの更新処理(ステップS13)を行う。
【0043】
次に、図10〜12を参照して図1に示す本発明によるデータベース更新情報の反映システムを用いてNDBのデータ更新内容をRDBへ反映する具体例を以下に説明する。
【0044】
図10はオンライン上のNDBの具体例を示す図である。図10に示されるNDB151は銀行の預金通帳に関し、3段の階層構造を有する。最上位の第1階層に顧客情報のレコードが、第2階層に流動性(普通)口座および定期性口座のレコードが、第3階層に流動性口座の取引明細のレコードが示されている。各レコードには、レコード名および識別子が設定されている。顧客情報のレコードの識別子には顧客番号が、流動性(普通)口座および定期性口座のレコードの識別子には口座番号が、流動性口座または定期性口座の取引明細のレコードの識別子には明細番号が、それぞれ同一親レコードの配下で一意に登録されている。各レコードはそれぞれ最新のデータ内容(図示せず)を有する。
【0045】
次に、1取引で、流動性口座の取引明細のレコード81を変更し、破線で囲んで示す定期性口座のレコード82を新たに追加するNDB更新処理を行う場合を想定し、この更新をRDBに反映する具体例を以下に説明する。なお、定期性口座のレコード82が破線で示されているのは、NDB更新処理前には存在していなかったからである。
【0046】
図11は取引ログ154の具体例を示す図である。図11に示すように、図10に示すNDB151の1取引の取引ログには、第1番目(上段)に、流動性口座の取引明細のレコード81の更新情報として、状態の欄に更新の区分が変更であることが示され、レコード名にTORIMEISが示され、第1階層に顧客情報レコードの識別子である識別子0000000001、第2階層に流動性口座レコードの識別子である識別子0000000010、第3階層にレコード81の識別子である識別子00001が示されており、第2番目(下段)に、定期性口座のレコード82の更新情報として、状態の欄に更新の区分が追加であることが示され、レコード名にTEIKIKOZが示され、第1番目の取引ログと同様に第1階層に識別子0000000001、第2階層に識別子0000000010が示されている。
【0047】
この取引ログに示されたNDB更新をRDBに反映するには、取引ログにおける第1番目の更新レコード81の更新区分が変更であるので、流動性口座の取引明細のレコード81のレコード名であるTORIMEISと同一名称のテーブル名を有し、連結識別子が0000000001,0000000010,00001であるテーブルをRDB内で検索し、検索されたテーブルのデータをレコード81のデータで変更する。次に、取引ログにおける第2番目の更新レコード82の更新区分が追加であるので、定期性口座のレコード82のレコード名であるTEIKIKOZと同一名称のテーブル名を有し、連結識別子が0000000001,0000000010であるテーブルをRDB内に新たに生成し、生成したテーブルのデータにレコード82のデータを書込む。
【0048】
図12は図11に示す取引ログがRDBに反映されるときの図10に示すNDBに対応するRDBの状態を示す図であり、(A)は反映前のRDBの状態を示す図であり、(B)は反映後のRDBの状態を示す図である。図12の(A)および(B)に示されているように、RDBにはSQLにより抽出可能なテーブル名がKOKYAKUJ、RYUDOKOZ、TORIMEISおよびTEIKIKOZの4つのテーブルが格納されている。各テーブルには、キー番号の欄に、NDB内で同一レコード名を有するレコードの最上位階層のレコードの識別子から当該レコードの識別子までをひとつながりにしたキー番号(連結識別子)が格納され、データ内容の欄に、当該レコードのデータ内容が格納されている。
【0049】
図12の(A)に示されるように、反映前のRDBには、テーブル名がKOKYAKUJのテーブル、テーブル名がRYUDOKOZのテーブルおよびテーブル名がTORIMEISのテーブルに、それぞれ2つのキー番号(連結識別子)とそれらのデータ内容が格納されており、テーブル名がTEIKIKOZのテーブルに1つのキー番号(連結識別子)とそのデータ内容が格納されている。テーブル名がRYUDOKOZおよびTEIKIKOZのテーブルのデータ内容は、例えば図5に示すような口座名義、口座番号、残高、口座開設日および最終入金日等であり、テーブル名がTORIMEISのテーブルのデータ内容は、入金または出金の区分け、取引金額、取引日および取引時刻等である。
【0050】
図12の(B)に示されるように、反映後のRDBには、テーブル名がKOKYAKUJのテーブル、テーブル名がRYUDOKOZのテーブル、テーブル名がTORIMEISのテーブルおよびテーブル名がTEIKIKOZのテーブルに、それぞれ2つのキー番号(連結識別子)とそれらのデータ内容が格納されている。反映前のRDBと異なるところは、テーブル名がTORIMEISのテーブルにおいて、参照番号101で示す1つのキー番号(連結識別子)0000000001,0000000010,00001の反映前のデータ内容が参照番号102で示す同一キー番号(連結識別子)の反映後のデータ内容に変更され、かつテーブル名がTEIKIKOZのテーブルに、参照番号103で示す1つのキー番号(連結識別子)0000000001,0000000010とそのデータ内容が追加されたことである。
【0051】
(付記1) ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムにおいて、
前記ネットワークデータベースに階層構造で格納される各レコードに対し、レコード名と、同一親レコードの子レコードが互いに識別可能となるような識別子とを設定する手段と、
前記レコードの更新毎に、更新するレコードに対応する前記レコード名および前記レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を蓄積する蓄積手段と、
前記リレーショナルデータベースに表構造で格納される各テーブルに対し、前記レコード名に対応するテーブル名および前記レコードの最上位階層から当該レコードの階層までの各識別子をひとつながりにした連結識別子を設定する手段と、
所定の周期で、前記テーブル名と前記連結識別子とから前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する手段と、
を備えたことを特徴とするデータベース更新情報の反映システム。
【0052】
(付記2) 前記蓄積手段は、予め設定したリレーショナルデータベースへの更新対象のレコードに対してのみ該レコードの更新時のデータを蓄積する、請求項1に記載のデータベース更新情報の反映システム。
【0053】
(付記3) 前記蓄積手段は、前記レコードの更新毎に、今回更新対象のレコードが前記蓄積手段に蓄積されたレコード内に有るか無いかを判定し、有ると判定されたときは該レコードの最新のデータを蓄積し、無いと判定されたときは今回更新対象のレコードのデータを蓄積する、請求項1または2に記載のデータベース更新情報の反映システム。
【0054】
(付記4) 前記蓄積手段は、前記蓄積されたレコード内に今回更新対象のレコードが有るか無いかの判定を、該今回更新対象のレコードの前記レコード名および前記連結識別子が前記蓄積された各レコードの前記レコード名および前記連結識別子に一致するか否かにより判定する、請求項3に記載のデータベース更新情報の反映システム。
【0055】
(付記5) 前記最新のデータは、今回更新対象のレコードの更新区分と該レコードに一致した前記蓄積されたレコード内のレコードの更新区分とに応じて決定される、請求項4に記載のデータベース更新情報の反映システム。
【0056】
(付記6) 前記テーブル名は、前記レコード名と同一名称である、付記1乃至5の何れか一つに記載のデータベース更新情報の反映システム。
【0057】
(付記7) ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムを、
前記ネットワークデータベースに階層構造で格納される各レコードに対し、レコード名と、同一親レコードの子レコードが互いに識別可能となるような識別子とを設定する手段と、
前記レコードの更新毎に、更新するレコードに対応する前記レコード名および前記レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を蓄積する蓄積手段と、
前記リレーショナルデータベースに表構造で格納される各テーブルに対し、前記レコード名に対応するテーブル名および前記レコードの最上位階層から当該レコードの階層までの各識別子をひとつながりにした連結識別子を設定する手段と、
所定の周期で、前記テーブル名と前記連結識別子とから前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する手段と、
して機能させるためのプログラムを備えたことを特徴とするデータベース更新情報の反映プログラム。
【0058】
【発明の効果】
以上説明したように、本発明のデータベース更新情報の反映システムおよびそのためのプログラムによれば、計算機負荷が少なくデータベース更新情報の反映処理を簡素化したので、基幹系データベース(ネットワークデータベース:NDB)のデータ更新内容を迅速かつ効率的に情報系データベース(リレーショナルデータベース:RDB)に反映することができる。
【0059】
本発明によれば、データベース更新情報の反映処理時間を短縮でき、それゆえ頻繁に更新処理ができるようになる。具体的には従来日毎にNDBの情報をRDBに反映していたが、本発明では数十分から1時間毎に最新情報が反映可能となるので、RDBの情報の鮮度が高くなり経営分析等の利用に有効となる。
【0060】
また、本発明によれば、NDBの更新データの内でRDBに反映する必要のない更新データを排除する構成を設けたので、効率的なデータ反映が可能となる。
【図面の簡単な説明】
【図1】本発明によるデータベース更新情報の反映システムの一実施形態の概略構成図である。
【図2】図1に示すNDB更新情報蓄積部42に蓄積されるデータであるNDB更新情報の具体例を示す図である。
【図3】図1に示すNDB51の具体例を示す図である。
【図4】(A)はRDBのキー設定の基本形を示す図であり、(B)は図3に示すNDBのレコード311に対応するRDBのキー設定を具体的に示す図である。
【図5】図1に示すRDB52から抽出されるテーブルの具体例を示す図である。
【図6】図1に示すRDB反映対象テーブル53の具体例を示す図である。
【図7】本発明によるNDB更新処理のフローチャートである。
【図8】本発明による塗替パターンを説明するための図である。
【図9】本発明によるRDB更新処理のフローチャートである。
【図10】オンライン上のNDBの具体例を示す図である。
【図11】取引ログの具体例を示す図である。
【図12】図11に示す取引ログがRDBに反映されるときの図10に示すNDBに対応するRDBの状態を示す図であり、(A)は反映前のRDBの状態を示す図であり、(B)は反映後のRDBの状態を示す図である。
【符号の説明】
1…CPU
2…入力部
3…出力部
4…内部記憶部
5…外部記憶部
6…通信部
10…データベース更新情報反映システム
41…NDB更新処理部
42…NDB更新情報蓄積部
43…RDB更新処理部
51,151…ネットワークデータベース(NDB)
52…リレーショナルデータベース(RDB)
53…RDB対象テーブル
54,154…取引ログ
Claims (2)
- ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムであって、
リレーショナルデータベースに更新を反映させるネットワークデータベースのレコード名を格納する反映対象テーブルと、
ネットワークデータベースのレコードのレコード名と、該レコードの最上位階層から当該レコードの階層までの各識別子と、追加、変更、削除、および、出力なしの何れかの更新区分と、該レコードの更新データの情報を含む該レコードの更新情報を蓄積格納する更新情報蓄積部と、
前記ネットワークデータベースに格納される各レコードの更新時に、前記反映対象テーブルに、該更新対象のレコードのレコード名に一致するものがあった場合に、前記更新情報蓄積部内に該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在するか検索する検索手段と、
前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在しない場合に、
該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を前記更新情報蓄積部に蓄積格納する更新情報蓄積手段と、
前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在する場合に、
該更新情報蓄積部に格納された該合致するレコードの更新情報に含まれた更新区分と該更新対象のレコードの更新区分について、
前者が追加または変更で後者が変更である場合には、前者の更新データを後者の更新データに更新し、
前者が追加で後者が削除である場合には、前者の更新区分を出力なしに更新し、
前者が変更で後者が削除である場合には、前者の更新区分を削除に更新し、
前者が削除で後者が追加である場合には、前者の更新区分を変更に更新し、前者の更新データを後者の更新データに更新する、塗替処理手段と、
前記蓄積手段に蓄積された前記レコードの更新情報に含まれたレコード名と前記連結識別子とから、前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する更新手段と、
を備えたことを特徴とするデータベース更新情報の反映システム。 - ネットワークデータベースにおけるレコードの更新をリレーショナルデータベースに反映させるデータベース更新情報の反映システムをコンピュータによって機能させるプログラムであって、
前記データベース更新情報の反映システムは、リレーショナルデータベースに更新を反映させるネットワークデータベースのレコード名を格納する反映対象テーブルと、
ネットワークデータベースのレコードのレコード名と、該レコードの最上位階層から当該レコードの階層までの各識別子と、追加、変更、削除、および、出力なしの何れかの更新区分と、該レコードの更新データの情報を含む該レコードの更新情報を蓄積格納する更新情報蓄積部と、を備え、
前記プログラムは、
コンピュータを、
前記ネットワークデータベースに格納される各レコードの更新時に、前記反映対象テーブルに、該更新対象のレコードのレコード名に一致するものがあった場合に、前記更新情報蓄積部内に該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在するか検索する検索手段と、
前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコ ード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在しない場合に、
該更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子を含む該レコードの更新情報を前記更新情報蓄積部に蓄積格納する更新情報蓄積手段と、
前記検索手段による検索の結果、前記更新情報蓄積部に前記更新対象のレコードのレコード名および該レコードの最上位階層から当該レコードの階層までの各識別子と合致するものが存在する場合に、
該更新情報蓄積部に格納された該合致するレコードの更新情報に含まれた更新区分と該更新対象のレコードの更新区分について、
前者が追加または変更で後者が変更である場合には、前者の更新データを後者の更新データに更新し、
前者が追加で後者が削除である場合には、前者の更新区分を出力なしに更新し、
前者が変更で後者が削除である場合には、前者の更新区分を削除に更新し、
前者が削除で後者が追加である場合には、前者の更新区分を変更に更新し、前者の更新データを後者の更新データに更新する、塗替処理手段と、
前記蓄積手段に蓄積された前記レコードの更新情報に含まれたレコード名と前記連結識別子とから、前記リレーショナルデータベース内のテーブルを特定し、該テーブルを前記レコードの更新情報で更新する更新手段と、
して機能させることを特徴とするプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002007803A JP4152107B2 (ja) | 2002-01-16 | 2002-01-16 | データベース更新情報の反映システムおよびそのためのプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002007803A JP4152107B2 (ja) | 2002-01-16 | 2002-01-16 | データベース更新情報の反映システムおよびそのためのプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003208346A JP2003208346A (ja) | 2003-07-25 |
| JP4152107B2 true JP4152107B2 (ja) | 2008-09-17 |
Family
ID=27646223
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002007803A Expired - Lifetime JP4152107B2 (ja) | 2002-01-16 | 2002-01-16 | データベース更新情報の反映システムおよびそのためのプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4152107B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4704736B2 (ja) * | 2004-11-04 | 2011-06-22 | 新日鉄ソリューションズ株式会社 | データ処理装置、データ処理方法及びそのプログラム |
| JP5748711B2 (ja) * | 2012-07-25 | 2015-07-15 | 株式会社三菱東京Ufj銀行 | データベースドライバおよびプログラム |
| JP6260339B2 (ja) * | 2014-02-24 | 2018-01-17 | 富士通株式会社 | 情報処理装置,データ変換プログラム,及びデータ変換方法 |
| WO2017078158A1 (ja) * | 2015-11-06 | 2017-05-11 | 株式会社野村総合研究所 | データ管理システム |
| CN119719108A (zh) * | 2024-12-05 | 2025-03-28 | 南京航空航天大学 | 数据预处理方法、系统、设备及可读存储介质 |
-
2002
- 2002-01-16 JP JP2002007803A patent/JP4152107B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003208346A (ja) | 2003-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10846277B1 (en) | Journaled tables in database systems | |
| US9292573B2 (en) | Extended database engine providing versioning and embedded analytics | |
| US7672966B2 (en) | Adding extrinsic data columns to an existing database schema using a temporary column pool | |
| JP4594306B2 (ja) | 自己記述型ビジネスオブジェクト | |
| CN1746893B (zh) | 事务文件系统 | |
| US5870733A (en) | Automated system and method for providing access data concerning an item of business property | |
| Harrington | Relational database design clearly explained | |
| US20080091704A1 (en) | Time-addressed database management system | |
| US20090287737A1 (en) | Architecture for enabling rapid database and application development | |
| JP2006528801A (ja) | サービス指向ビジネスフレームワークのサービス管理 | |
| Narang | Database management systems | |
| US7958031B2 (en) | Apparatus, system, and method for automated identity relationship maintenance | |
| US20090300037A1 (en) | Enhanced database structure configuration | |
| CN113986974A (zh) | 一种数据库事务管理方法及装置、恢复方法及装置 | |
| CN113886505B (zh) | 一种基于搜索引擎和关系型数据库实现动态建模的管理系统 | |
| JP4152107B2 (ja) | データベース更新情報の反映システムおよびそのためのプログラム | |
| US20070255685A1 (en) | Method and system for modelling data | |
| US7653663B1 (en) | Guaranteeing the authenticity of the data stored in the archive storage | |
| JP5033322B2 (ja) | 連結関係情報を用いた情報管理方法及び装置 | |
| US20030200220A1 (en) | Method, system, and program product for the implementation of an attributegroup to aggregate the predefined attributes for an information entity within a content management system | |
| Hobbs et al. | Rdb: a comprehensive guide | |
| Oxborrow et al. | Object-oriented data management in specialized environments | |
| Carter | Choosing MongoDB | |
| WO2007049289A2 (en) | Method and system for re-population of data in a database | |
| Jain | Database management systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040825 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080129 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080407 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080603 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080701 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4152107 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110711 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110711 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130711 Year of fee payment: 5 |
|
| EXPY | Cancellation because of completion of term |