チュートリアル : XML スキーマ コレクションを使用するデータベース プロジェクトの作成と配置
XML スキーマ コレクションを定義し、データベース プロジェクトの 1 つ以上の列に関連付けることができます。 Visual Studio Team System Database Edition では、XML スキーマ定義 (XSD: XML schema definition) ファイルに参照を追加して、スキーマ コレクションの定義内で定義しているスキーマを使用できます。このチュートリアルでは、次の手順を行います。
スキーマ ファイルを作成する。
データベース プロジェクトを作成する。
そのコレクションにバインドされている列を含むスキーマ、XML スキーマ コレクション、およびテーブルを定義する。
データベース プロジェクトを構成、ビルド、および配置する。
スキーマ ファイルを作成する
通常、XSD ファイルを既に持っていると想定します。 このチュートリアルでは、データベース プロジェクト内で参照できる XSD ファイルを作成します。
XSD ファイルを作成するには
[ファイル] メニューの [新規作成] をポイントし、[ファイル] をクリックします。
[新しいファイル] ダイアログ ボックスが表示されます。
[カテゴリ] ボックスの一覧の [全般] をクリックします。
[テンプレート] ボックスの一覧の [XML スキーマ] をクリックし、[開く] をクリックします。
スキーマ ファイルが XML エディタに表示されます。
ファイルの内容を次の XML に置き換えます。
<?xml version="1.0" encoding="utf-16"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="root" type="string"/> </schema>
[ファイル] メニューの [名前を付けて保存] をクリックします。
ファイルを作成するフォルダに移動します。
[オブジェクト名] ボックスに「MySchemaCollection」と入力し、[保存] をクリックします。
次に、データベース プロジェクトを作成します。
データベース プロジェクトを作成する
ソース データベース プロジェクトを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスで、[プロジェクトの種類] ボックスの一覧の [データベース プロジェクト] ノードを展開し、[SQL Server 2005] をクリックします。
メモ : 配置先データベースに異なるバージョンの SQL Server がある場合は、その SQL Server のバージョンに対応するプロジェクトの種類を指定できます。
[テンプレート] ボックスの一覧の [SQL Server 2005 データベース プロジェクト] をクリックします。
[名前] ボックスに「MySCProject」と入力します。
[場所] ボックスで、データベース プロジェクトを作成するパスを入力するか参照し、<ui>[OK]</ui> をクリックします。
データベース プロジェクトが作成され、ソリューション エクスプローラに表示されます。
次に、プロジェクト内でスキーマを定義します。
スキーマ、XML スキーマ コレクション、およびテーブルを定義する
スキーマを定義するには
[表示] メニューの [スキーマ ビュー] をクリックします。
[MySCProject] ノードを展開し、[スキーマ] ノードを展開します。[スキーマ] ノードを右クリックし、[追加] をポイントして、[スキーマ] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[テンプレート] ボックスの一覧の [スキーマ] をクリックします。
[名前] ボックスに「Person」と入力し、[追加] をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
次に、XML スキーマ コレクションの定義を含む XSD ファイルへの参照を追加します。
スキーマ コレクションの定義を含む XSD ファイルへの参照を追加するには
ソリューション エクスプローラで、[MyScProject] ノードを展開し、[参照] フォルダを右クリックして、[XSD 参照の追加] をクリックします。
[XSD 参照の追加] ダイアログ ボックスが表示されます。
[XSD ファイル名] で、このチュートリアルの最初の手順で定義した XSD ファイルのパスおよび名前を入力するか参照します。
[スキーマ] ボックスの一覧の [Person] をクリックします。
[名前] ボックスに「ContactTypes」と入力し、[OK] をクリックします。
次に、参照されているスキーマ コレクションを使用するテーブルを定義します。
スキーマ コレクションを使用するテーブルを定義するには
[表示] メニューの [スキーマ ビュー] をクリックします。
スキーマ ビューで、[MySCProject] ノードを展開し、[スキーマ] ノードを展開します。次に、[Person] ノードを右クリックし、[追加] をポイントし、[テーブル] をクリックします。
メモ : このチュートリアルを簡単にするために、テーブル定義は更新しません。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[テンプレート] ボックスの一覧の [テーブル] をクリックします。
[名前] ボックスに「Contacts」と入力し、[OK] をクリックします。
新しいテーブルがデータベース プロジェクトに追加され、Transact-SQL (T-SQL) エディタに表示されます。
T-SQL エディタで、次のステートメントに一致するようにテーブル定義を更新します。
CREATE TABLE [Person].[Contact] ( column_1 int NOT NULL, column_2 int NULL, [AdditionalInfo] XML(CONTENT [Person].[ContactTypes]) NULL )
[ファイル] メニューの [すべてを保存] をクリックします。
次に、データベース プロジェクトをビルドします。
データベースを構成、ビルド、および配置する
MySchemaProject を構成、ビルド、および配置するには
ソリューション エクスプローラで、[MySCProject] ノードを右クリックし、[プロパティ] をクリックします。
[プロパティ] ページで [配置] タブをクリックします。
[配置動作] ボックスの一覧の [配置スクリプト (.sql) を作成してデータベースに配置します] をクリックします。
[ターゲット データベースの設定] の横の [編集] をクリックします。
このデータベース プロジェクトを配置するターゲット サーバーへの接続を指定し、[OK] をクリックします。
[ターゲット データベース名] ボックスに「MySprocProject」と入力します。
重要 : 複合ソリューションを構成する 3 つのすべてのプロジェクトに対して同一のターゲット データベース名を指定します。そうでない場合、配置は失敗します。
[ファイル] メニューの [すべてを保存] をクリックします。
ソリューション エクスプローラで、[MySCProject] ノードを右クリックし、[ビルド] をクリックします。
ソリューション エクスプローラで、[MySCProject] ノードを右クリックし、[配置] をクリックします。
指定したターゲットにデータベースが配置されます。
次に行う作業
データベース プロジェクトと一緒に XSD ファイルをバージョン管理にチェックインする必要があります。