データベースを作成する

マイクロソフトより

PDF をダウンロードする

これは、MVC 1 を使用して小規模で完全な Web アプリケーションを構築する方法を説明する無料の "NerdDinner" アプリケーション チュートリアル ASP.NET 手順 2 です。

手順 2 では、NerdDinner アプリケーションのすべてのディナーデータと RSVP データを保持するデータベースを作成する手順を示します。

MVC 3 ASP.NET 使用している場合は、MVC 3 または MVC ミュージック ストア概要に関するチュートリアルに従うことをお勧めします。

NerdDinner ステップ 2: データベースの作成

データベースを使用して、NerdDinner アプリケーションのすべての Dinner および RSVP データを格納します。

次の手順では、無料の SQL Server Express エディション ( Microsoft Web Platform Installer の V2 を使用して簡単にインストールできる) を使用してデータベースを作成する方法を示します。 記述するすべてのコードは、SQL Server Express と完全な SQL Server の両方で動作します。

新しい SQL Server Express データベースの作成

まず、Web プロジェクトを右クリックし、[ Add->New Item]\(新しい項目 \) メニュー コマンドを選択します。

[ソリューション エクスプローラー] ダイアログのスクリーンショット。[追加] が選択され、[新しい項目] が強調表示されます。

これにより、Visual Studio の [新しい項目の追加] ダイアログが表示されます。 "データ" カテゴリでフィルター処理し、"SQL Server Database" 項目テンプレートを選択します。

Visual Studio の [新しい項目の追加] ダイアログのスクリーンショット。S Q L Server データベースが強調表示されています。データが強調表示されます。

作成する SQL Server Express データベースに "NerdDinner.mdf" という名前を付けて、[OK] をクリックします。 その後、このファイルを \App_Data ディレクトリ (既に読み取りと書き込みの両方のセキュリティ ACL で設定されているディレクトリ) に追加するかどうかを確認するメッセージが表示されます。

Microsoft Visual Studio ダイアログのスクリーンショット。[はい] が強調表示されています。

[はい] をクリックすると、新しいデータベースが作成され、ソリューション エクスプローラーに追加されます。

ソリューション エクスプローラーのナビゲーション ツリーのスクリーンショット。Nerd Dinner dot m d f が強調表示され、選択されています。

データベース内でのテーブルの作成

これで、新しい空のデータベースが作成されました。 いくつかのテーブルを追加してみましょう。

これを行うには、Visual Studio 内の [サーバー エクスプローラー] タブ ウィンドウに移動します。これにより、データベースとサーバーを管理できます。 アプリケーションの \App_Data フォルダーに格納されている SQL Server Express データベースは、サーバー エクスプローラー内に自動的に表示されます。 必要に応じて、[サーバー エクスプローラー] ウィンドウの上部にある [データベースへの接続] アイコンを使用して、SQL Server データベース (ローカルとリモートの両方) を一覧に追加することもできます。

サーバー エクスプローラーのナビゲーション ツリーのスクリーンショット。データ接続が拡張され、Nerd Dinner dot m d f が強調表示されます。

NerdDinner データベースに 2 つのテーブルを追加します。1 つはディナーを格納し、もう 1 つは RSVP の受け入れを追跡します。 新しいテーブルを作成するには、データベース内の [テーブル] フォルダーを右クリックし、[新しいテーブルの追加] メニュー コマンドを選択します。

サーバー エクスプローラーのナビゲーション ツリーのスクリーンショット。テーブルが展開され、強調表示されます。[新しいテーブルの追加] が強調表示されています。

これにより、テーブルのスキーマを構成できるテーブル デザイナーが開きます。 "Dinners" テーブルでは、10 列のデータを追加します。

[Nerd Dinner] ダイアログ ボックスのスクリーンショット。テーブルのスキーマが表示されます。

"DinnerID" 列をテーブルの一意の主キーにする必要があります。 これを構成するには、[DinnerID] 列を右クリックし、[主キーの設定] メニュー項目を選択します。

[Dinner ID]\(ディナー ID\) メニュー項目のスクリーンショット。[主キーの設定] メニュー項目が強調表示されています。

DinnerID を主キーにするだけでなく、テーブルにデータの新しい行が追加されるときに値が自動的にインクリメントされる "ID" 列として構成することもできます (つまり、最初に挿入された Dinner 行の DinnerID は 1 になり、2 番目に挿入された行の DinnerID は 2 になります)。

