連載:Visual Studio 2005でいってみようDBプログラミング

第2回 無償データベース SQL Server 2005 Express Editionを使ってみよう

山田 祥寛(http://www.wings.msn.to/
2006/03/29
Page1 Page2 Page3

 前回は、.NET Frameworkの仕組みとVisual Studio 2005(以降、VS 2005)によるASP.NETアプリケーション開発の基本的な流れについて理解しました。

 いよいよ今回からは、連載タイトルにもあるように、データベースを利用したアプリケーション開発に移っていくことにしましょう。まずは、本連載でデータベース・サーバとして使用する「SQL Server 2005」の紹介からです。

SQL Server 2005の基本

 .NET Frameworkでは、SQL ServerやOracle Databaseはもちろん、ODBC/OLE DBに対応した主要なデータベースに接続することが可能ですが、本連載ではSQL Server 2005を採用することにします。

 SQL Serverはいわずと知れた、マイクロソフトが提供するデータベース・サーバで、.NET Framework環境との高い親和性はもちろん、用途に応じた豊富なラインアップ(表1)が魅力の製品です。SQL Server 2005はSQL Server製品の最新版で、2005年の暮れにVS 2005と同時に提供が開始されました。

製品名 概要
SQL Server 2005 Enterprise Edition ミッションクリティカルな大規模システム用途
SQL Server 2005 Standard Edition 中大規模システム用途
SQL Server 2005 Workgroup Edition 小中規模システム用途
SQL Server 2005 Express Edition 小規模システム、学習/評価用途(無償)
表1  SQL Server 2005の製品ラインアップ
各エディションに関する詳細な機能比較については、「SQL Server 2005 エディション別機能比較表」を参照。

 これだけのラインアップが並んでいると、どれを使えばよいのかが悩ましいところかもしれませんが、.NET Framework環境でデータベース・プログラミングを学習したいということであれば、まずは無償で入手可能なExpress Editionで十分でしょう。

 Express Editionは、利用可能なデータ・サイズが4Gbytesという制約こそありますが、少なくとも学習用途であれば問題になることはないはずです。もしもExpress Editionでは不足であるという状態になってしまったとしても、上位バージョンへのアップグレードは容易です(詳細は「Workgroup、Standard、Enterprise Editionへのアップグレード」が参考になります)。

 Express Editionはマイクロソフトのサイトから個別に入手することもできますが、VS 2005をインストールしているならば、併せてすでにインストールされているはずです。ですのでExpress Editionを個別に用意する必要はありません。

 本連載でも、まずはSQL Server 2005 Express Edition(以降、SQL Server)の利用を前提に一連の手続きを紹介していくことにします。

 その前にインストールされたSQL Serverを起動しておきましょう。これには、[コントロール パネル]−[管理ツール]−[サービス]から「SQL Server (SQLEXPRESS)」を右クリックし、表示されたコンテキスト・メニューから[開始]を選択してください。[状態]列に「開始」と表示されれば、起動は成功です。


図1 [サービス]ダイアログ
SQL Serverを起動するには[SQL Server (SQLEXPRESS)]を右クリックし、表示されたコンテキスト・メニューから[開始]を選択する。SQL Serverを自動起動したいならば、プロパティ・シートから[スタートアップの種類]として「自動」を選択する。

■SQLデータベースを作成しよう

 SQL Serverを起動したら、次はアプリケーションから利用するためのデータベース・ファイルを作成してみましょう。VS 2005ではデータベースを操作するための基本的なGUIツールを提供していますので、データベースの作成からテーブルの作成、データの挿入/参照などなど、基本的な処理を直感的な操作で行えます。

 VS 2005で「ASP.NET Webサイト」を新規作成し、ソリューション・エクスプローラからApp_Dataフォルダ(コラム「ASP.NETのアプリケーション・フォルダ」を参照)を右クリックして、表示されたコンテキスト・メニューから[新しい項目の追加]を選択します。

 [新しい項目の追加]ダイアログが表示されますので、ここでは、以下の図のように[テンプレート]として「SQL データベース」を選択し、[名前]には「MyDB.mdf」と入力しておくことにします。


図2 [新しい項目の追加]ダイアログ
ソリューション・エクスプローラ上のコンテキスト・メニューから[新しい項目の追加]を選択すると表示されるダイアログ。ここでは使用するテンプレートとデータベースの名前を選択(入力)する。

 App_Dataフォルダの配下にMyDB.mdfとMyDB_log.ldf(コラム「トランザクション・ログ」を参照)というファイルができていれば、データベースは正常に作成されています。もしも正しくファイルが作成されない場合、SQL Serverが正しく起動しているかを再確認してください。

[コラム]トランザクション・ログ

 「.ldf」ファイルは「トランザクション・ログ」と呼ばれ、データベースに対して実行された一連の処理(トランザクション)の履歴を記録します。

 トランザクション・ログは、データベース・サーバに何かしら障害が発生した場合に、データを復旧するために利用されます。データベースによっては「ジャーナル」と呼ばれる場合もあります。

[コラム]ASP.NETのアプリケーション・フォルダ

 App_Dataフォルダは、データベース・ファイルやXMLデータなど、アプリケーションに必要な諸々のデータ・ファイルを格納するためのフォルダです。

 ASP.NETでは、App_Dataフォルダのほかにも、特定の用途のためにあらかじめ予約されたアプリケーション・フォルダを提供しています。以下に、ASP.NET 2.0で利用可能な主なアプリケーション・フォルダを挙げておきます。

フォルダ名 フォルダの内容
App_Browsers ブラウザ情報を記述したブラウザ定義ファイル
App_Code 「.vb」や「.cs」ファイルなどのビジネス・オブジェクトを実装したコード。本フォルダの内容はアプリケーションに対する最初の要求時に動的にコンパイルされる
App_Data データベース・ファイル(「.mdf」ファイル)やXMLファイル
App_GlobalResources アプリケーションでグローバルに有効なリソース(「.resx」「.resources」ファイル)
App_LocalResources 特定ページに関連付けられたリソース(「.resx」「.resources」ファイル)
App_Themes ページ・デザインを定義するスタイル情報
App_WebReferences Webサービスを利用するために必要な諸ファイル
Bin コンパイル済みアセンブリ(「.dll」ファイル)
表2 ASP.NET 2.0で利用可能なアプリケーション・フォルダ

 アプリケーション・フォルダの内容には、エンドユーザーがHTTP経由で直接アクセスすることはできません(「App_Themes」フォルダを除く)。アプリケーション・コードからのみアクセスが可能です。

■新規テーブルを作成しよう

 作成したMyDB.mdfをダブルクリックすると、サーバー・エクスプローラがアクティブになり、[データ接続]ツリーの配下に[MyDB.mdf]が追加されていることが確認できるはずです。データベースに対する基本的な操作は、このサーバー・エクスプローラから行うことができます。

 例えば、新規にテーブルを作成するならば、サーバー・エクスプローラで[MyDB.mdf]−[テーブル]を右クリックし、[新しいテーブルの追加]を選択してください。以下のようなテーブル・デザイナが開き、テーブルの構造を設計することができます。


図3 テーブル・デザイナ
VS 2005では、データベースを操作するためのGUIツールを提供している。このテーブル・デザイナでは、上ペインで列名やデータ型など基本的な情報を、下ペインでデータ・サイズなどのより詳細な情報を設定できる。

 ここでは、以下の表3のような「booksテーブル」を作成してみましょう。主キー列を指定するには、対象列を右クリックし、表示されたコンテキスト・メニューから[主キーの設定]を選択してください。列に鍵のアイコンが表示されれば、その列には主キーが設定されています。

列名 データ型 概要
isbn VARCHAR(30) ISBNコード(主キー)
title VARCHAR(100) 書名
price INT 価格
publish VARCHAR(50) 出版社
publishDate DATETIME 配本日
表3 booksテーブルの構造
ここではisbn列を主キーに設定する。

 テーブル・デザイナを閉じるときに[名前の選択]ダイアログが開き、テーブル名を聞かれますので、ここでは「books」としておきます。サーバー・エクスプローラの[MyDB.mdf]−[テーブル]配下にbooksテーブルが追加されれば、テーブルの新規作成は成功です。

 テーブルを右クリックし、表示されたコンテキスト・メニューから[テーブル データの表示]を選択することで、テーブル内のデータを参照/編集できます。以降の作業を行うに先立って、何件かデータを入力しておくことをお勧めします。


 INDEX
  Visual Studio 2005でいってみようDBプログラミング
  第2回 無償データベース SQL Server 2005 Express Editionを使ってみよう
  1.SQL Server 2005の基本
    2.データベースの内容をグリッド表示する(1)
    3.データベースの内容をグリッド表示する(2)
 
インデックス・ページヘ  「Visual Studio 2005でいってみようDBプログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間