チュートリアル: XML スキーマ コレクションを使用するデータベース プロジェクトを作成して配置する
XML スキーマ コレクションを定義し、データベース プロジェクトの 1 つ以上の列にそれを関連付けることができます。 Visual Studio で、XML スキーマ定義 (XSD: XML Schema Definition) ファイルに参照を追加し、スキーマ コレクションに定義したスキーマを使用します。
このチュートリアルでは、次の手順を行います。
スキーマ ファイルを作成する
データベース プロジェクトの作成
スキーマ、XML スキーマ コレクション、およびテーブルを定義する
データベースを構成、ビルド、および配置する
必要条件
Visual Studio をインストールし、SQL Server 2008 のインスタンスにアクセスする必要があります。
スキーマ ファイルを作成する
通常、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] をクリックします。
注意
Visual Studio Professional を使用している場合、[インストールされたテンプレート] で、[データベース] ノードを展開し、[SQL Server] ノードを展開します。次に、[詳細設定] をクリックします。
テンプレートの一覧の [SQL Server 2008 データベース プロジェクト] をクリックします。
注意
配置先データベースの SQL Server のバージョンが異なる場合は、SQL Server のバージョンに一致するプロジェクトの種類を指定できます。
[名前] ボックスに「MySCProject」と入力します。
[場所] ボックスで、データベース プロジェクトを作成する場所のパスを入力するか参照して選択し、[OK] をクリックします。
データベース プロジェクトが作成され、ソリューション エクスプローラーに表示されます。
次に、プロジェクトのスキーマを定義します。
スキーマ、XML スキーマ コレクション、およびテーブルを定義する
スキーマを定義するには
[表示] メニューの [スキーマ ビュー] をクリックします。
[MySCProject] ノードを展開し、[スキーマ] ノードを展開します。次に、[スキーマ] ノードを右クリックし、[追加] をポイントして、[スキーマ] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[テンプレート] ボックスの一覧の [スキーマ] をクリックします。
[名前] ボックスに、「Person」と入力し、[追加] をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
次に、XML スキーマ コレクションの定義が格納された XSD ファイルへの参照を追加します。
スキーマ コレクションの定義が格納された XSD ファイルへの参照を追加するには
ソリューション エクスプローラーで、[MySCProject] ノードを展開し、[参照] フォルダーを右クリックします。次に、[XSD 参照の追加] をクリックします。
[XSD 参照の追加] ダイアログ ボックスが表示されます。
[XSD ファイル名] ボックスで、このチュートリアルの最初の手順で定義した XSD ファイルのパスと名前を入力するか、参照して選択します。
[スキーマ] ボックスの一覧の [Person] をクリックします。
[名前] ボックスに、「ContactTypes」と入力し、[OK] をクリックします。
次に、参照先のスキーマ コレクションを使用するテーブルを定義します。
スキーマ コレクションを使用するテーブルを定義するには
[表示] メニューの [スキーマ ビュー] をクリックします。
[スキーマ ビュー] で [MySCProject] ノードを展開し、[スキーマ] ノードを展開します。次に、[Person] ノードを右クリックし、[追加] をポイントして、[テーブル] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[テンプレート] ボックスの一覧の [テーブル] をクリックします。
[名前] ボックスに、「Contacts」と入力し、[OK] をクリックします。
新しいテーブルがデータベース プロジェクトに追加され、Transact-SQL エディターに表示されます。
Transact-SQL エディターで、次のステートメントに示すようにテーブルの定義を更新します。
CREATE TABLE [Person].[Contact] ( column_1 int NOT NULL, column_2 int NULL, [AdditionalInfo] XML(CONTENT [Person].[ContactTypes]) NULL )
[ファイル] メニューの [すべてを保存] をクリックします。
次に、データベース プロジェクトをビルドします。
データベースを構成、ビルド、および配置する
MySCProject を構成、ビルド、および配置するには
ソリューション エクスプローラーで、[MySCProject] ノードを右クリックし、[プロパティ] をクリックします。
[プロパティ] ページの [配置] タブをクリックします。
[配置動作] ボックスの一覧の、[配置スクリプト (.sql) を作成してデータベースに配置します] をクリックします。
[ターゲット データベースの設定] の横の [編集] をクリックします。
このデータベース プロジェクトを配置するサーバーへの接続を指定し、[OK] をクリックします。
[ターゲット データベース名] に「MySprocProject」と入力します。
[ファイル] メニューの [すべてを保存] をクリックします。
ソリューション エクスプローラーで、[MySCProject] ノードを右クリックし、[ビルド] をクリックします。
ソリューション エクスプローラーで、[MySCProject] ノードを右クリックし、[配置] をクリックします。
指定したターゲットにデータベースが配置されます。
次の手順
データベース プロジェクトと共に XSD ファイルをバージョン コントロールにチェックインする必要があります。