JP3734334B2 - データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 - Google Patents
データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 Download PDFInfo
- Publication number
- JP3734334B2 JP3734334B2 JP11672797A JP11672797A JP3734334B2 JP 3734334 B2 JP3734334 B2 JP 3734334B2 JP 11672797 A JP11672797 A JP 11672797A JP 11672797 A JP11672797 A JP 11672797A JP 3734334 B2 JP3734334 B2 JP 3734334B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- migration
- key
- database
- data model
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はデータ移行システム、データ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体、及びデータ移行方法に関し、特にネットワークデータモデルのシステムからリレーショナルデータモデルのシステムにデータを移行するためのデータ移行システム、そのようなデータ移行をコンピュータに実行させるためのデータ移行プログラムを記録したコンピュータ読み取り可能な記録媒体及びネットワークデータモデルからリレーショナルデータモデルへのデータ移行方法に関する。
【0002】
【従来の技術】
近年、システム構築で用いられるデータモデルとして、モデルの分かり易さ、データ独立性、データ操作の非手続性などの面からリレーショナルデータモデルが主流となっている。すでにネットワークデータモデルで構築されたシステムは、技術者の減少やメンテナンスが容易でないことなど保守や運用面で不安が生じているため、ネットワークデータモデルからリレーショナルデータモデルへの移行が必要とされている。
【0003】
ネットワークデータモデルでは、DBMS(Data Base Management System) がレコード間の関係を制御するポインタを持っている。これに対し、リレーショナルデータモデルでは、データを単純な表形式で表現しており、1つの表の中ではデータに階層的な関係を持たない。
【0004】
ネットワークデータモデルにおけるポインタに関する情報はセット情報として各レコードに付加されているが、利用者が意識的に設定するものではない。しかも、リレーショナルデータモデルは階層的関係を持たないことが前提であるため、レコード間の階層的関係を示すセット情報をそのままリレーショナルデータモデルのレコードに付加して利用することはできない。そのため、ネットワークデータモデルのデータ構造のままリレーショナルデータモデルに移行すると、レコード間の関係を判断することができなくなる。
【0005】
したがって、データを移行する際には、リレーショナルデータモデルに適用できるようにデータ構造を見直し、ネットワークデータモデルのデータを加工してからデータの移行を行っていた。
【0006】
【発明が解決しようとする課題】
しかし、データ構造の変更は、そのデータを処理対象としているアプリケーションプログラム(以後、単に「アプリケーション」と呼ぶ)の処理機構全体に影響する。ネットワークデータモデルからリレーショナルデータモデルへデータを移行した場合、既存のアプリケーションをそのまま使用できないのは勿論であるが、部分的に変更して使用することも困難である。そこで、既存アプリケーションを破棄し、新しいデータ構造を処理するアプリケーションを別に作成する必要があった。そのため、データを移行した際にはデータベースシステム全体を作り直すことになり、データ移行全体にかかる作業時間・作業量・作業費用の負担が大きかった。
【0007】
本発明はこのような点に鑑みてなされたものであり、ネットワークデータモデルからリレーショナルデータモデルへの移行を、品質を落とさずに短期間で行うことができるデータ移行システムを提供することを目的とする。
【0008】
また、本発明の他の目的は、コンピュータによるネットワークデータモデルからリレーショナルデータモデルへの移行を、品質を落とさずに短期間で行うためのデータ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【0009】
また、本発明の別の目的は、ネットワークデータモデルからリレーショナルデータモデルへの移行を、品質を落とさずに短期間で行うためのデータ移行方法を提供することである。
【0010】
【課題を解決するための手段】
本発明では上記課題を解決するために、ポインタによりレコード間の関連付けがなされているネットワークデータモデルからリレーショナルデータモデルへ移行するためのデータ移行システムにおいて、前記ネットワークデータモデルを記憶する第1のデータベースと、前記リレーショナルデータモデルを記憶する第2のデータベースと、前記第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして前記第2のデータベースに格納するレコード移行手段と、前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加する主キー追加手段と、前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加するリレーションキー追加手段と、前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加するセット順キー追加手段と、を有することを特徴とするデータ移行システムが提供される。
【0011】
このデータ移行システムによれば、まず、レコード移行手段により、ポインタを除く移行前レコードが取り出され移行後レコードが作成される。そして、移行後レコードの親レコードには、主キー追加手段により主キーが追加される。また、移行後レコードの子レコードには、主キー追加手段により主キーが追加され、リレーションキー追加手段により親レコードの主キーと同じ値のリレーションキーが追加され、さらに、セット順キー追加手段により、移行前レコードの順序性を保証したセット順キーとが追加される。これにより、移行前レコード間の関係が、主キー、リレーションキー及びセット順キーで表されたリレーショナルデータモデルが生成される。その結果、既存アプリケーションプログラムの処理構造を変えずに、データベースに対する操作命令を変更するだけで、移行後レコードを処理するためのアプリケーションプログラムを作成することができる。
【0012】
また、ポインタによりレコード間の関連付けがなされているネットワークデータモデルからリレーショナルデータモデルへ移行するためのデータ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体において、第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして、前記リレーショナルデータモデルを記憶する第2のデータベースに格納するレコード移行機能と、前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加する主キー追加機能と、前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加するリレーションキー追加機能と、前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加するセット順キー追加機能と、をコンピュータに実現させるためのデータ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0013】
このデータ移行用プログラムを記録した媒体は、記録したデータ移行用プログラムをコンピュータで実行させることにより、ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された移行前レコードを移行後レコードとするレコード移行手段と、移行後レコードに対して、各レコード固有の主キーを追加する主キー追加手段と、ネットワークデータモデル内で移行前レコードに付加されているポインタを参照し、子レコードとなる移行後レコードに対して、親レコードとなる移行後レコードの主キーの値をリレーションキーとして追加するリレーションキー追加手段と、子レコードとなる移行後レコードに対し、移行前レコードの順序性を保証した値をセット順キーとして追加するセット順キー追加手段と、を有するコンピュータシステムを構築することができる。
【0014】
また、コンピュータにより、ポインタによりレコード間の関連付けがなされているネットワークデータモデルをリレーショナルデータモデルへ移行するためのデータ移行方法において、レコード移行手段が、第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして、前記リレーショナルデータモデルを記憶する第2のデータベースに格納し、主キー追加手段が、前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加し、リレーションキー追加手段が、前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加し、セット順キー追加手段が、前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加する、ことを特徴とするデータ移行方法が提供される。
【0015】
このデータ移行方法によれば、親レコードには各レコード固有の主キーが付加され、子レコードには、各レコード固有の主キー、親レコードの主キーと同じ値のリレーションキー、及び移行前レコードの順序が示されたセット順キーが付加された移行後レコードが得られる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の原理構成図である。この図では、ネットワークデータモデル10には、レコードタイプが「レコードA」である移行前レコード11と、レコードタイプが「レコードB」である移行前レコード12とがある。移行前レコード11と移行前レコード12とは親子関係にある。
【0017】
レコード移行手段1は、ネットワークデータモデル10の移行前レコード11,12と同じ形式の移行後レコード21,22を、リレーショナルデータモデル20用に作成する。主キー追加手段2は、移行後レコード21,22の全てに対して、各レコード固有の主キー23,24を追加する。リレーションキー追加手段3は、移行前レコード11,12に付加されているポインタを参照し、子レコードとなる移行後レコード22に対して、関係する親レコードの主キー23の値をリレーションキー25として追加する。
【0018】
セット順キー追加手段4は、子レコードとなる移行後レコード22に対し、移行前レコード11,12の順序性を保証した値をセット順キー26として追加する。ここで、移行前レコードの順序性を保証するとは、ある親レコードに対して複数の子レコードがあった場合、親レコードから順に呼び出されるレコードの順番を崩さないことである。すなわち、移行後レコード22のセット順キー26を比較すれば、親レコードから順検索をした場合のレコードが呼び出される順番が判別できる。
【0019】
このようなデータ移行システムによれば、まず、レコード移行手段1により、ネットワークデータモデルと同一形式のレコード21,22が作成される。これにより、既存のアプリケーションへの影響範囲が、データベースに対する操作命令(データの定義命令も含む)に限定される。作成されたリレーショナルデータモデル20の各レコード21,22には、主キー追加手段2により主キー23,24が追加される。また、子レコードとなるレコード22には、さらにリレーションキー追加手段3とセット順キー追加手段4とにより、リレーションキー25とセット順キー26とが追加される。リレーションキー25によってレコード間の親子関係が特定できる。また、セット順キー26によって、親子関係が1対nの場合の子レコードの順序性が保証される。
【0020】
従って、移行後のリレーショナルデータモデル20のデータに対しても、レコード間の親子関係や子レコードの順序性に基づいたアクセスを行うことが可能となる。この結果、ネットワークデータモデル10に用いられていたアプリケーションの構造を変えずに、リレーショナルデータモデル20用のアプリケーションを生成することができる。この際、アプリケーションの構造を変えずにすむため、ネットワークデータモデル10用のアプリケーションにおけるアクセス命令の命令文を、1文ずつリレーショナルデータモデル20用のアクセス命令の命令文へ変換することができる。したがって、既存のアプリケーションのアクセス命令を機械的に変換していけば、リレーショナルデータモデル20用のアプリケーションを生成でき、作業が極めて容易である。すなわち、データ移行作業を、少ない作業量で、迅速にかつ安価に行うことができる。
【0021】
なお、移行後レコード21,22に追加される主キー23,24の値には、対応するレコードの一意性を保証するために、主キー23,24の追加処理ごとにカウントアップされるカウンタの値を用いることができる。同様に、セット順キー26の順序性を保証するためにも、セット順キー26が設定される度にカウントアップされるカウンタの値を用いることができる。また、主キー23,24やセット順キー26を設定する日時(タイムスタンプ)を、それらのキーの値として利用してもよい。タイムスタンプを用いれば、常にそのキーを設定した順番が保たれるとともに、別途カウンタを設定する必要もない。ただし、セット順キー26の値にカウンタやタイムスタンプを用いる場合、複数の子レコード間の順序性を保つ必要があるため、データ移行時のセット順キー26の追加処理を常に上位のレコードから順に行わなければならない。
【0022】
以上のような本発明のデータ移行システムは、所定のプログラムをコンピュータで実行させることにより実現できる。また、データ移行のみならず、アプリケーションの変更をコンピュータで行うこともできる。そこで、コンピュータを用いてデータ移行とアプリケーションの変更とを行う実施の形態を、以下に説明する。なお、本発明の処理を記述したプログラムは、コンピュータに付属する各種記録媒体に格納されている。
【0023】
図2は、本発明の実施の形態を示す図である。コンピュータ30は、既存のアプリケーション41を、リレーショナルデータモデル60に適用可能なアプリケーション42へ変換するデータ操作命令変換プログラム31を有している。また、ネットワークデータモデル50をリレーショナルデータモデル60へ変換するプログラムは、レコードA用データ移行プログラム32とレコードB用データ移行プログラム33とに別れている。レコードA用データ移行プログラム32は、図1の中のレコード移行手段1と主キー追加手段2との処理機能を実行するための命令が記述されている。レコードB用データ移行プログラム33は、図1の中の全ての処理機能を実行するための命令が記述されている。
【0024】
図3は、本実施の形態によるデータ移行状況を示す図である。ネットワークデータモデル50には、親レコードとなる「レコードA」に属する2つのレコード51,52がある。ここで、レコード51の内容を「A1」とし、レコード52の内容を「A2」とする。レコード51の子レコードには、「レコードB」に属するレコード53がある。レコード52の子レコードには、「レコードB」に属する2つのレコード54,55がある。ここで、レコード53の内容を「B1」、レコード54の内容を「B2」、レコード55の内容を「B3」とする。 レコードA用データ移行プログラム32は、レコード51,52の形式を変えずに、そのままリレーショナルデータモデル60のレコード61,62とする。同様に、レコードB用データ移行プログラム33は、レコード53〜55の形式を変えずに、そのままリレーショナルデータモデル60のレコード63,64,65とする。
【0025】
次に、レコードA用データ移行プログラム32は、2つのレコード61,62の主キー項目に主キー61a,62aを追加する。同様に、レコードB用データ移行プログラム33は、レコード63〜65に対して主キー63a,64a,65aを追加する。これらの主キー61a,62a,63a,64a,65aは、対応するレコード毎に個別の値が設定される。この例では、それぞれの主キーとして「ta1」、「ta2」、「tb1」、「tb2」、「tb3」が設定されている。
【0026】
レコードB用データ移行プログラム33は、子レコードとなるレコード63〜65のリレーションキー項目に、各レコードの親レコードに追加されている主キーの値をリレーションキー63b,64b,65bとして追加する。この結果、レコード63には、レコード61の主キー61aの値、すなわち「ta1」がリレーションキー63bとして追加される。残りの2つのレコード64,65は、共にレコード62を親レコードとしているため、レコード62の主キー62aの値、すなわち「ta2」がリレーションキー64b,65bとして追加される。なお、レコードの関連性は、ネットワークデータモデル50の各レコードに付加されたポインタ(図中、各レコード間の矢印で示している)を参照することにより判別できる。
【0027】
最後に、レコードB用データ移行プログラム33は、子レコードとなるレコード63〜65のセット順キー項目に、ネットワークデータモデル50の順序性を保証したセット順キー63c,64c,65cを追加する。順序性を崩さないためには、ネットワークデータモデル50の親レコードとなるレコード51,52から、ポインタが指し示すレコードを順番に追っていく。そして、ポインタで示されたレコードから順に番号を振っていく。この例では、セット順キー63c,64c,65cの値には、タイムスタンプを用いるものとする。これにより、まずレコード63には「tbn1」のセット順キー63cが設定される。そして、ポインタの順番通りに、レコード64には「tbn2」のセット順キー64cが設定され、レコード65には「tbn3」のセット順キー65cが設定される。
【0028】
このようにして、リレーショナルデータモデル60のデータが作成される。なお、レコードB用データ移行プログラム33は、ポインタがそのレコードの親レコードを指していることを確認することにより、そのレコードが最後であることを認識する。
【0029】
データの移行を行った後、アプリケーションを変更する。この際、変更するのは、既存のアプリケーションの中のデータ操作命令のみである。以下、アプリケーションの例と、そのアプリケーションによるデータアクセスの流れとを、レコードの検索時と更新時とに分けて説明する。
【0030】
図4は、レコードの検索時のデータアクセス状況を示す図である。図中、左側にネットワークデータモデル50におけるレコードの検索例を示しており、右側にリレーショナルデータモデル60におけるレコードの検索例を示している。
【0031】
この例では、既存アプリケーションに、
(a1)
「MOVE ’A2’ TO エントリキー項目」
「GET ANY レコードA」
(b1)
「GET NEXT ’レコードB’ WITHIN ’A−B’」
(c1)
「GET NEXT ’レコードB’ WITHIN ’A−B’」
というデータ操作命令が含まれていた場合を考える。(a1)は「レコードA」の検索処理(エントリキー項目によるレコードの直接検索)である。この例では、「エントリキー項目」に「A2」を設定し、「レコードA」の中から「A2」のレコード52を取得する。(b1)は、子レコードの順検索である。「レコードB」に属するレコードの中から、(a1)で検索したレコード52の子レコードを検索する。これによりレコード54が取得できる。(c1)は、(b1)の処理と同様に子レコード順検索であり、この検索により「B3」のレコード55が取得できる。
【0032】
このような命令を、データ操作命令変換プログラム31により変更すると、以下のようになる。
(a2)
「MOVE ’A2’ TO エントリキー項目」
「READ レコードA KEY IS エントリキー項目」
(b2)
「MOVE 主キー項目.レコードA TO リレーションキー退避領域」
「MOVE MIN値 TO セット順キー退避領域」
「START レコードB KEY > リレーションキー退避領域 セット順キー退避領域」
「READ レコードB NEXT」
(c2)
「MOVE セット順キー項目.レコードB TO セット順キー退避領域」
「START レコードB KEY > リレーションキー退避領域 セット順キー退避領域」
「READ レコードB NEXT」
(a2)は、レコードAの検索処理であり、(a1)の命令をリレーショナルデータベース制御用の命令に変換したものである。レコードの形式は変更されていないため、検索前の各種キー項目への設定値は既存の処理機構を利用でき、「A2」のレコード62の直接検索が行える。
【0033】
(b2)は、レコードBの検索処理であり、(b1)の命令をリレーショナルデータベース制御用の命令に変換したものである。この命令では、リレーションキー退避領域66とセット順キー退避領域67との2つのレコード退避領域を使用している。これらの退避領域は、レコードB検索用のアプリケーションプログラムの作業領域に定義されている。
【0034】
(b2)の1行目では、(a2)で検索したレコード62の主キー62aの値を、リレーションキー退避領域66に設定している。2行目では、セット順キー退避領域67に下限値(MIN値)を設定している。通常「0」を下限値とする。3行目では、「レコードB」の「ta2」がリレーションキーとして追加されているレコードの中で、セット順キーが最も小さい値のレコードの位置が指定される。この例では、「B2」のレコード64のセット順キー64cが最も小さいため、レコード64の位置が指定される。4行目では、指定された位置のレコード、すなわち「B2」のレコード64を取得する。
【0035】
(c2)は、レコードBの検索処理であり、(c1)の命令をリレーショナルデータベース制御用の命令に変換したものである。1行目では、(b2)で取得したレコード64のセット順キー64cの値をセット順キー退避領域67に設定する。なお、リレーションキー退避領域66の値はそのままである。2行目、3行目は、(b2)の3行目、4行目と同じである。すなわち、2行目の命令によりセット順キーが「tbn2」の次ぎの値「tbn3」であるレコード65の位置が指定され、3行目の命令によりレコード65を取得する。
【0036】
図5は、レコードの更新時のデータアクセス状況を示す図である。図中、左側にネットワークデータモデル50におけるレコードの更新例を示しており、右側にリレーショナルデータモデル60におけるレコードの更新例を示している。
【0037】
この例では、既存アプリケーションに、
(d1)
「MOVE ’A1’ TO エントリキー項目」
「GET ANY レコードA」
(e1)
「STORE ’レコードB’ WITHIN ’A−B’」
というデータ操作命令が含まれていた場合を考える。(d1)では、レコードAの検索(エントリキー項目によるレコードの直接検索)を行う。すなわち、子レコードの追加を行うために、まず親レコードを直接検索する。(e1)では、レコードBの更新(子レコードの追加)を行う。この命令により、「A1」のレコード51の子レコードとして、「B4」のレコード56が追加される。
【0038】
このような命令を、データ操作命令変換プログラム31により変更すると、以下のようになる。
(d2)
「MOVE ’A1’ TO エントリキー項目」
「READ レコードA KEY IS エントリキー項目」
(e2)
「MOVE 主キー項目. レコードA TO リレーションキー退避領域」
「MOVE タイムスタンプ TO セット順キー退避領域」
「WRITE レコードB FROM レコードB出力用の退避領域」
ここで、(d2)の命令は、検索時の(a2)の命令と同様の処理である。(e2)は、レコードBの更新処理(子レコードの追加)であり、(e1)の命令をリレーショナルデータベース制御用の命令に変換したものである。1行目では、リレーションキー退避領域66に、(d2)で検索した親レコードの主キー値を設定する。2行目では、セット順キー退避領域67にタイムスタンプ(tbn4)を設定する。3行目では、レコードB出力用の退避領域のレコードを、レコードBのレコード68として追加する。このとき、このレコード68の主キー68a、リレーションキー68b、セット順キー68cが追加される。リレーションキー68bにはリレーションキー退避領域66の値が設定され、セット順キー68cにはセット順キー退避領域67のタイムスタンプが設定される。
【0039】
以下に、具体的なデータを用いて、データ移行例を示す。
図6は、ネットワークデータモデルと移行後のリレーショナルデータモデルとのデータ構造の例を示す図である。
【0040】
ネットワークデータモデル50には、従業員レコード50aと家族レコード50bとが格納されている。従業員レコード50aには「名前」と「役職」との項目がある。家族レコード50bには、「名前」と「続柄」との項目がある。これらのレコードはポインタt1〜t6により関連付けられている。そして、各レコードには、セット情報50cが付加されている。セット情報50cには、「前」と「後」との項目がある。「前」は、そのレコードの直前のレコードを示すポインタが示されている。「後」は、そのレコードの次の順番のレコードへのポインタが示されている。なお、このセット情報50cは、利用者が意識して設定するものではない。
【0041】
図の例では、「Y田Y夫」には、「Y田1美」という妻と二人の子供がおり、長男の名前が「Y田1朗」、次男の名前が「Y田2朗」である。また、「Y田Y志」には、「Y田1子」という妻がいる。
【0042】
このようなデータをリレーショナルデータモデル60に移行すると、従業員レコード60aと家族レコード60bとがそのままの形式で移行される。セット情報50cは移行されないが、セット情報50cの代りに、従業員レコード60aには主キー60cが追加され、家族レコード60bには主キー60d、リレーションキー60e及びセット順キー60fが追加される。これにより、レコード間の関係を示す情報が保持される。
【0043】
以上のようなデータ移行を行うことにより、各レコードタイプ(「従業員レコード」、「家族レコード」などの別)毎にデータを移行でき、データ移行作業が容易となる。その結果、データ移行プログラムの標準化が可能となっている。
【0044】
また、ネットワークデータモデルにおいて使用されていた既存のアプリケーションのデータ操作命令を1文ずつ置き換えていくことにより、リレーショナルデータモデルのアプリケーションとして利用でき、しかも、変更個所がデータ操作命令に限られるので、変更プログラムの作成が容易である。なお、データ操作命令の変更は簡単であるため、データ操作命令変換プログラムを使わずに利用者が編集プログラム(エディタ)などを用いて手操作で命令を書き換えることも可能である。
【0045】
以上の理由により、データの移行を行った際にシステム全体を変更する必要がなく、ネットワークデータモデルからリレーショナルデータモデルへの移行を安価で、短期間、高品質に行うことが可能となる。
【0046】
【発明の効果】
以上説明したように本発明のデータ移行システムでは、レコード形式を変えずにレコードを移行する手段と、移行したレコードに主キー、リレーションキー及びセット順キーを追加する各手段とを備えたため、移行後もレコードの形式に変更がなく、かつレコード間の親子関係および子レコードの順序性を保持したままリレーショナルデータモデルへ移行することができる。その結果、既存のアプリケーションプログラムの流用が可能となり、データの移行が安価で、短期間、高品質に行うことができる。
【0047】
また、本発明のデータ移行用プログラムを記録した媒体によれば、記録したデータ移行用プログラムをコンピュータで実行させることにより、上記のデータ移行システムをコンピュータによって実現することが可能となる。
【0048】
また、本発明のデータ移行方法によれば、レコード形式を変えずにレコードを移行し、移行したレコードに主キー、リレーションキー及びセット順キーを追加するようにしたため、レコードタイプごとに移行でき、データの移行が容易となる。しかも、移行後のレコードは、移行前のレコードと同じ形式であり、かつレコード間の親子関係および子レコードの順序性が保持されているため、既存のアプリケーションプログラムの流用が可能である。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施の形態を示す図である。
【図3】本実施の形態によるデータ移行状況を示す図である。
【図4】レコードの検索時のデータアクセス状況を示す図である。
【図5】レコードの更新時のデータアクセス状況を示す図である。
【図6】ネットワークデータモデルと移行後のリレーショナルデータモデルとのデータ構造の例を示す図である。
【符号の説明】
1 レコード移行手段
2 主キー追加手段
3 リレーションキー追加手段
4 セット順キー追加手段
10 ネットワークデータモデル
11,12 移行前レコード
20 リレーショナルデータモデル
21,22 移行後レコード
23,24 主キー
25 リレーションキー
26 セット順キー
Claims (5)
- ポインタによりレコード間の関連付けがなされているネットワークデータモデルからリレーショナルデータモデルへ移行するためのデータ移行システムにおいて、
前記ネットワークデータモデルを記憶する第1のデータベースと、
前記リレーショナルデータモデルを記憶する第2のデータベースと、
前記第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして前記第2のデータベースに格納するレコード移行手段と、
前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加する主キー追加手段と、
前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加するリレーションキー追加手段と、
前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加するセット順キー追加手段と、
を有することを特徴とするデータ移行システム。 - 前記セット順キー追加手段は、前記セット順キーの追加処理を行う日時を、前記セット順キーの値とすることを特徴とする請求項1記載のデータ移行システム。
- 前記ネットワークデータモデル用に作成されたアプリケーションプログラムの中に子レコードの順検索命令があると、当該順検索命令を、親レコードの前記主キーと同じ値の前記リレーションキーを持った子レコードの前記セット順キーを参照して子レコードの順検索を行うような命令に変更するデータ操作命令変更手段をさらに有することを特徴とする請求項1記載のデータ移行システム。
- ポインタによりレコード間の関連付けがなされているネットワークデータモデルからリレーショナルデータモデルへ移行するためのデータ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体において、
第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして、前記リレーショナルデータモデルを記憶する第2のデータベースに格納するレコード移行機能と、
前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加する主キー追加機能と、
前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加するリレーションキー追加機能と、
前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加するセット順キー追加機能と、
をコンピュータに実現させるためのデータ移行用プログラムを記録したコンピュータ読み取り可能な記録媒体。 - コンピュータにより、ポインタによりレコード間の関連付けがなされているネットワークデータモデルをリレーショナルデータモデルへ移行するためのデータ移行方法において、
レコード移行手段が、第1のデータベースに記憶された前記ネットワークデータモデルから、レコード間の関連付けを示すポインタを除く移行前レコードを取り出し、取り出された前記移行前レコードを移行後レコードとして、前記リレーショナルデータモデルを記憶する第2のデータベースに格納し、
主キー追加手段が、前記第2のデータベースに記憶された前記移行後レコードに対して、各レコード固有の主キーを追加し、
リレーションキー追加手段が、前記第1のデータベースに記憶された前記ネットワークデータモデル内で前記移行前レコードに付加されているポインタを参照し、前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対して、親レコードとなる前記移行後レコードの主キーの値をリレーションキーとして追加し、
セット順キー追加手段が、前記第1のデータベースに記憶された前記移行前レコードの子レコードとなる前記第2のデータベースに記憶された前記移行後レコードに対し、前記移行前レコードの順序性を保証した値をセット順キーとして追加する、
ことを特徴とするデータ移行方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11672797A JP3734334B2 (ja) | 1997-05-07 | 1997-05-07 | データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 |
US08/985,080 US5930806A (en) | 1997-05-07 | 1997-12-04 | Method and system for data migration from network database to relational database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11672797A JP3734334B2 (ja) | 1997-05-07 | 1997-05-07 | データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10307742A JPH10307742A (ja) | 1998-11-17 |
JP3734334B2 true JP3734334B2 (ja) | 2006-01-11 |
Family
ID=14694311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11672797A Expired - Lifetime JP3734334B2 (ja) | 1997-05-07 | 1997-05-07 | データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5930806A (ja) |
JP (1) | JP3734334B2 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3612105B2 (ja) * | 1995-03-13 | 2005-01-19 | 株式会社東芝 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
US6167430A (en) * | 1998-05-12 | 2000-12-26 | Unisys Corporation | Multicomputer with distributed directory and operating system |
US6338067B1 (en) * | 1998-09-01 | 2002-01-08 | Sector Data, Llc. | Product/service hierarchy database for market competition and investment analysis |
US6405204B1 (en) * | 1999-03-02 | 2002-06-11 | Sector Data, Llc | Alerts by sector/news alerts |
US6938058B2 (en) * | 1999-08-23 | 2005-08-30 | Eisenworld, Inc. | Apparatus and method for transferring information between platforms |
US6963875B2 (en) | 2000-03-23 | 2005-11-08 | General Atomics | Persistent archives |
US6795835B2 (en) * | 2000-05-19 | 2004-09-21 | Centerbeam, Inc. | Migration of computer personalization information |
US6601072B1 (en) | 2000-06-21 | 2003-07-29 | International Business Machines Corporation | Method and system for distribution of application data to distributed databases of dissimilar formats |
US20020087962A1 (en) * | 2000-12-29 | 2002-07-04 | Hudson Charles A. | System and process for migrating enhancements to a system |
US6915314B2 (en) * | 2001-12-11 | 2005-07-05 | Adtech-Gesi, Llc | System for archiving and retrieving data from a database |
US6915287B1 (en) | 2001-12-13 | 2005-07-05 | Novell, Inc. | System, method and computer program product for migrating data from one database to another database |
US6996589B1 (en) | 2002-01-16 | 2006-02-07 | Convergys Cmg Utah, Inc. | System and method for database conversion |
US20030138105A1 (en) * | 2002-01-18 | 2003-07-24 | International Business Machines Corporation | Storing keys in a cryptology device |
KR20040101527A (ko) * | 2002-04-19 | 2004-12-02 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | 원시 애플리케이션 데이터의 관리 시스템 및 방법 |
US7548935B2 (en) * | 2002-05-09 | 2009-06-16 | Robert Pecherer | Method of recursive objects for representing hierarchies in relational database systems |
US6961721B2 (en) * | 2002-06-28 | 2005-11-01 | Microsoft Corporation | Detecting duplicate records in database |
US7584131B1 (en) | 2002-07-31 | 2009-09-01 | Ameriprise Financial, Inc. | Method for migrating financial and indicative plan data between computerized record keeping systems without a blackout period |
CA2523279A1 (en) * | 2003-04-24 | 2004-11-11 | Secureinfo Corporation | Method, system and article of manufacture for data preservation and automated electronic software distribution across an enterprise system |
GB2418507A (en) * | 2003-06-25 | 2006-03-29 | Siemens Med Solutions Health | Data migration and format transformation system |
US7337197B2 (en) * | 2003-11-13 | 2008-02-26 | International Business Machines Corporation | Data migration system, method and program product |
US7685027B2 (en) * | 2003-12-04 | 2010-03-23 | International Business Machines Corporation | Method and system for enterprise-wide migration |
JPWO2005086003A1 (ja) * | 2004-03-08 | 2008-01-24 | アネックスシステムズ株式会社 | データベース・システム |
US7096338B2 (en) * | 2004-08-30 | 2006-08-22 | Hitachi, Ltd. | Storage system and data relocation control device |
US7395396B2 (en) * | 2004-08-30 | 2008-07-01 | Hitachi, Ltd. | Storage system and data relocation control device |
US8812433B2 (en) * | 2005-02-07 | 2014-08-19 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8799206B2 (en) * | 2005-02-07 | 2014-08-05 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8918366B2 (en) * | 2005-02-07 | 2014-12-23 | Mimosa Systems, Inc. | Synthetic full copies of data and dynamic bulk-to-brick transformation |
US8037140B2 (en) * | 2005-03-31 | 2011-10-11 | International Business Machines Corporation | System, method and program product for managing communications pursuant to an information technology (IT) migration |
US20070061386A1 (en) * | 2005-08-30 | 2007-03-15 | International Business Machines Corporation | Method, system and program product for performing an integrated information technology (IT) migration and inventory information collection |
US7326105B2 (en) * | 2005-08-31 | 2008-02-05 | Micron Technology, Inc. | Retaining rings, and associated planarizing apparatuses, and related methods for planarizing micro-device workpieces |
US7650358B2 (en) * | 2005-09-22 | 2010-01-19 | International Business Machines Corportion | AUTO COMMIT n option in a relational database |
US7870110B2 (en) * | 2008-02-27 | 2011-01-11 | International Business Machines Corporation | Method and system for generating a transaction-bound sequence of records in a relational database table |
US7962447B2 (en) * | 2008-12-30 | 2011-06-14 | International Business Machines Corporation | Accessing a hierarchical database using service data objects (SDO) via a data access service (DAS) |
JP2010238123A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 情報複製プログラム、情報複製装置および情報複製方法 |
US8478801B2 (en) * | 2009-05-20 | 2013-07-02 | Vmware, Inc. | Efficient reconstruction of virtual disk hierarchies across storage domains |
US9460189B2 (en) | 2010-09-23 | 2016-10-04 | Microsoft Technology Licensing, Llc | Data model dualization |
US9477698B2 (en) * | 2012-02-22 | 2016-10-25 | Salesforce.Com, Inc. | System and method for inferring reporting relationships from a contact database |
US9953070B1 (en) | 2015-04-05 | 2018-04-24 | Simply Data Now Inc. | Enterprise resource planning (ERP) system data extraction, loading, and directing |
US10148766B2 (en) | 2015-11-12 | 2018-12-04 | Oracle International Corporation | Methods, systems, and computer readable media for subscriber binding repository reconfiguration |
US20170220656A1 (en) * | 2016-02-03 | 2017-08-03 | Adp, Llc | Information Access System |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276867A (en) * | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data storage system with improved data migration |
US5475834A (en) * | 1992-10-26 | 1995-12-12 | International Business Machines Corporation | Integration of migration level two and backup tape processing using multiple inventory entries |
JP2783109B2 (ja) * | 1993-03-04 | 1998-08-06 | 三菱電機株式会社 | データベースシステム退避装置及びデータベースシステム復元装置及びデータベースシステム移行装置 |
US5537585A (en) * | 1994-02-25 | 1996-07-16 | Avail Systems Corporation | Data storage management for network interconnected processors |
JP2682811B2 (ja) * | 1994-03-22 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ記憶管理システム及び方法 |
US5664187A (en) * | 1994-10-26 | 1997-09-02 | Hewlett-Packard Company | Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables |
US5564037A (en) * | 1995-03-29 | 1996-10-08 | Cheyenne Software International Sales Corp. | Real time data migration system and method employing sparse files |
US5809511A (en) * | 1997-01-02 | 1998-09-15 | International Business Machines Corporation | Outboard data migration in a volume stacking library |
-
1997
- 1997-05-07 JP JP11672797A patent/JP3734334B2/ja not_active Expired - Lifetime
- 1997-12-04 US US08/985,080 patent/US5930806A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10307742A (ja) | 1998-11-17 |
US5930806A (en) | 1999-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3734334B2 (ja) | データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 | |
US10885112B2 (en) | System and method for non-programmers to dynamically manage multiple sets of XML document data | |
US10853387B2 (en) | Data retrieval apparatus, program and recording medium | |
US7366741B2 (en) | Method and apparatus for redefining a group of related objects in a relational database system | |
CN109739835A (zh) | 一种数据版本保存方法及装置 | |
JP3842574B2 (ja) | 情報抽出方法および構造化文書管理装置およびプログラム | |
JPH05197533A (ja) | データ項目の管理方法 | |
CA1301366C (en) | Interactive error handling means in database management | |
US11216486B2 (en) | Data retrieval apparatus, program and recording medium | |
JPH01260538A (ja) | 知識ベースシステムにおける経験知識の作成装置 | |
JP2003186670A (ja) | データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム | |
JPH01280831A (ja) | プログラム内データ名称標準化支援方法 | |
JPH07104804B2 (ja) | データベース世代管理方法 | |
JPH04317172A (ja) | ハイパーテキストシステムにおける仮想構造検索方式 | |
JPH1131094A (ja) | データベース管理方法 | |
JP2002099453A (ja) | 構造化データの履歴管理方法 | |
JPH04233664A (ja) | データベース管理システム | |
JPS63214831A (ja) | ワ−クステ−シヨンにおけるフアイルの管理方法 | |
JPH0748185B2 (ja) | 副次問い合わせ編集装置およびその方法 | |
JPS6327927A (ja) | 予約情報検索システムにおけるインデツクス作成方式 | |
Güttler et al. | SCOPELAND 2000: The platform for direct data processing in statistics | |
JPH04111166A (ja) | データ検索装置 | |
JPH07168748A (ja) | データベースシステム | |
JP2002014864A (ja) | データベース連携Webページ構築システム | |
JPS63100547A (ja) | デ−タベ−ス管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050914 |
|
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: 20051018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051018 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081028 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121028 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131028 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |