データ生成ツール

Pasted image 20250213140601.png
テーブルに対して、不特定多数のデータを自動生成する機能です。
主にパフォーマンステスト等で大量のテストデータが必要になった時などに使用できます。

■[オプション]タブ

項目名 説明
実行 データ生成を開始します。
テスト データ生成のテストを行います。(実際にデータは作成されません。)
終了 データ生成を中断し、画面を閉じます。
スキーマ データ生成の対象となるテーブルのスキーマが表示されます。
名前 データ生成の対象となるテーブルの名前が表示されます。

通常の
データ生成
通常のデータ生成方法です。
作成件数に設定された数だけデータを生成します。
親テーブルのデータに従属するデータを作成 主従関係のはっきりしたテーブル(例えば請求書の鑑のデータに対する請求書の明細データ等)に対してデータを生成する方法です。
親になるテーブルと、親のレコード1件あたりにつき何件の子データを作成するかを指定します。
※この方法では、事前に親テーブルにデータが格納されている必要があります。
既存データのUPDATE 既存データに対してアップデートを行います。
※主キーのないテーブルには行えません。
条件指定 [既存データのUPDATE]を指定している場合に入力できます。UPDATE対象の条件をSQL条件式で設定できます。
※WHERE句以降を記述してください。
項目一覧 データ生成の対象となったテーブルの項目が、一覧表示されます。
ここで任意の項目を選択すると、画面下段でその項目に対してどのような値をセットするのかを指定することが可能になります。
[既存データのUPDATE]を指定している場合、主キーの更新は行いません。設定値は無視されます。
設定値 項目一覧で選択中の項目に対し、どのような値をセットするのかを選択します。
ここで指定した方法によって、いくつかの追加パラメータが表示されます。
※扱えるデータ型については「■データ型についての注意点」の説明をご覧下さい。

連番...
数値型の連番をセットします。開始値と増分値をあわせて指定します。
実際に生成されるデータは、1件目には「開始値」が、2件目には「開始値+増分値」、以降、増分値を加算した値をセットしてきます。
テーブル項目が文字型の場合は、「全桁埋める」にチェックを入れる事で前ゼロを付加した値をセット、また、「接頭句をつける」にチェックを入れる事で「OB0001」などの固定値+連番データを生成することが可能です。

連番(日付)...
date型の連番をセットします。開始日付をあわせて指定します。
実際に生成されるデータは、1件目には「開始日付」が、2件目には「開始日付+1」、以降、一日ずつ加算された日付をセットしていきます。

連番(時間)...
time型の連番をセットします。開始時間をあわせて指定します。
実際に生成されるデータは、1件目には「開始時間」が、2件目には「開始時間+1」、以降、一秒ずつ加算された時間をセットしていきます。

連番(日時)...
timestamp型の連番をセットします。開始日時をあわせて指定します。
実際に生成されるデータは、1件目には「開始日時」が、2件目には「開始日時+1」、以降、一秒ずつ加算された時間をセットしていきます。

固定値...
決められた値をセットします。ここで実際に設定可能な値は大きく分けて3つです。

■固定値
単純にセットしたい値を入力します。文字定数をセットする場合はシングルクォーテーション(’)で囲む必要があります。

■SELECT文
SELECT 文を指定することで、そのSELECT文の結果を項目にセットする事ができます。
なお、SELECT文は ( ) で囲む必要があり、複数の行や列を返す場合は実行時にエラーとなります。

■FUNCTION
関数名を指定することで、その関数の戻り値を項目にセットする事ができます。

乱数値(数値)...
数値型の乱数をセットします。乱数の下限と上限及び丸め単位をあわせて指定します。
例えば下限に100、上限に1000、丸め単位に10をセットすると、100~1000 の間で 10 で割り切れる値を1コード毎に無作為に抽出してセットします。
テーブル項目が文字型の場合は、「最大桁数」にチェックを入れる事で指定した桁数で値をセットします。

乱数値(文字)...
文字型の乱数値をセットします。セットする具体的な内容と、常に項目サイズ分の文字列を生成するか否かをあわせて指定します。
文字乱数の設定内容は、以下の中から選択可能です。
※text型は「全桁埋める」の設定はできません。

■英字のみ
半角英字 A~Z で構成された文字列をセットします。

■数字のみ
数値 0~9 で構成された文字列をセットします。

■英数字
半角英字及び数値の混在した文字列をセットします。

■全角文字
全角文字で構成された文字列をセットします。

■URL
www.sint.co.jpのような URL 文字を自動生成します。
(生成されたURLが実際に有効かどうかの判断はしていません)

■メールアドレス
ob@sine.co.jpのようなメールアドレスを自動生成します。
(生成されたメールアドレスが実際に有効かどうかの判断はしていません)

■電話番号
電話番号を 00-0000-0000 という書式でセットします。
項目長が 12 桁に満たない場合は、番号は切り捨てられます。
(生成された電話番号が実際に有効かどうかの判断はしていません)

■郵便番号
郵便場号を 000-0000 という書式でセットします。
項目長が 8 桁に満たない場合は、番号は切り捨てられます。
(生成された郵便番号が実際に有効かどうかの判断はしていません)

乱数値(日時)...
timestamp型の乱数値をセットします。日付の下限・上限を指定します。乱数値は指定された期間の中からセットされます。

選択値...
決められた値の中から無作為に値をセットします。項目に入りうる値の一覧をあわせて指定します。
例えば「性別」という項目があり、そこには「1:男」「2:女」「3:他」といった値しか入り得ない場合等に使用します。
※ここでは、文字型の値をセットする場合であってもセミコロンで値を囲む必要はありません。

テンプレート...
テンプレートファイル中のデータを無作為にセットします。
テンプレートファイルは最大で2つまで指定でき、2つ指定した場合はそれぞれのテンプレートファイルから無作為に抽出したデータを「区切り文字」で連結して項目にセットします。

テンプレートファイルは、SI Object Browser にも標準でいくつか含まれていますが、利用者自身が作成する事も可能です。1行1データのテキストファイルを拡張子 txt で作成し、SI Object Browser の実行フォルダ直下にある datagen フォルダに格納するだけです。
※テンプレートデータを自作する場合は、ファイルサイズがあまり大きくならないように注意して下さい。

リンクテーブル値...
他のテーブルの値をセットします。対象となるテーブルのスキーマ、テーブル名、項目名をあわせて指定します。

親テーブル値...
親テーブルの値をセットします。親テーブルの項目名をあわせて指定します。
※この方法は、「親テーブルのデータに従属するデータを作成」を選択した場合にのみ選択可能になります。
NULL比率 生成するデータの件数に対して NULL を含める割合を指定します。
この値は、1データを作成する度に NULL をセットするか否かの確率操作に用いるためのもので、実際に作成されたデータの NULL 比率とは若干異なる場合もあります。
NOT NULL 制約のある項目については、NULL比率を指定することは出来ません。
また、設定値が「未指定」または「固定値」の場合も NULL 比率は指定出来ません。

■[結果]タブ
データ生成実行時は、実行経過を逐次表示します。Escapeキーを押すことでキャンセルすることも可能です。
また、テスト実行時はテスト結果が表示されます。