(57)【特許請求の範囲】
【請求項１】
少なくとも作成すべき関係データベースのデータベース・サイズを含むデータベース・サイズ設計データ，上記関係データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズを含むテーブル設計データ，上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズ，ならびに一の項目のデータが他の項目のデータを参照する場合に上記他の項目のデータが存在することを保証するための制約条件データを含む項目設計データを備えたデータベース設計データと，作成される関係データベースに登録されるべき登録データの入力を受付ける入力装置，
上記データベース設計データに含まれるデータのうち記述されるべきデータとその記述位置とを特定する記述をもつテンプレート・データを含むデータベース設計データ用スクリプト作成マクロ，および作成される関係データベースを構成するテーブルに含まれる項目中に，上記登録データを格納する登録データ用スクリプト・ファイルを作成するための登録データ用スクリプト作成マクロを記憶した記憶装置，および
上記記憶装置に記憶されているデータベース設計データ用スクリプト作成マクロおよび登録データ用スクリプト作成マクロを実行し，かつこれらのスクリプト作成マクロの実行によって生成されるスクリプト・ファイルを実行する処理装置を備え，
上記処理装置は，
上記データベース設計用スクリプト作成マクロを実行することによって，上記テンプレート・データ中の記述にしたがって，上記データベース設計データに含まれるデータをテンプレート・データの記述特定位置に記述して，関係データベースを構築するためのテーブル作成スクリプト・ファイル，および参照データの存在の有無をチェックするための制約条件設定スクリプト・ファイルを生成し，
上記登録データ用スクリプト作成マクロを実行することによって，作成される関係データベースを構成するテーブルに含まれる項目中に登録データを格納するための登録データ用スクリプト・ファイルを生成し，
生成された上記テーブル作成スクリプト・ファイルを実行することによって，上記データベース・サイズ設計データに含まれるデータベース・サイズを有する関係データベースであって，上記テーブル設計データに含まれるテーブル名およびテーブル・サイズを持つテーブルを有し，上記テーブルが上記項目設計データに含まれる項目名および項目サイズを有している関係データベースを構築し，
生成された登録データ用スクリプト・ファイルを実行することによって，構築された関係データベースを構成するテーブルに含まれる項目に，上記登録データを格納し，
生成された制約条件設定スクリプト・ファイルを実行することによって，上記データベース設計データの項目設計データ中に含まれている上記制約条件データに基づいて，登録データが格納された関係データベースに対して一の項目のデータが他の項目のデータを参照する場合の上記他の項目のデータの存在の有無をチェックするものである，
関係データベース構築装置。
【請求項２】
入力装置が，少なくとも作成すべき関係データベースのデータベース・サイズを含むデータベース・サイズ設計データ，上記関係データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズを含むテーブル設計データ，上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズ，ならびに一の項目のデータが他の項目のデータを参照する場合に上記他の項目のデータが存在することを保証するための制約条件データを含む項目設計データを備えたデータベース設計データと，作成される関係データベースに登録されるべき登録データの入力を受付け，
記憶装置に，上記データベース設計データに含まれるデータのうち記述されるべきデータとその記述位置とを特定する記述をもつテンプレート・データを含むデータベース設計データ用スクリプト作成マクロ，および作成される関係データベースを構成するテーブルに含まれる項目中に，上記登録データを格納する登録データ用スクリプト・ファイルを作成するための登録データ用スクリプト作成マクロを記憶させておき，
処理装置が，
上記データベース設計用スクリプト作成マクロを実行することによって，上記テンプレート・データ中の記述にしたがって，上記データベース設計データに含まれるデータをテンプレート・データの記述特定位置に記述して，関係データベースを作成するためのテーブル作成スクリプト・ファイル，および参照データの存在の有無をチェックするための制約条件設定スクリプト・ファイルを作成し，
上記登録データ用スクリプト作成マクロを実行することによって，作成される関係データベースを構成するテーブルに含まれる項目中に登録データを格納するための登録データ用スクリプト・ファイルを生成し，
生成された上記テーブル作成スクリプト・ファイルを実行することによって，上記データベース・サイズ設計データに含まれるデータベース・サイズを有する関係データベースであって，上記テーブル設計データに含まれるテーブル名およびテーブル・サイズを持つテーブルを有し，上記テーブルが上記項目設計データに含まれる項目名および項目サイズを有している関係データベースを構築し，
生成された登録データ用スクリプト・ファイルを実行することによって，構築された上記関係データベースを構成するテーブルに含まれる項目に上記登録データを格納し，
生成された上記制約条件設定スクリプト・ファイルを実行することによって，登録データが格納された関係データベースに対して上記データベース設計データの項目設計データ中に含まれている上記制約条件データに基づいて，一の項目のデータが他の項目のデータを参照する場合の上記他の項目のデータの存在の有無をチェックする，
関係データベース構築方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，データベース構築のためのスクリプト・ファイル生成装置，より具体的には，データベース管理システムに用いられるデータベースを構築するスクリプト・ファイルを生成するための装置および方法，ならびに生成されたスクリプト・ファイルを実行することによってデータベースを構築する装置および方法に関する。
【０００２】
【発明の背景】
データベース管理システム（データベース・マネジメント・システム：ＤＢＭＳ）に用いられるデータベースは，データベースのデータ容量，データベースに格納されるテーブルの種類，各テーブルに格納される項目，各項目ごとのレコード長等を定義したデータベース設計データに基づいて，スクリプト・ファイルを作成し，作成されたスクリプト・ファイルに基づいて構築される。
【０００３】
データベース設計データとスクリプト・ファイルとは別ファイルで管理される。このため，データベース設計データが変更された場合には，スクリプト・ファイルも変更する必要がある。データベース設計データが頻繁に変更された場合には，スクリプト・ファイルに対する変更作業が遅れたり，誤った内容でスクリプト・ファイルが変更されることがある。
【０００４】
【発明の開示】
この発明は，データベースの構築に用いられるスクリプト・ファイルを，データベース設計データから自動的に生成することを目的とする。
【０００５】
またこの発明は，自動的に生成されたスクリプト・ファイルを実行することによってデータベースを構築するデータベース構築装置および方法を提供することを目的とする。
【０００６】
この発明はさらに，作成されるデータベースが相互に参照制約を持つデータを含むものであっても，データベース作成時においては参照制約を不問にすることを目的とする。
【０００７】
この発明によるスクリプト・ファイル生成装置は，少なくとも作成すべきデータベースのデータベース・サイズ，上記データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズ，ならびに上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズを含むデータベース設計データ，所定のデータが埋込まれることによって上記データベースの構築のためのスクリプト・ファイルが構成されるテンプレート・データを含むスクリプト作成マクロ，ならびに上記データベース設計データに含まれるデータを上記スクリプト作成マクロの上記テンプレート・データの所定の位置に記述し，データが記述されたスクリプト作成マクロを実行することによってデータベースの構築のためのスクリプト・ファイルを生成するスクリプト・ファイル生成手段を備えている。
【０００８】
この発明によるスクリプト・ファイル生成方法は，少なくとも作成すべきデータベースのデータベース・サイズ，上記データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズ，ならびに上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズを含むデータベース設計データを入力し，所定のデータが埋込まれることによって上記データベースの構築のためのスクリプト・ファイルが構成されるテンプレート・データを含むスクリプト作成マクロの所定の位置に，上記データベース設計データに含まれるデータを記述し，データが記述されたスクリプト作成マクロを実行することによってデータベースの構築のためのスクリプト・ファイルを生成するものである。
【０００９】
この発明によると，テンプレート・データが用意され，このテンプレート・データの所定の位置にデータベース設計データ中のデータが記述（挿入）されることによってスクリプト・ファイルが生成される。生成されるスクリプト・ファイルは，データベース設計データの内容を反映するものとなる。生成されたスクリプト・ファイルを実行することによって，上記データベース設計データに記述された通りの上記データベースが構築される。
【００１０】
この発明によると，データベース設計データに変更が生じた場合であっても，その変更を反映したスクリプト・ファイルが生成されるので，スクリプト・ファイルが実行されることによって作成されるデータベースがデータベース設計データに沿うものになる。データベース設計データの変更が漏れなくデータベースに反映される。データベース設計データの変更の内容を確実にデータベースに反映させることができる。
【００１１】
一実施態様では，データベース設計データは制約条件データを含み，上記制約条件データに基づいて，構築されたデータベースについての論理的エラーの有無をチェックするチェック手段がさらに備えられる。
【００１２】
一般的に，データベース管理システムに利用されるデータベースにおいて，あるデータＡが別のデータＢを参照するような場合に，データＢが存在することを保証する制約が設けられる。あるデータＡが別のデータＢを参照する場合，データＢを登録した後にデータＡを登録する必要がある。この発明によると，データベースを構築した後に，構築されたデータベースについての論理的エラー（上述の場合，データＡがあるにも関わらずデータＢが未だ存在しない）の有無がチェックされる。データベースの構築のときにデータＢを先に登録する必要があるといったことを考慮する必要がない。
【００１３】
【実施例の説明】
ＣＰＵ，メモリ，ハードディスク，入力装置，出力装置等を備えたコンピュータ・システムにおいて，そのハードディスクにデータベースおよびデータベース管理プログラムを記憶させることによって，コンピュータ・システムをデータベース管理システム（データベース・マネジメント・システム）として機能させることができる。データベース管理システムでは，複数の利用者が同時にデータベースを更新，検索等したとしても効率よく管理すること，データベースに記憶されている重要なデータに対するアクセスをユーザごとに許可または制限すること，ハードウエアに何らかの障害が発生した場合に障害の直前の状態にデータベースの内容を復元すること等を実現するシステムである。
【００１４】
この実施例において説明する装置（データベース構築装置）は，上述のデータベース管理システムにおいて用いられるデータベースを構築する装置である。
【００１５】
図１は，データベース管理システムに用いられるデータベースを構築する装置（データベース構築装置）のハードウエア構成を示すブロック図である。
【００１６】
データベース構築装置１は，ＣＰＵ２，入力装置３，表示装置４，通信装置５，メモリ６，ＦＤドライブ７およびハードディスク８を備えたコンピュータ・システムによって構成される。ハードディスク８には，データベース設計データ用マクロ（プログラム），初期登録データ用マクロ（プログラム），本番移行データ用マクロ（プログラム），スクリプト一括実行プログラムおよびデータ整合性チェック・プログラムが記憶されている。
【００１７】
後述するように，入力装置３，通信装置５等を通じて，データベース構築装置１に，データベース設計データ，初期登録データおよび本番移行データが入力される。これらのデータから，スクリプト・ファイル（スクリプトが記述されたファイル）が作成される。作成されたスクリプト・ファイルが実行，すなわち，スクリプト・ファイルに記述されたスクリプトがＣＰＵ２によって実行されることによって，データベース管理システムに用いられるデータベースが構築される。
【００１８】
図２は，データベース構築装置１に入力される３種類のデータと，これらのデータを入力データとし，それらのデータにマクロ処理（上述のデータベース設計データ用マクロ，初期登録データ用マクロ，および本番移行データ用マクロによる処理）が行われることによって出力されるスクリプト・ファイルの種類とを示している。
【００１９】
データベース設計データからは，テーブル作成スクリプト・ファイル，権限設計スクリプト・ファイル，主キー設定スクリプト・ファイル，トリガ作成スクリプト・ファイル，および制約条件設定スクリプト・ファイルが作成される。
【００２０】
初期登録データからは，初期データ（初期登録）スクリプト・ファイルが作成される。
【００２１】
本番移行データからは，初期データ（本番移行）スクリプト・ファイルが作成される。
【００２２】
これらのスクリプト・ファイルは，必ずしも一つのファイルを意味するものではない。スクリプト・ファイルの種類によっては，データベース構築装置１によって作成されるデータベースに含まれるテーブルまたは入力されるデータごとに作成されるものもある。これらのデータおよびスクリプト・ファイルの詳細については，後述する。
【００２３】
制約条件設定スクリプト・ファイルを除く上述のスクリプト・ファイルが，スクリプト・ファイル一括実行プログラムによって一括して（すべて）実行される。スクリプト・ファイルが実行されることによって，ハードディスク８にデータベースが構築される。制約条件設定スクリプト・ファイルは，データ整合性チェック・プログラムによって実行される。
【００２４】
はじめに，データベース構築装置１に入力される３種類のデータ（データベース設計データ，初期登録データおよび本番移行データ）について説明する。
【００２５】
（１）データベース設計データ
図３〜図６は，データベース設計データの一例を示している。データベース設計データには，データベース管理システムにおいて用いられるべき（作成されるべき）データベース自体の基本的な構造（データベース構造）（バイト数，アクセス権限等）を規定するもの（図３および図４），およびデータベースを構成する各種テーブル（このテーブルにデータ（実データ）が格納される）についての構造（テーブル構造）を規定するもの（図５および図６）とが含まれる。データベースに複数のテーブルが作成される場合には，テーブル構造を規定するデータベース設計データは複数作成される。
【００２６】
図３は，作成されるデータベースのバイト数（ハードディスクを占有する領域の大きさ）（データベースの大きさ）を規定する設計データ（データベース・サイズ設計データ）である。「平均」および「最大」の項目を持つ。
【００２７】
「平均」欄には，作成するべきデータベースを利用するデータベース管理システムが稼動している間に平均的に必要となると思われるサイズが示されている。「最大」欄には，同様にデータベース管理システムの稼働中に最大必要となると思われるサイズが示されている。
【００２８】
図４は，作成されるデータベースの利用権限を規定する設計データ（権限設定データ）である。
【００２９】
権限設定データは，「ユーザ名」欄と「権限」欄とを含む。「ユーザ名」欄に権限内容を設定すべきユーザ（データベース管理システムのユーザ）のユーザ名が記述される。「権限」欄に権限内容が記述される。図４の例は，「public」ユーザに，すべての権限を許可するという指定である。
【００３０】
図５は，データベースに格納される各種テーブルの属性を規定する設計データ（テーブル設計データ）の一例である。図５は銀行の情報を管理するテーブル（銀行テーブル）のテーブル設計データを示している。
【００３１】
テーブル設計データには，テーブル名，レコード数（平均および最大），テーブルのバイト数（平均および最大），および１レコードのバイト数が規定される。
【００３２】
「テーブル名」欄には，テーブル名が記述される。「レコード数」欄の平均には，データベースを利用するデータベース管理システムが稼動している間に平均的に予想されるレコード数が記載される。「レコード数」欄の最大には，予想されるレコード数の最大値を記載する。
【００３３】
「バイト数」欄の平均には，このテーブルに必要と予想される平均的なバイト数が，「バイト数」欄の最大にはこのテーブルに必要となる最大のバイト数がそれぞれ記述される。「バイト数」欄の１レコードには，このテーブルの１レコードに必要となるバイト数が記載される。
【００３４】
すべてのテーブルについてのバイト数（平均）を合計したものが，図３に示すデータベース・サイズ設計データの平均欄のバイト数と一致する。すべてのテーブルについてのバイト数（最大）を合計したものが，図３に示すデータベース・サイズ設計データの最大欄のバイト数と一致する。
【００３５】
図６は，データベースに格納される各種テーブルに含まれる項目の設計データ（項目設計データ）の一例である。図６は，図５に示す銀行テーブルに含まれる各項目のそれぞれについての項目設計データを示している。
【００３６】
項目設計データは，項目名，データタイプ，整数バイト数，小数バイト数，属性，主キー，インデックス，ゼロ・データの可否，項目説明および制約条件に関するデータを含む。
【００３７】
「項目名」は，個々の項目の名称である。
【００３８】
「データタイプ」は各項目のデータの種別である。たとえば，charなら固定長文字列というデータ種別を意味する。
【００３９】
「整数バイト数」は，上述のデータ・タイプが真数データ型（varchar） の場合の，整数部の桁数である。データ・タイプが真数データ型以外で文字列型以外の場合には，必要なバイト数を記載する。文字列型の場合には，このバイト数は記録できる文字数を意味する。
【００４０】
「小数バイト数」は，データ・タイプが真数データ型の場合の，小数部の桁数である。真数データ型以外の場合は０が記述される。
【００４１】
「属性」欄には，データの種類（半角，全角等）が記述される。
【００４２】
「主キー」欄には，主キーとして採用するべき項目が示される。○印または◎印が示される。○印は，非クラスタ化主キーを意味する。◎印は，クラスタ化主キーを意味する。
【００４３】
「インデックス」欄には，インデックスとして採用する項目が示される。○印または◎印が示される。○印は非クラスタ化インデックスを，◎印はクラスタ化インデックスを意味する。
【００４４】
クラスタ化された主キーやインデックスは，一つのテーブルに一つまでしか存在しない。二つ以上ある場合には，いずれか一方を非クラスタ化する（◎印を○印に代える）必要がある。クラスタ化主キーおよびクラスタ化インデックスがないテーブルが存在してもよい。
【００４５】
「ゼロ可否」欄には，０（ゼロ）値を許すかどうかが設定される。ここでは，０を許さない場合には「否」と記述され，０を許す場合には「可」と記述されている。
【００４６】
「項目説明」欄には，項目の説明が記載される。
【００４７】
「制約条件」欄には，項目に対する制約条件が記載される。制約条件については後述する。
【００４８】
（２）初期登録データ
図７は，初期登録データの一例を示している。
【００４９】
初期登録データは作成されるべきデータベースに含まれるテーブルごとに作成される。初期登録データはテーブル名欄を含み，このテーブル名欄に上述のデータベース設計データにおいて定義されたテーブル名が記載される。これにより，いずれのテーブルについての初期登録データであるかが明示される。
【００５０】
初期登録データは，上述のテーブルごとに作成される項目設計データ（図６）において設計された項目ごとの具体的なデータである。上述したように，銀行テーブルに銀行コード，銀行漢字，銀行名カナ，備考欄，更新日時および更新プログラムの項目を設けることが設計されている場合には，この銀行テーブルの初期登録データには，これらの項目のそれぞれについての具体的なデータが格納される。
【００５１】
（３）本番移行データ
初期登録データと基本的に同じである。初期登録データと本番移行データの違いは次の通りである。
【００５２】
初期登録データは，作成されるデータベースを利用するデータベース管理システムが稼動する為に必要最小限の事項を記述したデータである。このため初期登録データには，データベース管理システムの稼動に必須のコード等が記述されている。これに対して，本番移行データは，旧来のデータベース管理システムから引継ぐデータ類である。旧来のデータベース管理システムが存在しないような，全くの新しいデータベース管理システムについては，本番移行データは必ずしも必要とするものではない。
【００５３】
上述したように，データベース設計データ，初期登録データおよび本番移行データが，これらのデータのそれぞれのためのマクロによって処理されることによって，各種のスクリプト・ファイルが作成される。
【００５４】
図８は，各種スクリプト・ファイルの作成のためのプログラムの処理の流れを示すフローチャートである。このプログラムは，上述のマクロ，すなわち，データベース設計データ用マクロ，初期登録データ用マクロおよび本番移行データ用マクロを順次実行するプログラム（マクロ順次実行プログラム）である。
【００５５】
ユーザは，データベース設計データ，初期登録データおよび本番移行データを準備する。これらのデータは，データベース構築装置１のハードディスク８に記憶させておく。もちろん，データベース構築装置１にネットワーク（ＬＡＮ，ＷＡＮ等）によって接続された他のコンピュータのハードディスクに記憶させたものを用いてもよい。
【００５６】
データベース構築装置１のユーザがスクリプト・ファイル作成プログラムを起動する。初めに，データベース設計データ用マクロ（プログラム）が実行される（ステップ21）。
【００５７】
データベース設計データが読込まれる。たとえば，作成すべきデータベースについてのデータベース設計データが記憶されているアドレスがデータベース構築装置１のユーザによって指定される。アドレスが指定されると，その指定されたアドレスに記憶されているデータベース設計データがデータベース構築装置１のメモリ６に読み込まれる。メモリ６に読み込まれたデータベース設計データを処理対象にして，データベース設計データ用マクロによる処理が開始される（ステップ22）。
【００５８】
上述したように，データベース設計データ用マクロは，データベース設計データに基づいて，テーブル作成スクリプト・ファイル，権限設定スクリプト・ファイル，主キー設定スクリプト・ファイル，トリガ設定スクリプト・ファイルおよび制約条件設定スクリプト・ファイルを作成する。
【００５９】
データベース設計データ用マクロは，メモリ６に読込まれたデータベース設計データ中の一部のデータを，上述のスクリプト・ファイルのそれぞれについてのテンプレートの所定の位置に記述するように，プログラミングされている。
【００６０】
図９〜図13はスクリプト・ファイルの内容の一例を示している。左端の数字は行番号でありスクリプトそのものには含まれない。また，１行目〜８行目は，いずれもコメントでありスクリプトではない。
【００６１】
図９は，図５に示す銀行テーブルに関するテーブル設計データおよび図６に示す銀行テーブルの各項目に関する項目設計データに基づいて作成されるテーブル作成スクリプト・ファイルの一例を示している。
【００６２】
９行目から17行目が，作成すべき「銀行テーブル」の構築のためのスクリプトである。他のテーブルについての設計データ（テーブル設計データおよび項目設計データ）が用意されていれば，そのテーブルについてのスクリプトが，第１８行目以降に順次記述されることになる。
【００６３】
たとえば，第９行目には，「CREATE TABLE 銀行（」 と記述されている。この記述は，データベース設計データ用マクロが，データベース設計データ中のテーブル設計データからテーブル名を読出し，読出したテーブル名を 「CREATE TABLE 」と「（」との間に記述した結果作成されるスクリプト記述である。このように，データベース設計データ用マクロは，データベース設計データから読み出したデータの一部を，テンプレートの所定の箇所に記述する（埋め込む）処理を行う。これにより，各種スクリプト・ファイルが順次作成される。
【００６４】
図10は，権限設定データ（図４参照）に基づいて作成される権限設定スクリプト・ファイルの一例である。
【００６５】
図11は，項目設計データ（図６参照）に基づいて作成される主キー設定スクリプト・ファイルの一例である。
【００６６】
図12は，トリガ作成スクリプト・ファイルの一例である。トリガ作成スクリプト・ファイルは，テーブル中のデータが追加または更新されたときに，追加または更新したときの日時を記録するための処理を，データベース管理システムに行わせるためのファイルである。
【００６７】
図13は，項目設計データ（図６参照）に記述される制約条件に基づいて作成される制約条件設定スクリプト・ファイルの一例である。
【００６８】
図８に戻って，データベース設計データ用マクロによる処理が終了すると，次に初期登録データ用マクロが起動する（ステップ23）。初期登録データがメモリ６に読み込まれる。
【００６９】
図14は，初期データ（初期登録）バッチ・ファイルの記述例である。初期データ（初期登録）バッチ・ファイルは，初期登録データに含まれている。図15は，初期登録データ用マクロによって生成される初期データ（初期登録）スクリプト・ファイルの一例である。
【００７０】
初期登録データ用マクロによって生成される初期データ（初期登録）スクリプト・ファイルは，初期登録データが多数の場合には複数出力される。その場合に，漏らすことなく初期登録データをマクロ処理するプログラムが，図14に示す初期データ（初期登録）バッチ・ファイルである。初期データ（初期登録）バッチ・ファイルが実行されることによって，初期登録データ（図７参照）に対して初期登録データ用マクロによるマクロ処理が行われる。図15に示すような初期データ（初期登録）スクリプト・ファイルが生成される（ステップ24）。初期登録データが複数ある場合には，初期データ（初期登録）スクリプト・ファイルは複数生成される（初期データ（初期登録）スクリプト・ファイル群）。
【００７１】
図８に戻って，初期登録データ用マクロの処理が終了すると，本番移行データ用マクロが起動する（ステップ25）。本番移行データがメモリに読み込まれる。本番移行データに基づいて，図15に示すものと同様の初期データ（本番移行）スクリプト・ファイルが生成される（ステップ26）。
【００７２】
マクロ順次実行プログラム（マクロ）によって作成された各種スクリプト・ファイルは，データベース構築装置１のハードディスク８に記憶される。次にスクリプト・ファイル一括実行プログラムの処理に進む。
【００７３】
図16は，スクリプト・ファイル一括実行プログラムの処理の流れを示すフローチャートである。
【００７４】
データベース構築装置１のユーザがスクリプト・ファイル一括実行プログラムの起動命令を入力すると，スクリプト・ファイル一括実行プログラムがハードディスク８から読み出されてＣＰＵ２に読み込まれる（ステップ31）。
【００７５】
「テーブル作成スクリプト」，「権限設定スクリプト」，「主キー設定スクリプト」および「トリガ作成スクリプト」が実行される。データベース管理システムにおいて利用されるデータベースに，テーブルが作成され（ステップ32），各テーブルのアクセス権限が設定され（ステップ33），主キーが設定され（ステップ34），トリガが作成される（ステップ35）。
【００７６】
初期データ（初期登録）スクリプト・ファイル（群）が，ハードディスク８に記憶されているかどうかが判断される（ステップ36）。上述した初期登録データ用マクロによる処理が成功していれば（行われていれば），ハードディスク８には初期データ（初期登録）スクリプト・ファイル（群）が記憶されている。ハードディスク８に初期データ（初期登録）スクリプト・ファイル（群）が記憶されている場合には（ステップ36で「存在する」），初期データ（初期登録）スクリプト・ファイル（群）が実行される。初期データ（初期登録）スクリプト・ファイル（群）に格納されているデータ（銀行名等）が，上述のテーブル作成スクリプト・ファイルによって作成されたテーブルに格納される（ステップ37）。
【００７７】
初期データ（本番移行）スクリプト・ファイル（群）が，ハードディスク８に記憶されているかどうかが判断される（ステップ38）。ハードディスク８に初期データ（本番移行）スクリプト・ファイル（群）が記憶されている場合には（ステップ38で「存在する」），初期データ（本番移行）スクリプト・ファイル（群）が実行される。初期データ（本番移行）スクリプト・ファイル（群）に格納されているデータ（銀行名等）が，上述のテーブル作成スクリプトによって作成されたテーブルに格納される（ステップ39）。
【００７８】
初期データ（初期登録）スクリプト・ファイルまたは初期データ（本番移行）スクリプト・ファイルがハードディスク８に記憶されていない場合には，スクリプト・ファイル一括実行プログラムの処理が終了する（ステップ36で「存在しない」，ステップ38で「存在しない」）。
【００７９】
以上の処理によりデータベース管理システムに利用されるデータベースが構築される。その後にデータ整合性チェック・プログラムが起動する。図17はデータ整合性チェック・プログラムの処理を表すフローチャートである。
【００８０】
データ整合性チェック・プログラムは，データベース管理システムが持つデータ整合性チェック機構を活用する。データベース設計データに記述されたデータに，制約条件に合わないデータがあれば検出する処理である。
【００８１】
図18は，スクリプト・ファイル一括実行プログラムおよびデータ整合性チェック・プログラムの具体的なプログラム記述を表している。
【００８２】
１行目は，必要のない表示を行わない為の指示である。
【００８３】
２行目〜９行目はコメントである。
【００８４】
10行目〜13行目は，変数の設定であり「サーバ名」，「データベース名」，「ユーザー名」，「パスワード」が記述されている。
【００８５】
15行目もコメントである。
【００８６】
17行目はフラグとして変数ＦＬＧを使うために初期化している。
【００８７】
18行目および19行目は，既存のデータベース構成を一度削除する為の処理である。「07_drop_constraint.sql」および「10_Drop.sql」という２つのスクリプトが使用されている。２つのスクリプトの役割は，それぞれ「制約条件削除」および「テーブル削除」である。テーブルを削除する前に制約条件を削除するのは，制約条件がある場合にテーブルを削除できない場合があるためである。
【００８８】
21行目〜23行目で，「テーブル作成スクリプト」が実行され，テーブルが作成される。２１行目で画面に「Create」と表示することが記述されている。テーブル作成処理に入ったことを示す。２２行目は「00_Create.log」というログファイルに，「Create」と書き出すことでテーブル作成処理に入ったという記録を残すことを意味する。
【００８９】
23行目で実際に「01_Create.sql」というファイル名の「テーブル作成スクリプト」が実行される。以下，同様の構成で，24行目〜26行目で権限設定，27行目〜29行目で主キー設定，30行目〜32行目でトリガ作成の各処理が行われる。
【００９０】
34行目では，初期データ（初期登録）スクリプト・ファイル（群）が存在するかどうかをチェックし，存在しなければ処理を50行目にジャンプする。
【００９１】
35行目および36行目で画面とログファイルに記録を残し，37行目は，「05_default_0000.bat」という図14に示したようなプログラムの実行を意味する。
【００９２】
38行目では，「初期データ（初期登録）」を登録した状態を表すようにFLG変数を変更する。
【００９３】
40行目から44行目は「初期データ（本番移行）」を登録する為に同様の処理を行う。
【００９４】
46行目では，初期データを登録したかどうかを判定している。初期データを登録しなかった場合には，50行目へジャンプする。初期データを登録していた場合には，データ整合性チェック処理を行うことになる。
【００９５】
データ整合性チェックの処理は，47行目〜49行目に記述されている。
【００９６】
制約条件が追加される（図17：ステップ41）。
【００９７】
制約条件の追加時にエラーがあった場合（図17：ステップ42で「失敗」）には，ログファイル「00_Create.log」に記録が残ることになる（ステップ43）。制約条件の追加時に成功すると，データ整合性チェック処理が終了する（ステップ42で「成功」）。
【００９８】
以上の処理を経て，図19に示すようにデータベース管理システムに用いられるデータベースが構築される。
【図面の簡単な説明】
【図１】データベース構築装置のハードウエア構成を示すブロック図である。
【図２】データベース設計データ，初期登録データおよび本番移行データと，これらのデータがマクロ処理されることによって作成される各種スクリプト・ファイルとの関係を示す。
【図３】データベース・サイズ設計データの一例を示す。
【図４】権限設定データの一例を示す。
【図５】テーブル設計データの一例を示す。
【図６】項目設計データの一例を示す。
【図７】初期登録データの一例を示す。
【図８】スクリプト・ファイル作成プログラムの処理の流れを示すフローチャートである。
【図９】テーブル作成スクリプト・ファイルの内容の一例を示す。
【図１０】権限設定スクリプト・ファイルの内容の一例を示す。
【図１１】主キー設定スクリプト・ファイルの内容の一例を示す。
【図１２】トリガ作成スクリプト・ファイルの内容の一例を示す。
【図１３】制約条件設定スクリプト・ファイルの内容の一例を示す。
【図１４】初期データ（初期登録）バッチ・ファイルの内容の一例を示す。
【図１５】初期データ（初期登録）スクリプト・ファイルの内容の一例を示す。
【図１６】スクリプト・ファイル一括実行プログラムの処理の流れを示すフローチャートである。
【図１７】データ整合性チェック・プログラムの処理の流れを示すフローチャートである。
【図１８】スクリプト・ファイル一括実行プログラムおよびデータ整合性チェック・プログラムの具体例を示す。
【図１９】構築されたデータベースを概念的に示す。
【符号の説明】
１  データベース構築装置
２  ＣＰＵ
３  入力装置
８  ハードディスク
【図１】
0004112282.tif 000002
【図２】
0004112282.tif 000003
【図３】
0004112282.tif 000004
【図４】
0004112282.tif 000005
【図５】
0004112282.tif 000006
【図６】
0004112282.tif 000007
【図７】
0004112282.tif 000008
【図８】
0004112282.tif 000009
【図９】
0004112282.tif 000010
【図１０】
0004112282.tif 000011
【図１１】
0004112282.tif 000012
【図１２】
0004112282.tif 000013
【図１３】
0004112282.tif 000014
【図１４】
0004112282.tif 000015
【図１５】
0004112282.tif 000016
【図１６】
0004112282.tif 000017
【図１７】
0004112282.tif 000018
【図１８】
0004112282.tif 000019
【図１９】
0004112282.tif 000020