これを行うには、[DinnerID] 列を選択し、[列のプロパティ] エディターを使用して、列の "(Is Identity)" プロパティを "Yes" に設定します。 標準 ID の既定値を使用します (新しい Dinner 行ごとに 1 から開始し、1 ずつインクリメントします)。

[列のプロパティ] タブのスクリーンショット。[ID の指定] が強調表示されています。

次に、「Ctrl-S」と入力するか、[ ファイル>保存 ] メニュー コマンドを使用して、テーブルを保存します。 これにより、テーブルに名前を付けるメッセージが表示されます。 "Dinners" という名前を付けます。

[名前の選択] ダイアログのスクリーンショット。ディナーは、[テーブルの名前を入力] ボックスに書き込まれます。

その後、新しい Dinners テーブルがサーバー エクスプローラーのデータベース内に表示されます。

その後、上記の手順を繰り返し、"RSVP" テーブルを作成します。 このテーブルには 3 つの列があります。 RsvpID 列を主キーとして設定し、ID 列にします。

[Nerd Dinner] ダイアログのスクリーンショット。列名カテゴリで R S V P I D が強調表示されています。

保存し、"RSVP" という名前を付けます。

テーブル間の外部キー リレーションシップの設定

これで、データベース内に 2 つのテーブルが作成されました。 最後のスキーマ設計手順では、これら 2 つのテーブル間に "一対多" のリレーションシップを設定します。これにより、各 Dinner 行を、それに適用される 0 個以上の RSVP 行に関連付けることができます。 これを行うには、RSVP テーブルの "DinnerID" 列を構成して、"Dinners" テーブルの "DinnerID" 列と外部キーのリレーションシップを持ちます。

これを行うには、サーバー エクスプローラーで RSVP テーブルをダブルクリックして、テーブル デザイナー内で RSVP テーブルを開きます。 次に、その中の "DinnerID" 列を選択し、右クリックして [リレーションシップ]を選択します。コンテキスト メニュー コマンド:

Dinner I D メニュー項目のスクリーンショット。リレーションシップが強調表示されています。

これにより、テーブル間のリレーションシップを設定するために使用できるダイアログが表示されます。

[外部キーリレーションシップ] ダイアログ ボックスのスクリーンショット。

[追加] ボタンをクリックして、ダイアログに新しいリレーションシップを追加します。 リレーションシップが追加されたら、プロパティ グリッド内の [テーブルと列の指定] ツリー ビュー ノードをダイアログの右側に展開し、[...ボタンをクリックします。

[外部キーリレーションシップ] ダイアログ ボックスのスクリーンショット。テーブルと列の仕様が強調表示されています。矢印は、その右側にある elipses ボタンを指しています。

..." をクリックします。ボタンをクリックすると、リレーションシップに関係するテーブルと列を指定したり、リレーションシップに名前を付けることができるようにしたりできる別のダイアログが表示されます。

主キー テーブルを "Dinners" に変更し、Dinners テーブル内の "DinnerID" 列を主キーとして選択します。 RSVP テーブルは外部キー テーブルであり、RSVP.DinnerID 列が外部キーとして関連付けられます。

[テーブルと列] ダイアログのスクリーンショット。主キー テーブルと外部キー テーブルが強調表示されています。

これで、RSVP テーブルの各行が Dinner テーブルの行に関連付けられます。 SQL Server は参照整合性を維持することで、有効な Dinner 行を指していない場合、新しい RSVP 行の追加を防ぎます。 また、それを参照する RSVP 行がまだ存在する場合、Dinner 行を削除することもできなくなります。

テーブルへのデータの追加

最後に、Dinners テーブルにサンプル データを追加します。 サーバー エクスプローラー内でデータを右クリックし、[テーブル データの表示] コマンドを選択することで、テーブルにデータを追加できます。

サーバー エクスプローラーのスクリーンショット。[テーブル データの表示] が強調表示されています。

後でアプリケーションの実装を開始する場合に使用できる Dinner データの行をいくつか追加します。

Microsoft Visual Studio 内の Dinner データのスクリーンショット。

次のステップ

データベースの作成が完了しました。 次に、クエリと更新に使用できるモデル クラスを作成してみましょう。