(57)【要約】【課題】  データベース定義の移行及びデータベースアクセス処理の移行を実現する。【解決手段】  企業αにおいてａデータベースシステムからｘデータベースシステムに移行する場合に、ａデータベースシステム定義変換処理２１において、ａデータベースシステムのデータベース定義ファイル２２を入力し、新システムのレコード仕様書を作成し、これを新システムレコード仕様書ファイル２３に格納する。新データベース定義変換処理２４は、新システムレコード仕様書２３を入力し企業αのｘデータベース定義ファイル２５と企業αのｘシステムコピー句２６とを生成する。新システムアクセスルーチン生成処理２７では新システムレコード仕様書２３とパラメータファイル２８を入力し、企業αのｘデータベースシステムアクセスルーチン２９を生成する。【選択図】  図１
2006293796.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク型データベースにおける各レコードの階層構造及び各レコードの実体の定義を記載したファイルからなる組織毎のデータベース定義ファイルに基づいて、それぞれの組織のシステムにおけるデータ構造に依存しない各レコードの仕様を１つの共通フォーマットで記述する新システムレコード仕様書を作成するステップと、
該新システムレコード仕様書から各レコードのそれぞれを表形式で定義するためのＳＱＬ文を記載し、リレーショナルデータベースにおける各レコードの実体を定義する組織毎の新データベース定義ファイルと、該各レコードのそれぞれの形式を定義する組織毎のコピー句と、を作成するステップと
を有することを特徴とするデータベース移行方法。
【請求項２】
全てのデータベースアクセスパターン処理の雛型を記述する新システムアクセスルーチン雛型を準備し、前記データベース定義ファイルに基づいて作成され前記新システムアクセスルーチン雛型に記述された仮記号に対して一括して処理すべき従属レコードの範囲の判定を行う際に参照する情報を有するパラメータファイルを作成するステップと、
前記新システムレコード仕様書ファイルと前記パラメータファイルとに基づいて前記新システムアクセスルーチン雛型を変形・加工し、新システムアクセスルーチンを生成するステップと
を有することを特徴とする請求項１に記載のデータベース移行方法。
【請求項３】
前記新システムアクセスルーチンを生成するステップは、
前記新システムレコード仕様書と前記パラメータファイルとを読込むステップと、
前記新システムデータベースアクセスルーチン雛型を１行ずつ読込み最終行まで以下の処理を繰り返すステップと、を有することを特徴とする請求項２に記載のデータベース移行方法。
（１）  読込んだ行に一意の文字列（仮記号）が存在する場合は、新システムレコード仕様書及びパラメータファイルを参照し、当該処理が必要であるかチェックし、当該処理（読込んだ行の処理）が必要であれば、変換・加工する。
Ａ．一意の文字列（仮記号）が「一連の処理の開始」を意味する場合、新システムレコード仕様書、及びパラメータファイルに従って、新システムアクセスルーチンへの出力を開始する。
Ｂ．一意の文字列（仮記号）がレコード名、子レコード名、主キーの数など、各企業（システム）のデータベースごとの情報であれば、新システムレコード仕様書、及びパラメータファイルに従って置換し、新システムアクセスルーチンに出力する。
Ｃ．一意の文字列（仮記号）が「一連の処理の終了」の場合は、新システムアクセスルーチンへの出力を終了する。
同様の処理の出力が複数回必要な場合は、Ａ〜Ｃを繰り返す（子レコードが複数存在する場合やキー情報が複数存在する場合など）。
Ｄ．読み込んだ行に一意の文字列（仮記号）が存在しない場合は、そのまま出力する。
【請求項４】
データベース内の各レコードの階層構造を定義したスキーマ名と、データベースでの単位であるレコードの名称であるレコード名と、レコードに含まれるデータの並びである項目と、レコード名を検索する場合のキーとなる項目であるキー項目と、を含む複数の旧システムのデータベース定義ファイルに基づいて、レコード名と、レコードの通し番号を示す項番と、項目が定義される階層の深さを表すレベルと、項目のデータのタイプを示す属性と、項目がレコード内で占める容量を表す桁数と、項目がキー項目となっているか否かを示す主キー及び副キーと、を有し、システムにおけるデータ構造に依存しない共通フォーマットで記述される１つの新システムレコード仕様書を作成するステップと、
該新システムレコード仕様書から各レコードのそれぞれを表形式で定義するためのＳＱＬ文を記載し、リレーショナルデータベースにおける各レコードの実体を定義する１つの新データベース定義ファイルを作成するステップと、
前記新システムレコード仕様書から各レコードに含まれる項目、属性の並びを定義するコピー句を作成するステップと
を有することを特徴とするデータベース移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース移行方法に関し、特に、異なるオペレーティングシステム間または同一のオペレーティングシステム間におけるアプリケーション資源及びデータベース管理システム移行における、データベース定義情報の移行方法とデータベースアクセス処理の移行方法に関する。
【背景技術】
【０００２】
従来、データベースの移行方法として、例えば、下記の特許文献１及び特許文献２に記載の技術が知られている。
【０００３】
下記特許文献１に記載の技術は、異なるオペレーティングシステム間においてデータベースや表の移行作業を可能にする。一方のデータベースの表に関する定義情報を格納する表定義情報ファイルを作成し、又は、データを格納するデータファイルを作成するとともに、他方のデータベースの管理情報が格納する管理情報登録ファイルを作成する。これらの情報に基づき、表やデータを他方のデータベース内に格納するデータベース移行方法及びデータベース移行装置である。
【０００４】
また、下記特許文献２に記載の技術は、既存のリレーショナルデータベースをオブジェクトデータベースへ移行するためのデータベース移行システムおよびその処理プログラムを記憶した記憶媒体に関する。
【０００５】
【特許文献１】特開平１０−１８７５１０号公報
【特許文献２】特開２０００−２０７２５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に記載の技術は、データベースや表の移行作業に関するものである。図２０は、従来のデータベースシステムの移行の概略構成を示すブロック図である。図２０に示すように、従来のデータベースシステムの移行処理においては、例えば、企業αのａデータベースシステムからｘデータベースシステムに移行する場合、ａデータベースシステムからｘデータベースシステムへの専用のデータベース定義変換処理１により、ａデータベース定義ファイル２を自動変換し、ｘデータベースシステムのデータベース定義ファイル３を作成する。作成した企業αのｘデータベース定義ファイル３をもとに、企業αのｘデータベースシステム専用のデータベースアクセスルーチン４を手作業５により作成する。同様に、企業βでｂデータベースシステムからｙデータベースシステムに移行する場合、ｂデータベースシステムからｙデータベースシステムへの専用のデータベース定義変換処理６でｂデータベース定義ファイル７を自動変換し、ｙデータベースシステムのデータベース定義ファイル８を作成する。作成した企業βのｙデータベース定義ファイル８をもとに、企業βのｙデータベースシステム専用のデータベースアクセスルーチン９を手作業１０により作成する。
【０００７】
このように、特許文献１に記載の従来のデータベース移行処理では、各データベース管理システム毎の専用のデータベース定義変換処理と、各企業毎の手作業によるデータベースアクセスルーチンを作成する必要がある。
【０００８】
このように、企業毎にオペレーティングシステムやデータベース管理システムが異なれば、そのデータベース定義方法やデータベースアクセス処理も異なる。従って、旧システムのアプリケーション資源を自動変換しても、新システムのデータベース管理システムへ移行することはできない。すなわち、データベース定義の移行及びデータベースアクセス処理の移行を実現するものではない。
【０００９】
上記特許文献２に記載の技術は、リレーショナルデータベースをオブジェクトデータベースへ移行するデータベース移行システムであるが、データベース定義の移行及びデータベースアクセス処理の移行を実現するものではない。
【００１０】
本発明の目的は、データベース定義の移行及びデータベースアクセス処理の移行を実現することである。
【課題を解決するための手段】
【００１１】
旧システムのデータベース定義ファイルから新システムのデータベース定義ファイルを作成し、旧システムのデータベース定義ファイルから新システムのコピー句を作成し、旧システムのデータベース定義ファイルから新システムのデータベースアクセスルーチン作成しこのデータベースアクセスルーチンを起動するようにアプリケーションプログラムを自動変換することにより、旧システムから新システムへアプリケーションプログラムを自動的に移行し、さらに、多種多様なデータベース管理システムの移行を可能とする。
【００１２】
上記目的を達成するために、本発明は、旧システムのデータベース定義ファイルを入力として、旧システムのデータベース定義からパラメータファイルと新システムのレコード仕様書ファイルを作成する手段と、レコード仕様書ファイルを入力として新システムのＤＢ定義ファイルを作成する手段と、レコード仕様書ファイルを入力として新システムのコピー句を作成する手段と、レコード仕様書ファイルとパラメータファイルを入力として新システムのデータベースアクセスルーチンを作成する手段を備える。
【００１３】
新システムのレコード仕様書ファイルは、旧システムのデータベース管理システム、新システムのデータベース管理システムのいずれにも依存しないレコード仕様書として格納し、多種のデータベース管理システムからの移行、多種のデータベース管理システムへの移行が柔軟に行えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、旧システムのデータベース定義ファイルを入力として、旧システムのデータベース定義から新システムのレコード仕様書ファイルとパラメータファイルを作成し、新システムのレコード仕様書ファイルから新システムのＤＢ定義ファイルと新システムのコピー句、及び、新システムのレコード仕様書ファイルとパラメータファイルからデータベースアクセスルーチンを作成することができる。このデータベースアクセスルーチンを起動するようにアプリケーションプログラムを自動変換することにより、旧システムから新システムへアプリケーションプログラムを機械的に移行することを可能とする。
【００１５】
新システムのレコード仕様書ファイルは、旧システムのデータベース管理システム、新システムのデータベース管理システムのいずれにも依存しないレコード仕様書として格納されるため、多種のデータベース管理システムからの移行、多種のデータベース管理システムへの移行を柔軟に行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図１は、本発明の一実施の形態によるデータベース移行システムの一構成例を示すブロック図である。図１に示すように、本実施の形態によるデータベース移行システムは、コンピュータを利用したデータベース移行システムであり、企業αにおいてａデータベースシステムからｘデータベースシステムに移行する場合に、ａデータベースシステム定義変換処理２１において、ａデータベースシステムのデータベース定義ファイル２２を入力し、新システムのレコード仕様書を作成し、これを新システムレコード仕様書ファイル２３に格納する。新データベース定義変換処理２４は、新システムレコード仕様書２３を入力し企業αのｘデータベース定義ファイル２５と企業αのｘシステムコピー句２６とを生成する。新システムアクセスルーチン生成処理２７では新システムレコード仕様書２３とパラメータファイル２８を入力し、企業αのｘデータベースシステムアクセスルーチン２９を生成する。この処理の詳細に関しては図２を参照して後述する。
【００１７】
図３は、ネットワーク型データベースの構成例とデータベース移行の基本方式を示す図である。図３の左図に示すように、ネットワーク型ＤＢのデータ構造例は、レコードＡと、レコードＢと、レコードＣと、レコードＤと、のそれぞれを関連付けしたネットワーク型（ツリー構造）の構成を有している。図３の右図は、レコードＡのリレーショナルデータベースの例を示すＡ表と、レコードＢのリレーショナルデータベースの例を示すＢ表と、レコードＣのリレーショナルデータベースの例を示すＣ表と、を有している。例えば、Ａ表は、Ａキー部とＡデータ部とを有しており、Ｂ表はネットワーク型（ツリー）の上位のレコードのキーであるＡキー部と、Ｂキー（通番）部とＢデータ部とを有している。Ｃ表は、ネットワーク型（ツリー）の上位のレコードのキーであるＡキー部とＣキー部とＣデータ部とを有している。
【００１８】
上記のような階層型のツリー構造等を有するネットワーク型ＤＢのデータ構成を有する場合を例にしてデータベースの移行について説明する（ただしネットワーク型ＤＢは必ずしも階層型のツリー構造を有しなくても良く、リング状の構造等を有していても良い。）。
【００１９】
まず、以下に、各ファイル及び処理について図１から図１３までを参照して具体的に定義する。
１）図４及びから図６までに示すように、ａデータベース定義ファイル２２は、企業αのネットワーク型データベースにおける各レコードの階層構造（スキーマ）及び各レコードの実体の定義を記載したファイルである。ａデータベース定義ファイル２２は、スキーマ名とレコード名とキー項目と項目とを有している。図４に示すように、スキーマは、データベース内の各レコードの階層構造を定義したものであり、スキーマ名ＳＣＨＥＭＡ０１は当該データベースのスキーマの名称である。レコード名ＲＥＣＯＲＤ−Ａはデータベースでの検索等の単位であるレコードの名称であり、キー項目ＫＡＩＩＮＢＡＮＧＯは当該レコードを検索する場合にキーとなる項目であり、項目ＫＡＩＩＮＢＡＮＧＯ、ＫＡＩＩＮＫＡＩＳＹＡＭＥＩ、ＫＡＩＩＮＫＡＮＪＩＳＨＩＭＥＩは、当該レコードＡに含まれるデータの並びである。但し、ＲＥＣＯＲＤ−Ｂ（レコードＢ）のように、キー項目が存在せず項目のみが含まれるレコードも存在する。図４に示すような構成により、データベース内の各レコードの階層構造及び各レコードの構成を理解し整理することができる。図５はレコードＡの定義であるＡ表のデータ構造、レコードＢのＢ表、レコードＣのＣ表、レコードＤのＤ表の具体的なデータ構造を示すテーブルであり、データベース定義などの論理的な構造のイメージを示す図である。
【００２０】
２）図６に示すように、新システムレコード仕様書２３は、レコード名と、当該項目のレコード内通し番号（並び順）を表す項番と、当該項目が定義される階層の深さを表すレベルと、当該項目のデータタイプ（数字、文字等）を表す属性と、当該項目がレコード内で占める容量（バイト数等）を表す桁数と、当該項目がキー項目となっているか否かを示す主キーと、副キーと、当該項目の具体的設定内容を示す設定内容と、を有している。新システムレコード仕様書２３は、各企業のデータベース構造の相違には依存せず、各レコードの詳細仕様を１つの共通のフォーマットで記述できるという特徴を有している。
【００２１】
３）ｘデータベース定義ファイル２５は、レコードＡ、Ｂ、Ｃ…のそれぞれを表形式で定義するためのＳＱＬ文を記載したものである。図７及び図８は、図１に示すｘデータベース定義などの定義内容のイメージを示す図である。図７（Ａ）に示す企業αのｘデータベース定義ファイル２５は、図７（Ｂ）、（Ｃ）、図８（Ａ），（Ｂ）に示すデータ構成を有している。図７（Ｂ）から図８（Ｂ）までは、それぞれレコードＡの表を作成するＳＱＬを示す図である。例えば図７（Ｂ）に示すように、レコードＡの表を作成するＳＱＬとして、項目名と、属性と、桁数と、が定義されている。このように、ｘデータベース定義ファイル２５は、リレーショナルデータベース（ＲＤＢ）における各レコードの実体を定義するという特徴を有している。
【００２２】
４）図９は、ｘシステムコピー句のイメージを示す図である。図９に示すように、コピー句ファイルは、レコード毎のコピー句を格納している。コピー句は、構成として各レコードに含まれる項目、属性の並びを定義するという特徴を有している。尚、コピー句は各レコードの型式（入れ物）を定義するだけであり、ｘデータベース定義ファイルのように、レコードの各項目に格納されている実体（中味）を記述するものではない。
【００２３】
５）図１０、図１１に示すように、パラメータファイル２８の内容は、レコード名と、従属情報区分と、アクセス単位名と、スキーマ名と、従属レコード情報等と、を有している。ここでアクセス単位名とは、アクセスする単位を任意に決定した時の集まりを表し、例えば、レコードＡ，Ｂ，Ｃを一度に読み込む場合にＡ，Ｂ，Ｃを「ＳＥＴ０１」と定義する。後述する新システムデータベースアクセスルーチン処理雛型を加工して各企業の新データベースの各レコードアクセスルーチンの生成を行う際に、新システムアクセスルーチン生成処理が、雛型に記述された仮記号に対して一括して処理すべきレコード（従属レコード）の範囲（処理の繰り返し回数）の判定を行う際に役に立つファイルである。
【００２４】
企業αの場合と同様に、企業βにおいてｂデータベースシステムからｙデータベースシステムに移行する場合に、ｂデータベースシステム定義変換処理３０においてｂデータベースシステムのデータベース定義ファイル３１を入力し、新システムのレコード仕様書を作成し、新システムレコード仕様書ファイル２３に格納する。新データベース定義変換処理２４においては、新システムレコード仕様書２３を入力し企業βのｙデータベース定義ファイル３２と企業βのｙシステムコピー句３３とを生成する。新システムアクセスルーチン生成処理２７では新システムレコード仕様書２３とパラメータファイル２８を入力し、企業βのｙデータベースシステムアクセスルーチン３４を生成する。
【００２５】
このように、企業αのａデータベースシステムのデータベース定義ファイル２２、企業βのｂデータベースシステムのデータベース定義ファイル３１ともに、データベース管理システムに依存しない新システムレコード仕様書ファイル２３に変換し、新データベース定義変換処理２４により新データベースシステムのデータベース定義ファイルとコピー句とを生成する。また、新システムレコード仕様書ファイル２３とパラメータファイル２８とを入力することにより各々の新データベースアクセスルーチン２９、３４等を作成できる。企業γに関しても企業α、βと同様の処理を行う。
【００２６】
次に、図２及び図１２、図１３を参照しつつ、新システムデータベースアクセスルーチン雛形を利用した新システムアクセスルーチン生成処理のシステム構成について説明する。
【００２７】
図２は、本実施の形態による新システムデータベースアクセスルーチン雛形を利用した新システムアクセスルーチン生成処理システムの全体構成例を示す図である。図２に示すように、本実施の形態による新システムアクセスルーチン生成処理システムは、図１に示す新システムアクセスルーチン生成処理２７に対して、新システムレコード仕様書２３とパラメータファイル２８と新システムデータベースアクセスルーチン雛形２０とから新システムアクセスルーチン生成処理２７を行う。処理の詳細については後述する。新システムアクセスルーチン生成処理２７により、企業αのｘデータベースアクセスルーチン２９と、企業βのｙデータベースアクセスルーチン３４と、企業γのｚデータベースアクセスルーチン３４と、を作成する。すなわち、新システムアクセスルーチン生成処理２７では、新システムレコード仕様書とパラメータファイルの情報とに基づいて、新システムデータベースアクセスルーチン雛型２０を変換・加工し、新システムアクセスルーチンを生成する（２７）。
【００２８】
図１２及び図１３は、新システムデータベースアクセスルーチン雛型２０のＣＯＢＯＬの例を示す図である。新システムデータベースアクセスルーチン雛型２０には全てのＤＢアクセスパターン処理の雛型を記述しており、新システムデータベースアクセスルーチン雛型２０上で各企業固有の部分などは一意の文字列（ここでは「仮記号」と称している）で記述している。仮記号は、置換処理（？？で処理を挟む）、展開処理（＄＄で処理を挟む）等の処理を行う旨とその処理の内容を示す記号である。例えば以下のような仮記号に基づく処理が含まれる。
【００２９】
例１）レコード名、子レコード名、主キーの数など、各企業（システム）で固有の情報は一意の文字列（仮記号）で表記している。例えば、レコード名の仮記号を「??RECMEI??」とするなどが該当する。
【００３０】
例２）一連の処理の前後には、一意の文字列（仮記号）を記述している。例えば、子レコードの存在するレコードで必要な処理の前に「$$KO-REC-STA」を記述し、後には「$$KO-REC-ＥＮＤ」を記述するなどが該当する。
【００３１】
図１２及び図１３に示すように、インデックス番号“０００３００”では、“？？ＲＥＣＭＥＩ？？”の仮記号により各企業（システム）固有の情報に変換する。インデックス番号“０１０７００”では、仮記号＠を用いて、“＠＠ＳＯＲＴＫＥＹ−ＷＯＲＫ−ＡＲＥＡ”により、必要なソートキー全ての退避ワークエリアを作成する。インデックス番号“０１１３００”では、仮記号＄＄＄を用いて、“＄＄＄ＡＣＳＰＩＮ−１５−ＥＮＤ”により、各ＳＴＡからＥＮＤのくくりで必要部分のみを「データベースアクセスルーチン」として出力する。処理が２カ所必要な場合は、２回展開を行う。例えば、子レコードが２種類あり、情報の退避が２回必要な場合、キーが複数ありキーのエリアが複数必要な場合などが該当する。
【００３２】
次に、本実施の形態によるデータベース移行システムの処理について図面を参照しつつ説明を行う。図１４は、ａデータベースシステム定義変換処理２１、ｂデータベースシステム定義変換処理３０などの本実施の形態によるデータベースシステム定義変換処理の手順の流れを示すフローチャート図である。
【００３３】
まず、処理を開始し（ＳＴＡＲＴ）、旧システムのデータベース定義ファイル（図４）を読み込む（ステップ４１）。次いで、入力した旧システムのデータベース定義を解析する（ステップ４２）。旧システムのデータベース定義ファイルの全レコードに関して上記の処理が完了するまで、ステップ４１とステップ４２とを繰り返す（ステップ４３）。旧システムのデータベース定義ファイルの全レコードの処理が完了した後、旧システムのデータベース定義情報から、上述のように、各企業のデータベース構造の相違には影響されず、各レコードの詳細仕様を１つの共通フォーマットで記述することで、企業α、βなどのデータベース管理システムに依存しない新システムのレコード仕様書（図６参照）を作成し、新システムレコード仕様書ファイル２３内に格納する（ステップ４４）。一方、旧システムのデータベース定義情報から排他情報などをパラメータファイルに格納する（ステップ４５）。上述のようにパラメータファイルは、新システムデータベース処理雛形を加工して各新データベースの各レコードアクセスルーチンの生成を行う際に利用される。
【００３４】
次に、新データベース定義変換処理２４について説明する。図１５は本実施の形態による新データベース定義変換処理２４の処理手順を示すフローチャート図である。図１５に示すように、本実施の形態による新データベース定義変換処理においては、処理を開始し（ＳＴＡＲＴ）、新システムレコード仕様書ファイル２３を読み込み（ステップ５１）、新システムレコード仕様書から新データベース定義を作成し（２４）、新データベース定義ファイル（２５、３２など）に格納する（ステップ５２）。上述のように、新データベース定義ファイルは、レコードＡ、Ｂ、Ｃ…のそれぞれを表形式で定義するためのＳＱＬ文により記述され、リレーショナルデータベースにおける各レコードの実体を定義する。次いで、新システムのレコード仕様書から新システムのコピー句を作成し、新システムコピー句ファイル（２６、３３など）に格納する（ステップ５３）。スキーマ内の全レコード仕様書の処理が完了するまでステップ５１からステップ５３までの処理を繰り返し（ステップ５４）、処理を終了する。コピー句は、各レコードに含まれる項目、属性の並びを定義するものであり、中味を記述するものではない。
【００３５】
次に、新システムアクセスルーチン生成処理２５について説明する。図１６は、本実施の形態による新システムアクセスルーチン生成処理２５の処理手順を示すフローチャート図である。
【００３６】
新システムアクセスルーチン生成処理２５は、図２に示す新システムレコード仕様書２３、パラメータファイル２８、新システムデータベースアクセスルーチン雛型２０から、新システムレコード仕様書のレコード名単位に新システムアクセスルーチンを生成する処理である。まず、処理を開始し（ＳＴＡＲＴ）、新システムレコード仕様書を読み込み（ステップ６１）、パラメータファイルを読込む（ステップ６２）。次いで、新システムデータベースアクセスルーチン雛型を１行読込む。新システムデータベースアクセスルーチン雛型の最終行まで以下の処理を繰り返す。ステップ６４において、新システムレコード仕様書ファイルの全レコードの処理が完了したかどうかを判定する。完了していない場合には（Ｎ）、ステップ６１に戻り、完了している場合には（Ｙ）処理を終了する。次に、図１７から図１９までを参照して、新システムデータベースアクセスルーチン雛形変換処理６３の詳細について説明する。
【００３７】
図１７から図１９までに示すように、まず、処理を開始し（ステップ７１：ＳＴＡＲＴ）、初期処理（一連の処理展開回数を“１”とし、開始位置を初期化する。）７２を行う。ステップ７３において、新システムデータベースアクセスルーチン雛型ファイルを読み込み、ステップ７４において読み込んだ行に各企業（システム）で固有の情報である仮記号が存在するか否かを判断する。
【００３８】
読込んだ行に一意の文字列（仮記号）が存在する場合は（Ｙ）ステップ７５に進み、読込んだ行に一意の文字列（仮記号）が存在しない場合は（Ｎ）後述するステップ８６（図１８）に進む。ステップ７５において、仮記号は一連の処理の「開始」を意味するものか否かを判断する。開始を意味する場合には（Ｙ）ステップ７６に進み、意味しない場合にはステップ７８（図１８）に進む。ステップ７６においては、処理を展開する必要があるか否かを退避する（一連の処理展開回数と開始位置をスタックする）。次いで、ステップ７７に進み、何回展開する必要があるかを設定する（一連の処理展開回数を設定する。展開が不要の場合は０とする。）。複数回展開する場合に備えて、開始位置を記憶しておく（新システムデータベースアクセスルーチン雛型ファイルレコード位置を開始位置に設定する）。次いで、ステップ７８に進む。
【００３９】
ステップ７８において、仮記号は一連の処理の「終了」を意味するのか否かを判断する。終了を意味する場合には（Ｙ）ステップ７９に進み、終了を意味しない場合は（Ｎ）ステップ８２に進む。ステップ７９において、同様の展開を繰り返す必要があるか（一連の処理の展開回数は２以上か）を判断する。同様の展開を繰り返す必要がある場合には（Ｙ）、ステップ８１に進み、退避したレコード位置を次回読み込み時のレコード位置とし、ステップ８２に進む。同様の展開を繰り返す必要がない場合には（Ｎ）、ステップ８０に進み、ステップ７６でスタックした内容を取り出し、一連の処理展開回数を設定し、ステップ８２に進む。ステップ８２においては、仮記号は一連の処理の「開始」、「終了」のどちらでもないかどうかを判断し、どちらでもない場合には（Ｙ）ステップ８３に進み、処理を展開する必要があるか否か（一連処理展開回数は１以上か否か）を判定する。展開する必要がある場合には（Ｙ）、ステップ８４に進み仮記号を置換し、ステップ８５に進み新システムルーチンファイルに出力し、ステップ８３において処理を展開する必要がない場合（Ｎ）とともステップ８８に進む（図１９）。
【００４０】
ステップ８６においては、処理を展開する必要があるか（一連の処理展開回数は１以上か否か）を判断する。処理を展開する必要がある場合にはステップ８７に進み、新システムアクセスルーチンファイルに出力し、ステップ８８に進む。ステップ８６においてＮｏの場合にもステップ８８に進む。
【００４１】
ステップ８８において。新システムデータベースアクセスルーチン雛型ファイルを読み込み、ステップ８９において新システムデータベースアクセスルーチン雛型ファイルレコードなしか否かを判定する。新システムデータベースアクセスルーチン雛型ファイルレコードなしの場合には、ステップ９０に進み処理を終了し、ありの場合には（Ｎ）ステップ７４に戻る。
【００４２】
以上の処理をまとめると、新システムレコード仕様書２３及びパラメータファイル２８を参照し、当該処理（読込んだ行の処理、または、読込んだ行から始まる一連の処理）が必要であるかチェックし、当該処理（読込んだ行の処理）が必要であれば、変換・加工する。ここで、
Ａ．一意の文字列（仮記号）が「一連の処理の開始」を意味する場合、新システムレコード仕様書、及びパラメータファイルに従って、新システムアクセスルーチンへの出力を開始する。
Ｂ．一意の文字列（仮記号）がレコード名、子レコード名、主キーの数など、各企業（システム）のデータベースごとの情報であれば、新システムレコード仕様書、及びパラメータファイルに従って置換し、新システムアクセスルーチンに出力する。
Ｃ．一意の文字列（仮記号）が「一連の処理の終了」の場合は、新システムアクセスルーチンへの出力を終了する。
同様の処理の出力が複数回必要な場合は、Ａ〜Ｃを繰り返す（子レコードが複数存在する場合やキー情報が複数存在する場合など）
Ｄ．読み込んだ行に一意の文字列（仮記号）が存在しない場合は、そのまま出力する。
【００４３】
以上の処理により、新システムレコード仕様書、パラメータファイル、新システムデータベースアクセスルーチン雛型から、新システムレコード仕様書のレコード名単位に新システムアクセスルーチン２９、３４等を生成することができる。
【００４４】
以上に説明したように、本実施の形態によるデータベース移行システムにおいては、新データベース定義ファイルを統一処理により作成することができる。また、統一的なファイルとレコード仕様書でそれぞれのデータベースアクセスルーチンをデータベース定義ファイルと独立して作成することができる。
【００４５】
以上、本実施の形態によるデータベース移行システムによれば、旧システムのデータベース定義ファイルを入力として、旧システムのデータベース定義から新システムのレコード仕様書ファイルとパラメータファイルを作成し、新システムのレコード仕様書ファイルから新システムのＤＢ定義ファイルと新システムのコピー句、及び、新システムのレコード仕様書ファイルとパラメータファイルからデータベースアクセスルーチンを作成することができる。
【００４６】
このデータベースアクセスルーチンを起動するようにアプリケーションプログラムを自動変換することにより、旧システムから新システムへアプリケーションプログラムを機械的に移行することが可能となる。
【００４７】
また、新システムのレコード仕様書ファイルは、旧システムのデータベース管理システム、新システムのデータベース管理システムのいずれにも依存しないレコード仕様書として格納されるため、多種のデータベース管理システムからの移行、多種のデータベース管理システムへの移行が統一的かつ柔軟に行えるという利点がある。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施の形態によるデータベース移行システムの一構成例を示すブロック図である。
【図２】本実施の形態による新システムデータベースアクセスルーチン雛形を利用した新システムアクセスルーチン生成処理システムの全体構成例を示す図である。
【図３】ネットワーク型データベースの構成例とデータベース移行の基本方式を示す図である。
【図４】ａデータベース定義ファイルの構成例を示す図である。
【図５】レコードＡの定義であるＡ表のデータ構造、レコードＢのＢ表、レコードＣのＣ表、レコードＤのＤ表の具体的なデータ構造を示すテーブルであり、データベース定義などの論理的な構造のイメージを示す図である。
【図６】新システムレコード仕様書の構成例を示す図である。
【図７】図１に示すｘデータベース定義などの定義内容のイメージを示す図である。
【図８】図１に示すｘデータベース定義などの定義内容のイメージを示す図である。
【図９】ｘシステムコピー句のイメージを示す図である。
【図１０】パラメータファイルの内容例を示す図である。
【図１１】パラメータファイルの内容例を示す図である。
【図１２】新システムデータベースアクセス処理雛型の例を示す図である。
【図１３】図１２に続く図である。
【図１４】データベースシステム定義変換処理手順を示す図である。
【図１５】新データベースシステム定義変換処理手順を示す図である。
【図１６】新システムアクセスルーチン生成処理手順を示す図である。
【図１７】新システムデータベースアクセスルーチン雛形変換処理を示す図である。
【図１８】新システムデータベースアクセスルーチン雛形変換処理を示す図である。
【図１９】従来のデータベースシステムの移行の概略構成を示すブロック図である。
【図２０】一般的なデータベースシステムの移行の概略構成を示すブロック図である。
【符号の説明】
【００４９】
２０‥新システムデータベースアクセスルーチン雛型、
２１…データベースシステム定義変換処理、２２…旧システムのデータベース定義ファイル、２３…新システムレコード仕様書ファイル、２４…新データベース定義変換処理、２５…新システムのデータベース定義ファイル、２６…新システムのコピー句、２７…新システムアクセスルーチン生成処理、２８…パラメータファイル、２９…新システムのデータベースアクセスルーチン、３０…データベースシステム定義変換処理、３１…旧システムのデータベース定義ファイル、３２…新システムのデータベース定義ファイル、３３…新システムのコピー句、３４…新システムのデータベースアクセスルーチン。 
【図１】
2006293796.tif 000003
【図２】
2006293796.tif 000004
【図３】
2006293796.tif 000005
【図４】
2006293796.tif 000006
【図５】
2006293796.tif 000007
【図６】
2006293796.tif 000008
【図７】
2006293796.tif 000009
【図８】
2006293796.tif 000010
【図９】
2006293796.tif 000011
【図１０】
2006293796.tif 000012
【図１１】
2006293796.tif 000013
【図１２】
2006293796.tif 000014
【図１３】
2006293796.tif 000015
【図１４】
2006293796.tif 000016
【図１５】
2006293796.tif 000017
【図１６】
2006293796.tif 000018
【図１７】
2006293796.tif 000019
【図１８】
2006293796.tif 000020
【図１９】
2006293796.tif 000021
【図２０】
2006293796.tif 000022