JP4112282B2 - 関係データベース構築装置および方法 - Google Patents
関係データベース構築装置および方法 Download PDFInfo
- Publication number
- JP4112282B2 JP4112282B2 JP2002153236A JP2002153236A JP4112282B2 JP 4112282 B2 JP4112282 B2 JP 4112282B2 JP 2002153236 A JP2002153236 A JP 2002153236A JP 2002153236 A JP2002153236 A JP 2002153236A JP 4112282 B2 JP4112282 B2 JP 4112282B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- database
- item
- script file
- script
- 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 - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【技術分野】
この発明は,データベース構築のためのスクリプト・ファイル生成装置,より具体的には,データベース管理システムに用いられるデータベースを構築するスクリプト・ファイルを生成するための装置および方法,ならびに生成されたスクリプト・ファイルを実行することによってデータベースを構築する装置および方法に関する。
【0002】
【発明の背景】
データベース管理システム(データベース・マネジメント・システム:DBMS)に用いられるデータベースは,データベースのデータ容量,データベースに格納されるテーブルの種類,各テーブルに格納される項目,各項目ごとのレコード長等を定義したデータベース設計データに基づいて,スクリプト・ファイルを作成し,作成されたスクリプト・ファイルに基づいて構築される。
【0003】
データベース設計データとスクリプト・ファイルとは別ファイルで管理される。このため,データベース設計データが変更された場合には,スクリプト・ファイルも変更する必要がある。データベース設計データが頻繁に変更された場合には,スクリプト・ファイルに対する変更作業が遅れたり,誤った内容でスクリプト・ファイルが変更されることがある。
【0004】
【発明の開示】
この発明は,データベースの構築に用いられるスクリプト・ファイルを,データベース設計データから自動的に生成することを目的とする。
【0005】
またこの発明は,自動的に生成されたスクリプト・ファイルを実行することによってデータベースを構築するデータベース構築装置および方法を提供することを目的とする。
【0006】
この発明はさらに,作成されるデータベースが相互に参照制約を持つデータを含むものであっても,データベース作成時においては参照制約を不問にすることを目的とする。
【0007】
この発明によるスクリプト・ファイル生成装置は,少なくとも作成すべきデータベースのデータベース・サイズ,上記データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズ,ならびに上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズを含むデータベース設計データ,所定のデータが埋込まれることによって上記データベースの構築のためのスクリプト・ファイルが構成されるテンプレート・データを含むスクリプト作成マクロ,ならびに上記データベース設計データに含まれるデータを上記スクリプト作成マクロの上記テンプレート・データの所定の位置に記述し,データが記述されたスクリプト作成マクロを実行することによってデータベースの構築のためのスクリプト・ファイルを生成するスクリプト・ファイル生成手段を備えている。
【0008】
この発明によるスクリプト・ファイル生成方法は,少なくとも作成すべきデータベースのデータベース・サイズ,上記データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズ,ならびに上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズを含むデータベース設計データを入力し,所定のデータが埋込まれることによって上記データベースの構築のためのスクリプト・ファイルが構成されるテンプレート・データを含むスクリプト作成マクロの所定の位置に,上記データベース設計データに含まれるデータを記述し,データが記述されたスクリプト作成マクロを実行することによってデータベースの構築のためのスクリプト・ファイルを生成するものである。
【0009】
この発明によると,テンプレート・データが用意され,このテンプレート・データの所定の位置にデータベース設計データ中のデータが記述(挿入)されることによってスクリプト・ファイルが生成される。生成されるスクリプト・ファイルは,データベース設計データの内容を反映するものとなる。生成されたスクリプト・ファイルを実行することによって,上記データベース設計データに記述された通りの上記データベースが構築される。
【0010】
この発明によると,データベース設計データに変更が生じた場合であっても,その変更を反映したスクリプト・ファイルが生成されるので,スクリプト・ファイルが実行されることによって作成されるデータベースがデータベース設計データに沿うものになる。データベース設計データの変更が漏れなくデータベースに反映される。データベース設計データの変更の内容を確実にデータベースに反映させることができる。
【0011】
一実施態様では,データベース設計データは制約条件データを含み,上記制約条件データに基づいて,構築されたデータベースについての論理的エラーの有無をチェックするチェック手段がさらに備えられる。
【0012】
一般的に,データベース管理システムに利用されるデータベースにおいて,あるデータAが別のデータBを参照するような場合に,データBが存在することを保証する制約が設けられる。あるデータAが別のデータBを参照する場合,データBを登録した後にデータAを登録する必要がある。この発明によると,データベースを構築した後に,構築されたデータベースについての論理的エラー(上述の場合,データAがあるにも関わらずデータBが未だ存在しない)の有無がチェックされる。データベースの構築のときにデータBを先に登録する必要があるといったことを考慮する必要がない。
【0013】
【実施例の説明】
CPU,メモリ,ハードディスク,入力装置,出力装置等を備えたコンピュータ・システムにおいて,そのハードディスクにデータベースおよびデータベース管理プログラムを記憶させることによって,コンピュータ・システムをデータベース管理システム(データベース・マネジメント・システム)として機能させることができる。データベース管理システムでは,複数の利用者が同時にデータベースを更新,検索等したとしても効率よく管理すること,データベースに記憶されている重要なデータに対するアクセスをユーザごとに許可または制限すること,ハードウエアに何らかの障害が発生した場合に障害の直前の状態にデータベースの内容を復元すること等を実現するシステムである。
【0014】
この実施例において説明する装置(データベース構築装置)は,上述のデータベース管理システムにおいて用いられるデータベースを構築する装置である。
【0015】
図1は,データベース管理システムに用いられるデータベースを構築する装置(データベース構築装置)のハードウエア構成を示すブロック図である。
【0016】
データベース構築装置1は,CPU2,入力装置3,表示装置4,通信装置5,メモリ6,FDドライブ7およびハードディスク8を備えたコンピュータ・システムによって構成される。ハードディスク8には,データベース設計データ用マクロ(プログラム),初期登録データ用マクロ(プログラム),本番移行データ用マクロ(プログラム),スクリプト一括実行プログラムおよびデータ整合性チェック・プログラムが記憶されている。
【0017】
後述するように,入力装置3,通信装置5等を通じて,データベース構築装置1に,データベース設計データ,初期登録データおよび本番移行データが入力される。これらのデータから,スクリプト・ファイル(スクリプトが記述されたファイル)が作成される。作成されたスクリプト・ファイルが実行,すなわち,スクリプト・ファイルに記述されたスクリプトがCPU2によって実行されることによって,データベース管理システムに用いられるデータベースが構築される。
【0018】
図2は,データベース構築装置1に入力される3種類のデータと,これらのデータを入力データとし,それらのデータにマクロ処理(上述のデータベース設計データ用マクロ,初期登録データ用マクロ,および本番移行データ用マクロによる処理)が行われることによって出力されるスクリプト・ファイルの種類とを示している。
【0019】
データベース設計データからは,テーブル作成スクリプト・ファイル,権限設計スクリプト・ファイル,主キー設定スクリプト・ファイル,トリガ作成スクリプト・ファイル,および制約条件設定スクリプト・ファイルが作成される。
【0020】
初期登録データからは,初期データ(初期登録)スクリプト・ファイルが作成される。
【0021】
本番移行データからは,初期データ(本番移行)スクリプト・ファイルが作成される。
【0022】
これらのスクリプト・ファイルは,必ずしも一つのファイルを意味するものではない。スクリプト・ファイルの種類によっては,データベース構築装置1によって作成されるデータベースに含まれるテーブルまたは入力されるデータごとに作成されるものもある。これらのデータおよびスクリプト・ファイルの詳細については,後述する。
【0023】
制約条件設定スクリプト・ファイルを除く上述のスクリプト・ファイルが,スクリプト・ファイル一括実行プログラムによって一括して(すべて)実行される。スクリプト・ファイルが実行されることによって,ハードディスク8にデータベースが構築される。制約条件設定スクリプト・ファイルは,データ整合性チェック・プログラムによって実行される。
【0024】
はじめに,データベース構築装置1に入力される3種類のデータ(データベース設計データ,初期登録データおよび本番移行データ)について説明する。
【0025】
(1)データベース設計データ
図3〜図6は,データベース設計データの一例を示している。データベース設計データには,データベース管理システムにおいて用いられるべき(作成されるべき)データベース自体の基本的な構造(データベース構造)(バイト数,アクセス権限等)を規定するもの(図3および図4),およびデータベースを構成する各種テーブル(このテーブルにデータ(実データ)が格納される)についての構造(テーブル構造)を規定するもの(図5および図6)とが含まれる。データベースに複数のテーブルが作成される場合には,テーブル構造を規定するデータベース設計データは複数作成される。
【0026】
図3は,作成されるデータベースのバイト数(ハードディスクを占有する領域の大きさ)(データベースの大きさ)を規定する設計データ(データベース・サイズ設計データ)である。「平均」および「最大」の項目を持つ。
【0027】
「平均」欄には,作成するべきデータベースを利用するデータベース管理システムが稼動している間に平均的に必要となると思われるサイズが示されている。「最大」欄には,同様にデータベース管理システムの稼働中に最大必要となると思われるサイズが示されている。
【0028】
図4は,作成されるデータベースの利用権限を規定する設計データ(権限設定データ)である。
【0029】
権限設定データは,「ユーザ名」欄と「権限」欄とを含む。「ユーザ名」欄に権限内容を設定すべきユーザ(データベース管理システムのユーザ)のユーザ名が記述される。「権限」欄に権限内容が記述される。図4の例は,「public」ユーザに,すべての権限を許可するという指定である。
【0030】
図5は,データベースに格納される各種テーブルの属性を規定する設計データ(テーブル設計データ)の一例である。図5は銀行の情報を管理するテーブル(銀行テーブル)のテーブル設計データを示している。
【0031】
テーブル設計データには,テーブル名,レコード数(平均および最大),テーブルのバイト数(平均および最大),および1レコードのバイト数が規定される。
【0032】
「テーブル名」欄には,テーブル名が記述される。「レコード数」欄の平均には,データベースを利用するデータベース管理システムが稼動している間に平均的に予想されるレコード数が記載される。「レコード数」欄の最大には,予想されるレコード数の最大値を記載する。
【0033】
「バイト数」欄の平均には,このテーブルに必要と予想される平均的なバイト数が,「バイト数」欄の最大にはこのテーブルに必要となる最大のバイト数がそれぞれ記述される。「バイト数」欄の1レコードには,このテーブルの1レコードに必要となるバイト数が記載される。
【0034】
すべてのテーブルについてのバイト数(平均)を合計したものが,図3に示すデータベース・サイズ設計データの平均欄のバイト数と一致する。すべてのテーブルについてのバイト数(最大)を合計したものが,図3に示すデータベース・サイズ設計データの最大欄のバイト数と一致する。
【0035】
図6は,データベースに格納される各種テーブルに含まれる項目の設計データ(項目設計データ)の一例である。図6は,図5に示す銀行テーブルに含まれる各項目のそれぞれについての項目設計データを示している。
【0036】
項目設計データは,項目名,データタイプ,整数バイト数,小数バイト数,属性,主キー,インデックス,ゼロ・データの可否,項目説明および制約条件に関するデータを含む。
【0037】
「項目名」は,個々の項目の名称である。
【0038】
「データタイプ」は各項目のデータの種別である。たとえば,charなら固定長文字列というデータ種別を意味する。
【0039】
「整数バイト数」は,上述のデータ・タイプが真数データ型(varchar) の場合の,整数部の桁数である。データ・タイプが真数データ型以外で文字列型以外の場合には,必要なバイト数を記載する。文字列型の場合には,このバイト数は記録できる文字数を意味する。
【0040】
「小数バイト数」は,データ・タイプが真数データ型の場合の,小数部の桁数である。真数データ型以外の場合は0が記述される。
【0041】
「属性」欄には,データの種類(半角,全角等)が記述される。
【0042】
「主キー」欄には,主キーとして採用するべき項目が示される。○印または◎印が示される。○印は,非クラスタ化主キーを意味する。◎印は,クラスタ化主キーを意味する。
【0043】
「インデックス」欄には,インデックスとして採用する項目が示される。○印または◎印が示される。○印は非クラスタ化インデックスを,◎印はクラスタ化インデックスを意味する。
【0044】
クラスタ化された主キーやインデックスは,一つのテーブルに一つまでしか存在しない。二つ以上ある場合には,いずれか一方を非クラスタ化する(◎印を○印に代える)必要がある。クラスタ化主キーおよびクラスタ化インデックスがないテーブルが存在してもよい。
【0045】
「ゼロ可否」欄には,0(ゼロ)値を許すかどうかが設定される。ここでは,0を許さない場合には「否」と記述され,0を許す場合には「可」と記述されている。
【0046】
「項目説明」欄には,項目の説明が記載される。
【0047】
「制約条件」欄には,項目に対する制約条件が記載される。制約条件については後述する。
【0048】
(2)初期登録データ
図7は,初期登録データの一例を示している。
【0049】
初期登録データは作成されるべきデータベースに含まれるテーブルごとに作成される。初期登録データはテーブル名欄を含み,このテーブル名欄に上述のデータベース設計データにおいて定義されたテーブル名が記載される。これにより,いずれのテーブルについての初期登録データであるかが明示される。
【0050】
初期登録データは,上述のテーブルごとに作成される項目設計データ(図6)において設計された項目ごとの具体的なデータである。上述したように,銀行テーブルに銀行コード,銀行漢字,銀行名カナ,備考欄,更新日時および更新プログラムの項目を設けることが設計されている場合には,この銀行テーブルの初期登録データには,これらの項目のそれぞれについての具体的なデータが格納される。
【0051】
(3)本番移行データ
初期登録データと基本的に同じである。初期登録データと本番移行データの違いは次の通りである。
【0052】
初期登録データは,作成されるデータベースを利用するデータベース管理システムが稼動する為に必要最小限の事項を記述したデータである。このため初期登録データには,データベース管理システムの稼動に必須のコード等が記述されている。これに対して,本番移行データは,旧来のデータベース管理システムから引継ぐデータ類である。旧来のデータベース管理システムが存在しないような,全くの新しいデータベース管理システムについては,本番移行データは必ずしも必要とするものではない。
【0053】
上述したように,データベース設計データ,初期登録データおよび本番移行データが,これらのデータのそれぞれのためのマクロによって処理されることによって,各種のスクリプト・ファイルが作成される。
【0054】
図8は,各種スクリプト・ファイルの作成のためのプログラムの処理の流れを示すフローチャートである。このプログラムは,上述のマクロ,すなわち,データベース設計データ用マクロ,初期登録データ用マクロおよび本番移行データ用マクロを順次実行するプログラム(マクロ順次実行プログラム)である。
【0055】
ユーザは,データベース設計データ,初期登録データおよび本番移行データを準備する。これらのデータは,データベース構築装置1のハードディスク8に記憶させておく。もちろん,データベース構築装置1にネットワーク(LAN,WAN等)によって接続された他のコンピュータのハードディスクに記憶させたものを用いてもよい。
【0056】
データベース構築装置1のユーザがスクリプト・ファイル作成プログラムを起動する。初めに,データベース設計データ用マクロ(プログラム)が実行される(ステップ21)。
【0057】
データベース設計データが読込まれる。たとえば,作成すべきデータベースについてのデータベース設計データが記憶されているアドレスがデータベース構築装置1のユーザによって指定される。アドレスが指定されると,その指定されたアドレスに記憶されているデータベース設計データがデータベース構築装置1のメモリ6に読み込まれる。メモリ6に読み込まれたデータベース設計データを処理対象にして,データベース設計データ用マクロによる処理が開始される(ステップ22)。
【0058】
上述したように,データベース設計データ用マクロは,データベース設計データに基づいて,テーブル作成スクリプト・ファイル,権限設定スクリプト・ファイル,主キー設定スクリプト・ファイル,トリガ設定スクリプト・ファイルおよび制約条件設定スクリプト・ファイルを作成する。
【0059】
データベース設計データ用マクロは,メモリ6に読込まれたデータベース設計データ中の一部のデータを,上述のスクリプト・ファイルのそれぞれについてのテンプレートの所定の位置に記述するように,プログラミングされている。
【0060】
図9〜図13はスクリプト・ファイルの内容の一例を示している。左端の数字は行番号でありスクリプトそのものには含まれない。また,1行目〜8行目は,いずれもコメントでありスクリプトではない。
【0061】
図9は,図5に示す銀行テーブルに関するテーブル設計データおよび図6に示す銀行テーブルの各項目に関する項目設計データに基づいて作成されるテーブル作成スクリプト・ファイルの一例を示している。
【0062】
9行目から17行目が,作成すべき「銀行テーブル」の構築のためのスクリプトである。他のテーブルについての設計データ(テーブル設計データおよび項目設計データ)が用意されていれば,そのテーブルについてのスクリプトが,第18行目以降に順次記述されることになる。
【0063】
たとえば,第9行目には,「CREATE TABLE 銀行(」 と記述されている。この記述は,データベース設計データ用マクロが,データベース設計データ中のテーブル設計データからテーブル名を読出し,読出したテーブル名を 「CREATE TABLE 」と「(」との間に記述した結果作成されるスクリプト記述である。このように,データベース設計データ用マクロは,データベース設計データから読み出したデータの一部を,テンプレートの所定の箇所に記述する(埋め込む)処理を行う。これにより,各種スクリプト・ファイルが順次作成される。
【0064】
図10は,権限設定データ(図4参照)に基づいて作成される権限設定スクリプト・ファイルの一例である。
【0065】
図11は,項目設計データ(図6参照)に基づいて作成される主キー設定スクリプト・ファイルの一例である。
【0066】
図12は,トリガ作成スクリプト・ファイルの一例である。トリガ作成スクリプト・ファイルは,テーブル中のデータが追加または更新されたときに,追加または更新したときの日時を記録するための処理を,データベース管理システムに行わせるためのファイルである。
【0067】
図13は,項目設計データ(図6参照)に記述される制約条件に基づいて作成される制約条件設定スクリプト・ファイルの一例である。
【0068】
図8に戻って,データベース設計データ用マクロによる処理が終了すると,次に初期登録データ用マクロが起動する(ステップ23)。初期登録データがメモリ6に読み込まれる。
【0069】
図14は,初期データ(初期登録)バッチ・ファイルの記述例である。初期データ(初期登録)バッチ・ファイルは,初期登録データに含まれている。図15は,初期登録データ用マクロによって生成される初期データ(初期登録)スクリプト・ファイルの一例である。
【0070】
初期登録データ用マクロによって生成される初期データ(初期登録)スクリプト・ファイルは,初期登録データが多数の場合には複数出力される。その場合に,漏らすことなく初期登録データをマクロ処理するプログラムが,図14に示す初期データ(初期登録)バッチ・ファイルである。初期データ(初期登録)バッチ・ファイルが実行されることによって,初期登録データ(図7参照)に対して初期登録データ用マクロによるマクロ処理が行われる。図15に示すような初期データ(初期登録)スクリプト・ファイルが生成される(ステップ24)。初期登録データが複数ある場合には,初期データ(初期登録)スクリプト・ファイルは複数生成される(初期データ(初期登録)スクリプト・ファイル群)。
【0071】
図8に戻って,初期登録データ用マクロの処理が終了すると,本番移行データ用マクロが起動する(ステップ25)。本番移行データがメモリに読み込まれる。本番移行データに基づいて,図15に示すものと同様の初期データ(本番移行)スクリプト・ファイルが生成される(ステップ26)。
【0072】
マクロ順次実行プログラム(マクロ)によって作成された各種スクリプト・ファイルは,データベース構築装置1のハードディスク8に記憶される。次にスクリプト・ファイル一括実行プログラムの処理に進む。
【0073】
図16は,スクリプト・ファイル一括実行プログラムの処理の流れを示すフローチャートである。
【0074】
データベース構築装置1のユーザがスクリプト・ファイル一括実行プログラムの起動命令を入力すると,スクリプト・ファイル一括実行プログラムがハードディスク8から読み出されてCPU2に読み込まれる(ステップ31)。
【0075】
「テーブル作成スクリプト」,「権限設定スクリプト」,「主キー設定スクリプト」および「トリガ作成スクリプト」が実行される。データベース管理システムにおいて利用されるデータベースに,テーブルが作成され(ステップ32),各テーブルのアクセス権限が設定され(ステップ33),主キーが設定され(ステップ34),トリガが作成される(ステップ35)。
【0076】
初期データ(初期登録)スクリプト・ファイル(群)が,ハードディスク8に記憶されているかどうかが判断される(ステップ36)。上述した初期登録データ用マクロによる処理が成功していれば(行われていれば),ハードディスク8には初期データ(初期登録)スクリプト・ファイル(群)が記憶されている。ハードディスク8に初期データ(初期登録)スクリプト・ファイル(群)が記憶されている場合には(ステップ36で「存在する」),初期データ(初期登録)スクリプト・ファイル(群)が実行される。初期データ(初期登録)スクリプト・ファイル(群)に格納されているデータ(銀行名等)が,上述のテーブル作成スクリプト・ファイルによって作成されたテーブルに格納される(ステップ37)。
【0077】
初期データ(本番移行)スクリプト・ファイル(群)が,ハードディスク8に記憶されているかどうかが判断される(ステップ38)。ハードディスク8に初期データ(本番移行)スクリプト・ファイル(群)が記憶されている場合には(ステップ38で「存在する」),初期データ(本番移行)スクリプト・ファイル(群)が実行される。初期データ(本番移行)スクリプト・ファイル(群)に格納されているデータ(銀行名等)が,上述のテーブル作成スクリプトによって作成されたテーブルに格納される(ステップ39)。
【0078】
初期データ(初期登録)スクリプト・ファイルまたは初期データ(本番移行)スクリプト・ファイルがハードディスク8に記憶されていない場合には,スクリプト・ファイル一括実行プログラムの処理が終了する(ステップ36で「存在しない」,ステップ38で「存在しない」)。
【0079】
以上の処理によりデータベース管理システムに利用されるデータベースが構築される。その後にデータ整合性チェック・プログラムが起動する。図17はデータ整合性チェック・プログラムの処理を表すフローチャートである。
【0080】
データ整合性チェック・プログラムは,データベース管理システムが持つデータ整合性チェック機構を活用する。データベース設計データに記述されたデータに,制約条件に合わないデータがあれば検出する処理である。
【0081】
図18は,スクリプト・ファイル一括実行プログラムおよびデータ整合性チェック・プログラムの具体的なプログラム記述を表している。
【0082】
1行目は,必要のない表示を行わない為の指示である。
【0083】
2行目〜9行目はコメントである。
【0084】
10行目〜13行目は,変数の設定であり「サーバ名」,「データベース名」,「ユーザー名」,「パスワード」が記述されている。
【0085】
15行目もコメントである。
【0086】
17行目はフラグとして変数FLGを使うために初期化している。
【0087】
18行目および19行目は,既存のデータベース構成を一度削除する為の処理である。「07_drop_constraint.sql」および「10_Drop.sql」という2つのスクリプトが使用されている。2つのスクリプトの役割は,それぞれ「制約条件削除」および「テーブル削除」である。テーブルを削除する前に制約条件を削除するのは,制約条件がある場合にテーブルを削除できない場合があるためである。
【0088】
21行目〜23行目で,「テーブル作成スクリプト」が実行され,テーブルが作成される。21行目で画面に「Create」と表示することが記述されている。テーブル作成処理に入ったことを示す。22行目は「00_Create.log」というログファイルに,「Create」と書き出すことでテーブル作成処理に入ったという記録を残すことを意味する。
【0089】
23行目で実際に「01_Create.sql」というファイル名の「テーブル作成スクリプト」が実行される。以下,同様の構成で,24行目〜26行目で権限設定,27行目〜29行目で主キー設定,30行目〜32行目でトリガ作成の各処理が行われる。
【0090】
34行目では,初期データ(初期登録)スクリプト・ファイル(群)が存在するかどうかをチェックし,存在しなければ処理を50行目にジャンプする。
【0091】
35行目および36行目で画面とログファイルに記録を残し,37行目は,「05_default_0000.bat」という図14に示したようなプログラムの実行を意味する。
【0092】
38行目では,「初期データ(初期登録)」を登録した状態を表すようにFLG変数を変更する。
【0093】
40行目から44行目は「初期データ(本番移行)」を登録する為に同様の処理を行う。
【0094】
46行目では,初期データを登録したかどうかを判定している。初期データを登録しなかった場合には,50行目へジャンプする。初期データを登録していた場合には,データ整合性チェック処理を行うことになる。
【0095】
データ整合性チェックの処理は,47行目〜49行目に記述されている。
【0096】
制約条件が追加される(図17:ステップ41)。
【0097】
制約条件の追加時にエラーがあった場合(図17:ステップ42で「失敗」)には,ログファイル「00_Create.log」に記録が残ることになる(ステップ43)。制約条件の追加時に成功すると,データ整合性チェック処理が終了する(ステップ42で「成功」)。
【0098】
以上の処理を経て,図19に示すようにデータベース管理システムに用いられるデータベースが構築される。
【図面の簡単な説明】
【図1】データベース構築装置のハードウエア構成を示すブロック図である。
【図2】データベース設計データ,初期登録データおよび本番移行データと,これらのデータがマクロ処理されることによって作成される各種スクリプト・ファイルとの関係を示す。
【図3】データベース・サイズ設計データの一例を示す。
【図4】権限設定データの一例を示す。
【図5】テーブル設計データの一例を示す。
【図6】項目設計データの一例を示す。
【図7】初期登録データの一例を示す。
【図8】スクリプト・ファイル作成プログラムの処理の流れを示すフローチャートである。
【図9】テーブル作成スクリプト・ファイルの内容の一例を示す。
【図10】権限設定スクリプト・ファイルの内容の一例を示す。
【図11】主キー設定スクリプト・ファイルの内容の一例を示す。
【図12】トリガ作成スクリプト・ファイルの内容の一例を示す。
【図13】制約条件設定スクリプト・ファイルの内容の一例を示す。
【図14】初期データ(初期登録)バッチ・ファイルの内容の一例を示す。
【図15】初期データ(初期登録)スクリプト・ファイルの内容の一例を示す。
【図16】スクリプト・ファイル一括実行プログラムの処理の流れを示すフローチャートである。
【図17】データ整合性チェック・プログラムの処理の流れを示すフローチャートである。
【図18】スクリプト・ファイル一括実行プログラムおよびデータ整合性チェック・プログラムの具体例を示す。
【図19】構築されたデータベースを概念的に示す。
【符号の説明】
1 データベース構築装置
2 CPU
3 入力装置
8 ハードディスク
Claims (2)
- 少なくとも作成すべき関係データベースのデータベース・サイズを含むデータベース・サイズ設計データ,上記関係データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズを含むテーブル設計データ,上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズ,ならびに一の項目のデータが他の項目のデータを参照する場合に上記他の項目のデータが存在することを保証するための制約条件データを含む項目設計データを備えたデータベース設計データと,作成される関係データベースに登録されるべき登録データの入力を受付ける入力装置,
上記データベース設計データに含まれるデータのうち記述されるべきデータとその記述位置とを特定する記述をもつテンプレート・データを含むデータベース設計データ用スクリプト作成マクロ,および作成される関係データベースを構成するテーブルに含まれる項目中に,上記登録データを格納する登録データ用スクリプト・ファイルを作成するための登録データ用スクリプト作成マクロを記憶した記憶装置,および
上記記憶装置に記憶されているデータベース設計データ用スクリプト作成マクロおよび登録データ用スクリプト作成マクロを実行し,かつこれらのスクリプト作成マクロの実行によって生成されるスクリプト・ファイルを実行する処理装置を備え,
上記処理装置は,
上記データベース設計用スクリプト作成マクロを実行することによって,上記テンプレート・データ中の記述にしたがって,上記データベース設計データに含まれるデータをテンプレート・データの記述特定位置に記述して,関係データベースを構築するためのテーブル作成スクリプト・ファイル,および参照データの存在の有無をチェックするための制約条件設定スクリプト・ファイルを生成し,
上記登録データ用スクリプト作成マクロを実行することによって,作成される関係データベースを構成するテーブルに含まれる項目中に登録データを格納するための登録データ用スクリプト・ファイルを生成し,
生成された上記テーブル作成スクリプト・ファイルを実行することによって,上記データベース・サイズ設計データに含まれるデータベース・サイズを有する関係データベースであって,上記テーブル設計データに含まれるテーブル名およびテーブル・サイズを持つテーブルを有し,上記テーブルが上記項目設計データに含まれる項目名および項目サイズを有している関係データベースを構築し,
生成された登録データ用スクリプト・ファイルを実行することによって,構築された関係データベースを構成するテーブルに含まれる項目に,上記登録データを格納し,
生成された制約条件設定スクリプト・ファイルを実行することによって,上記データベース設計データの項目設計データ中に含まれている上記制約条件データに基づいて,登録データが格納された関係データベースに対して一の項目のデータが他の項目のデータを参照する場合の上記他の項目のデータの存在の有無をチェックするものである,
関係データベース構築装置。 - 入力装置が,少なくとも作成すべき関係データベースのデータベース・サイズを含むデータベース・サイズ設計データ,上記関係データベースを構成するテーブルのそれぞれについてのテーブル名およびテーブル・サイズを含むテーブル設計データ,上記テーブルに含まれる項目のそれぞれについての項目名および項目サイズ,ならびに一の項目のデータが他の項目のデータを参照する場合に上記他の項目のデータが存在することを保証するための制約条件データを含む項目設計データを備えたデータベース設計データと,作成される関係データベースに登録されるべき登録データの入力を受付け,
記憶装置に,上記データベース設計データに含まれるデータのうち記述されるべきデータとその記述位置とを特定する記述をもつテンプレート・データを含むデータベース設計データ用スクリプト作成マクロ,および作成される関係データベースを構成するテーブルに含まれる項目中に,上記登録データを格納する登録データ用スクリプト・ファイルを作成するための登録データ用スクリプト作成マクロを記憶させておき,
処理装置が,
上記データベース設計用スクリプト作成マクロを実行することによって,上記テンプレート・データ中の記述にしたがって,上記データベース設計データに含まれるデータをテンプレート・データの記述特定位置に記述して,関係データベースを作成するためのテーブル作成スクリプト・ファイル,および参照データの存在の有無をチェックするための制約条件設定スクリプト・ファイルを作成し,
上記登録データ用スクリプト作成マクロを実行することによって,作成される関係データベースを構成するテーブルに含まれる項目中に登録データを格納するための登録データ用スクリプト・ファイルを生成し,
生成された上記テーブル作成スクリプト・ファイルを実行することによって,上記データベース・サイズ設計データに含まれるデータベース・サイズを有する関係データベースであって,上記テーブル設計データに含まれるテーブル名およびテーブル・サイズを持つテーブルを有し,上記テーブルが上記項目設計データに含まれる項目名および項目サイズを有している関係データベースを構築し,
生成された登録データ用スクリプト・ファイルを実行することによって,構築された上記関係データベースを構成するテーブルに含まれる項目に上記登録データを格納し,
生成された上記制約条件設定スクリプト・ファイルを実行することによって,登録データが格納された関係データベースに対して上記データベース設計データの項目設計データ中に含まれている上記制約条件データに基づいて,一の項目のデータが他の項目のデータを参照する場合の上記他の項目のデータの存在の有無をチェックする,
関係データベース構築方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002153236A JP4112282B2 (ja) | 2002-05-28 | 2002-05-28 | 関係データベース構築装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002153236A JP4112282B2 (ja) | 2002-05-28 | 2002-05-28 | 関係データベース構築装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003345594A JP2003345594A (ja) | 2003-12-05 |
JP4112282B2 true JP4112282B2 (ja) | 2008-07-02 |
Family
ID=29770318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002153236A Expired - Fee Related JP4112282B2 (ja) | 2002-05-28 | 2002-05-28 | 関係データベース構築装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4112282B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627854B2 (en) * | 2006-01-12 | 2009-12-01 | International Business Machines Corporation | Graphical aid for generating object setup scripts |
JP5028894B2 (ja) * | 2006-07-18 | 2012-09-19 | 富士通株式会社 | データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム |
JP2008129844A (ja) * | 2006-11-21 | 2008-06-05 | Nec Informatec Systems Ltd | ストアドプロシージャジェネレート装置、方法、プログラム、及びシステム |
JP7060797B2 (ja) | 2018-05-28 | 2022-04-27 | 富士通株式会社 | テーブル生成方法、テーブル生成装置およびテーブル生成プログラム |
CN109271199B (zh) * | 2018-09-11 | 2023-01-10 | 航天信息软件技术有限公司 | 一种用于数据库持续集成与脚本文件管理的方法及*** |
-
2002
- 2002-05-28 JP JP2002153236A patent/JP4112282B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003345594A (ja) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102452425B1 (ko) | 고속 카피가능 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 | |
JP6419633B2 (ja) | 検索システム | |
WO2020211236A1 (zh) | 基于b+树的读写冲突解决方法、装置及存储介质 | |
US6185569B1 (en) | Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table | |
JP4799936B2 (ja) | 条件別スナップショット取得方法及びシステム | |
US7966353B2 (en) | Method and system for flexibly providing shared access to non-data pool file systems | |
US20050015674A1 (en) | Method, apparatus, and program for converting, administering, and maintaining access control lists between differing filesystem types | |
US8234317B1 (en) | Auto-committing files to immutable status based on a change log of file system activity | |
JP2006134214A (ja) | ファイルのバージョン管理方法および計算機システム | |
JP2005302038A (ja) | Bツリー中の連続キーの名前を変更する方法およびシステム | |
KR20070034916A (ko) | 버저닝 기반 트리거를 위한 시스템 및 방법 | |
JP4778500B2 (ja) | データべースシステム及びデータべースシステムの制御方法 | |
WO2020119143A1 (zh) | 一种数据库删除记录的恢复方法及*** | |
JP3868171B2 (ja) | 文書のデジタル署名付き管理方法および文書管理装置 | |
JP4112282B2 (ja) | 関係データベース構築装置および方法 | |
JP3752945B2 (ja) | ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体 | |
KR101135629B1 (ko) | 이동형 usb 저장장치의 자동실행방지 방법 및 장치 | |
JP3636773B2 (ja) | データベースのチェックを行う情報処理装置 | |
US20110320750A1 (en) | Information processing system and method | |
US20100205197A1 (en) | Two-valued logic database management system with support for missing information | |
JP5783010B2 (ja) | インデックス管理プログラム、インデックス管理装置及び検索システム | |
JP4825504B2 (ja) | データ登録・検索システムおよびデータ登録・検索方法 | |
Yarabarla | Learning Apache Cassandra | |
JP5906810B2 (ja) | 全文検索装置、プログラム及び記録媒体 | |
Schneller et al. | MySQL admin cookbook |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071119 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080208 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080214 |
|
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: 20080408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080409 |
|
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: 20110418 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140418 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |