次の方法で共有


データ生成の概要

Visual Studio Team System Database Edition を使用して、テスト用データベースにテスト データを読み込むことができます。データベースのスキーマに従っていて、本番データとは関係のないデータを生成できます。このようにして、本番データを使用しなくても、意味のある結果を返す単体テストを作成して実行できます。この手法は、本番データのプライバシーまたはセキュリティを保護する必要がある場合に役立ちます。このトピックでは、Database Edition でデータを生成する方法の概要について説明します。

データの生成

データを生成するには、次の手順に従って作業します。

  1. データ生成計画を作成します。詳細については、「方法 : データ生成計画を作成する」を参照してください。

  2. データを読み込むテーブルを選択し、各テーブルに生成されるデータの量を指定します。場合によっては、一部のテーブルのデータを生成するだけで十分です。詳細については、「方法 : データ生成用のテーブルを指定する」および「方法 : 生成する行数を指定する」を参照してください。

  3. データを読み込む列を選択し、各列の設定値を構成します。この情報は、データ生成計画の核となります。データ ジェネレータを選択し、各列のプロパティを設定することにより、生成されて各列に読み込まれるデータを厳密に制御します。詳細については、「方法 : データを生成する列を指定する」および「列へのデータ生成の詳細の指定」を参照してください。

  4. データ生成計画を実行して、データを生成します。詳細については、「方法 : データ生成計画を実行してデータを生成する」を参照してください。

データ ジェネレータ

Database Edition には、さまざまな種類のデータを生成するための複数の標準データ ジェネレータが組み込まれています。たとえば、整数データ ジェネレータはランダムな整数値を生成し、文字列ジェネレータはランダムな文字列を生成し、正規表現ジェネレータは指定したパターンに一致する文字列を生成します。標準データ ジェネレータの詳細と一覧については、「標準データ ジェネレータの種類」および「標準データ ジェネレータの使用」を参照してください。

カスタム データ ジェネレータ

Visual Studio Team System Database Edition のデータ生成機能を拡張するには、カスタム データ ジェネレータを作成するか、または標準データ ジェネレータを機能拡張します。標準データ ジェネレータでは満たすことができないビジネス ルールがある場合は、カスタム データ ジェネレータを作成できます。たとえば、別の列を参照する CHECK 制約が設定された列がある場合は、カスタム データ ジェネレータを作成する必要が生じることがあります。この場合は、カスタム ジェネレータを使用することで、その列にデータを格納できます。詳細については、「カスタム データ ジェネレータの作成」を参照してください。

Database Edition には、カスタム データ ジェネレータを作成するための機能拡張 API が用意されています。詳細については、「Microsoft.VisualStudio.TeamSystem.Data.DataGenerator」を参照してください。

データ生成計画とスキーマの変更

データベース プロジェクトのデータ生成計画を作成する場合、その計画はプロジェクトのデータベース スキーマに基づいたものになります。データ生成計画を作成した後でデータベース プロジェクトのスキーマが変更された場合、計画を更新するよう求めるメッセージが表示されます。この動作は、次のような場合に発生します。

  • スキーマがまだ設定されていないデータベース プロジェクトのデータ生成計画を作成します。その後で、スキーマをデータベース プロジェクトにインポートしました。

  • スキーマが設定されているデータベース プロジェクトのデータ生成計画を作成した後で、スキーマが変更されました。

どちらの場合も、データ生成計画を開こうとしたとき、またはデータ生成計画がアクティブ ドキュメントになったときに、データ生成計画を更新するよう求めるメッセージが表示されます。スキーマの変更に基づいてデータ生成計画を更新しないと、計画の編集を続行できません。データ生成計画をいったん閉じて開き直すと、メッセージが再び表示されます。

チーム環境のデータ生成計画

データ生成計画は、データベースのスキーマに関する情報や、選択された各テーブルの列ごとのデータ生成を制御する構成情報を含んだ XML ファイルです。約 40 個のテーブルを含んだ標準的なデータベースでも、データ生成計画は 8 MB に達することもあり、行数も 100,000 行を超える場合があります。

.dgen ファイルに対する変更を、Team Foundation バージョン管理を使用して自動的にマージすることはできません。また、大きな XML ファイルを手作業でマージすることは困難であるばかりか、ミスを招く可能性も高くなります。データ生成計画に変更を加える場合は、あらかじめ排他的にチェックアウトしておくと、データ生成計画に関する問題を最小限に抑えることができます。

データ生成計画と単体テスト

データベース単体テストを行うと、データベース オブジェクトに対して行った変更によりエラーが発生して既存の機能が無効になっていないかどうかを確認できます。データベース単体テストは、ソフトウェア開発者が作成するソフトウェア単体テストを補完するものです。詳細については、「データベース単体テストの概要」を参照してください。

データベース単体テストを実行するには、意味のあるテスト データが必要です。意味のあるデータを作成し、このデータを単体テストにリンクするデータ生成計画を作成できます。単体テストを実行するたびに、このデータ生成計画が最初に実行され、テスト用のデータが作成されます。例については、「チュートリアル : データベース単体テストの作成と実行」を参照してください。

セキュリティ

詳細については、「データ ジェネレータのセキュリティ」を参照してください。

参照

概念

データ生成に関する問題のトラブルシューティング

参照

[オプション] ([データベース ツール] - [データ ジェネレータ] - [全般])

[オプション] ([データベース ツール] - [データ ジェネレータ] - [既定のジェネレータ])

その他の技術情報

データ生成計画

データ ジェネレータによるデータの生成