# データ生成ツール

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

■ オプションタブ

| 項目名 | 説明
--- | --- | ---
| 実行 | データ生成を開始します。
| 終了 | データ生成を中断し、画面を閉じます。
| 所有者 | データ生成の対象となるテーブルのスキーマが表示されます。
| 名前 | データ生成の対象となるテーブルの名前が表示されます。
| 通常の データ生成 | 通常のデータ生成方法です。 作成件数に設定された数だけデータを生成します。
| 親テーブルの データに従属する データを作成 | 主従関係のはっきりしたテーブル(例えば請求書の鑑のデータに対する請求書の明細データ等)に対してデータを生成する方法です。 親になるテーブルと、親のレコード１件あたりにつき何件の子データを作成するかを指定します。 ※この方法では、事前に親テーブルにデータが格納されている必要があります。
| 既存データの UPDATE | 既存データに対してアップデートを行います。 ※主キーのないテーブルには行えません。
| 条件指定 | [既存データのUPDATE]を指定している場合に入力できます。UPDATE対象の条件をSQL条件式で設定できます。 ※WHERE句以降を記述してください。
| 項目一覧 | データ生成の対象となったテーブルの項目が、一覧表示されます。 ここで任意の項目を選択すると、画面下段でその項目に対してどのような値をセットするのかを指定することが可能になります。
| 設定値 | 項目一覧で選択中の項目に対し、どのような値をセットするのかを選択します。 ここで指定した方法によって、いくつかの追加パラメータが表示されます。 未指定… NULL値をセットします。NOT NULL制約のある項目については、この設定を行うことはできません。 連番… 数値型の連番をセットします。開始値と増分値をあわせて指定します。 実際に生成されるデータは、1件目には「開始値」が、2件目には「開始値＋増分値」、以降、増分値を加算した値がセットされます。 テーブル項目が文字型の場合は、「全桁埋める」にチェックを入れることで前ゼロを付加した値をセットし、また「接頭句をつける」にチェックを入れることで「OB0001」などの固定値＋連番データを生成することが可能です。 連番（日付）… 日付型の連番をセットします。開始日付を指定します。 実際に生成されるデータは、1件目には「開始日付」が、2件目には「開始日付＋1」、以降、1日ずつ加算された日付がセットされます。 乱数値（数値）… 数値型の乱数をセットします。乱数の下限と上限、および丸め単位をあわせて指定します。 例えば、下限に100、上限に1000、丸め単位に10をセットすると、100～1000の間で10で割り切れる値を1コード毎に無作為抽出してセットします。 乱数値（文字）… 文字型の乱数値をセットします。セットする具体的な内容と、常に項目サイズ分の文字列を生成するか否かを指定します。 ・英字のみ…半角英字 A～Z で構成された文字列をセットします。 ・数字のみ…数値 0～9 で構成された文字列をセットします。 ・英数字…半角英字及び数値の混在した文字列をセットします。 ・全角文字…全角文字で構成された文字列をセットします。 ・URL…\www.sint.co.jp のような URL 文字を自動生成します。(生成されたURLが実際に有効かどうかの判断はしていません) ・メールアドレス…'ob＠sint.co.jp'のようなメールアドレスを自動生成します。(生成されたメールアドレスが実際に有効かどうかの判断はしていません) ・電話番号…電話番号を 00-0000-0000 という書式でセットします。 ・項目長が…12 桁に満たない場合は、番号は切り捨てられます。(生成された電話番号が実際に有効かどうかの判断はしていません) ・郵便番号…郵便場号を 000-0000 という書式でセットします。項目長が 8 桁に満たない場合は、番号は切り捨てられます。(生成された郵便番号が実際に有効かどうかの判断はしていません) 乱数値(日時)… 日付型の乱数値をセットします。日付だけなのか時刻も付加するのかの選択と、日付の下限・上限をあわせて指定します。 選択値… 決められた値の中から無作為に値をセットします。項目に入りうる値の一覧をあわせて指定します。 例えば「性別」という項目があり、そこには「1:男」「2:女」「3:他」といった値しか入り得ない場合等に使用します。 ※ここでは、文字型の値をセットする場合であっても単一引用符で値を囲む必要はありません。 固定値… 決められた値をセットします。ここで実際に設定可能な値は大きく分けて３つです。 ・固定値…単純にセットしたい値を入力します。文字定数をセットする場合はシングルクォーテーション（’）で囲む必要があります。 ・ SELECT文…SELECT 文を指定することで、そのSELECT文の結果を項目にセットする事ができます。なお、SELECT文は ( ) で囲む必要があり、複数の行や列を返す場合は実行時にエラーとなります。 ・ FUNCTION…関数名を指定することで、その関数の戻り値を項目にセットする事ができます。 テンプレート… テンプレートファイル中のデータを無作為にセットします。 テンプレートファイルは最大で２つまで指定でき、２つ指定した場合はそれぞれのテンプレートファイルから無作為に抽出したデータを「区切り文字」で連結して項目にセットします。 テンプレートファイルは、SI Object Browser ER にも標準でいくつか含まれていますが、利用者自身が作成する事も可能です。１行１データのテキストファイルを拡張子 txt で作成し、 SI Object Browser ER の実行フォルダ直下にある datagen フォルダに格納するだけです。 ※テンプレートデータを自作する場合は、ファイルサイズがあまり大きくならないように注意して下さい。 リンクテーブル値… 他のテーブルの値をセットします。対象となるテーブルのスキーマ、テーブル名、項目名をあわせて指定します。 親テーブル値… 親テーブルの値をセットします。親テーブルの項目名をあわせて指定します。 ※この方法は、「親テーブルのデータに従属するデータを作成」を選択した場合にのみ選択可能になります。
| NULL比率 | 生成するデータの件数に対して NULL を含める割合を指定します。 NOT NULL 制約のある項目については、NULL比率を指定することはできません。

■結果ログタブ

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