マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部
エバンジェリスト 辻郷 隆史
最終更新日 2005 年 12 月 7 日
| 目標 | Visual Studio 2005 によるデータベースの作成 |
|---|---|
| 使用技術 |
|
| 取り上げるトピックス |
|
| 前提知識 |
「第 1 回 イントロダクション」 ※「第 2 回 データ層の開発」 をご視聴いただくためには、マイクロソフト イベントでの登録が必要です。詳しくは 「マイクロソフト イベントの登録について」 を参照してください。 |
| 関連記事 |
|
開発環境にてデータベースを構築する場合、 Visual Studio 2005 上からもサーバーエクスプローラなどを使用することにより、データベースやテーブルの作成などを行うことが可能です。
ここでは、今回作成するサンプル アプリケーション "イベント 2005" で使用するデータベースを作成します。
.gif)
図1.サンプル データベース "イベント 2005"
テーブル一覧
テーブル | 概要 |
|---|---|
| EventInfo | イベント情報 |
| SessionInfo | イベントで実施されるセッション情報 |
| ProfileInfo | 参加者情報 |
| EventEntry | イベント参加情報 |
| SessionEntry | セッション参加情報 |
.gif)
サンプル アプリケーション用データベース Event2005DB を作成します。
Visual Studio 2005 を起動後、メニューより [ 表示 ] - [ サーバー エクスプローラ ] を選択し、サーバー エクスプローラを表示します。
サーバー エクスプローラにて [ データ接続 ] を右クリックし、コンテキスト メニューより [ 新しい SQL Server データベースの作成 ] を選択します。
.gif)
図2. サーバーエクスプローラ - 新しい SQL Server データベースの作成
新しい SQL Server データベースの作成 ダイアログが表示されるので、サーバー名 / 認証方式 / データベース名 ( Event2005DB ) を入力後、 OK ボタンをクリックし新しいデータベースを作成します。
今回は、同一マシーン上の SQL Server 2005 Express Edition をデータベースとして使用し、認証方式は Windows 認証を使用します。
.gif)
図3. 新しい データベース "Event2005DB" の作成
※下記のリンクに、サンプルテーブル作成用 SQL スクリプトを用意しましたので、 Step2 ~ Step6 のデータベース ダイヤ グラムによるテーブル作成を省略したい場合は、こちらをご利用ください。
Event2005Tables.txt (テーブル作成用 SQL スクリプト / 2.38KB)
.gif)
サンプル アプリケーション用データベース ダイアグラムを作成します。
サーバー エクスプローラにて Event2005DB の接続 - [ データベース ダイアグラム ] を右クリックし、コンテキスト メニューより [ 新しいダイアグラムの追加 ] を選択します。
.gif)
図4. 新しいダイアグラムの追加
[ テーブルの追加 ] ダイアログが表示されるので、そのまま [ 閉じる ] ボタンをクリックし、ダイアログを閉じます。
.gif)
イベント情報テーブル ( EventInfo ) を作成します。
ダイアログ デザイナ内で右クリックし、コンテキスト メニューより [ 新しいテーブル ] を選択します。
.gif)
図5. 新しいテーブルの作成
名前の選択ダイアログが表示されるので、作成するテーブル名として "EventInfo" を入力後、 [ OK ] ボタンをクリックします。
EventInfo テーブルの 列名 / データ型 / Null を許容 を下記の通り設定します。
.gif)
図6. テーブル "EventInfo"
メニューより [ ファイル ] - [ Diagram1 を保存 ] を選択し、ダイアログ名 "Event2005DIAG" にて一旦保存します。
サーバーエクスプローラにて、 データベース ダイアグラム [ Event2005DIAG ] および テーブル [ EventInfo ] が作成されていることを確認します。
.gif)
図7.サーバーエクスプローラによる "Event2005DIAG" / "EventInfo" の確認
.gif)
同じ要領にて、残りのテーブル SessionInfo / ProfileInfo / EventEntry / SessionEntry の4つを作成します。
.gif)
図8.テーブル "SessionInfo" / "ProfileInfo" / "EventEntry" / "SessionEntry"
.gif)
各テーブルに主キーを設定します。
今回設定する主キーは以下の通りです。
テーブル | 主キー列 |
|---|---|
| EventInfo | EventID |
| SessionInfo | EventID |
| SessionID | |
| ProfileInfo | ProfileID |
| EventEntry | EventID |
| ProfileID | |
| SessionEntry | EventID |
| ProfileID | |
| SessionID |
それぞれのテーブルの主キー ( EventID など) の左端をクリック後、右クリックしコンテキストメニューより [ 主キーの設定 ] を選択し、主キーを設定します。
なお、複数列に対する主キーを作成する場合は、コントロールキーを押したまま複数列の左端をクリックし複数列を同時に選択します。
.gif)
図9.主キーの設定
.gif)
各テーブル間のリレーションシップを設定します。
今回設定するリレーションシップは以下の通りです。
| 外部キー テーブル | 主キー テーブル | ||
|---|---|---|---|
| SessionInfo | EventID | EventInfo | EventID |
| EventEntry | EventID | EventInfo | EventID |
| EventEntry | ProfileID | ProfileInfo | ProfileID |
| SessionEntry | EventID,ProfileID | EventEntry | EventID,ProfileID |
| SessionEntry | EventID,SessionID | SessionInfo | EventID,SessionID |
それぞれの外部キー テーブルの対象列を選択後、ドラック&ドロップで主キーテーブルへ設定します。
ドロップすると、[ テーブルと列 ] ダイアログが表示されるので、内容を修正および確認し [ OK ] ボタンをクリックします。
.gif)
図10.リレーションシップの設定
.gif)
サンプルデータを作成します。
下記のリンクより、サンプルデータ作成用 SQL スクリプトを Internet Explorer "対象をファイルに保存" などで、ダウンロードおよびテキストファイルとして保存します。
Event2005SampleData.txt (サンプルデータ作成用 SQL スクリプト / 4.74KB)
次に、サーバー エクスプローラにて Event2005DB の接続を右クリックしコンテキストメニューより [ 新しいクエリ ] を選択します。
.gif)
図11. 新しいクエリ
[ テーブルの追加 ] ダイアログが表示されるので、そのまま [ 閉じる ] ボタンをクリック後、新しいクエリの SQL ペイン へ、ダウンロードしたファイルをメモ帳などで開きコピー&ペーストします。
.gif)
図12. SQL ペインへのサンプル SQL スクリプトのコピー&ペースト
メニューより [ クエリデザイナ ] - [ SQL の実行 ] を選択します。
[ クエリーの定義が異なります ] 警告ダイアログが表示されるので、そのまま [ 続行 ] ボタンをクリックします。
最後に、サーバー エクスプローラにて [ テーブルデータの表示 ] などにて、テーブルにデータが設定されていることを確認します。
.gif)
図13.テーブル データの表示
ここまでで、サンプル アプリケーション "イベント 2005" データベース作成が完了しました。
| 次に、「その 2 : データ アクセス コンポーネント開発」 について説明します。 |