更新 : 2007 年 11 月
このレッスンでは、データベースを作成する方法を説明します。このデータベースは、アドレス帳プログラムを作成する、後続のレッスンで使用します。
前のレッスンでは、データベースを使用して Visual Basic プログラムのデータを格納および取得できることを説明しました。まず、アクセスするデータベースを作成する必要があります。既存のデータベースを使用することもできますが、このレッスンでは、Visual Basic の Visual Database Tools を使用して新しいデータベースを作成する方法について説明します。
前提条件
Visual Basic Express Edition を使用して SQL Server Compact 3.5 データベースを作成してアクセスするには、まず SQL Server Compact 3.5 をインストールする必要があります。Visual Basic Express Edition のインストール時にインストールしなかった場合は、レッスンを続行する前にインストールしてください。詳細については、「SQL Server Compact 3.5 (Visual Studio) の使用」を参照してください。
やってみよう
データベースを作成するには
[ファイル] メニューの [新しいプロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows フォーム アプリケーション] をクリックします。
[プロジェクト名] ボックスに「FirstDatabase」と入力し、[OK] をクリックします。
新しい Windows フォーム プロジェクトが開きます。
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[ローカル データベース] をクリックします。
[ファイル名] ボックスに「FirstDatabase」と入力し、[追加] をクリックします。
データ ソース構成ウィザードが開きます。
データ ソース構成ウィザードで、[キャンセル] をクリックします。
新しいデータベース FirstDatabase.sdf がプロジェクトに追加され、ソリューション エクスプローラに表示されます。
テーブルの追加
このように、データベースの作成は簡単です。このデータベースにはデータが入っていないので、現在の状態では役に立ちません。次の手順では、データベースにテーブルを追加します。ここでは、アドレス情報を格納するテーブルを追加します。
やってみよう
データベースにテーブルを追加するには
[表示] メニューの [データベース エクスプローラ] をクリックします。
データベース エクスプローラで、[FirstDatabase.sdf] を展開し (正符号をクリック)、[テーブル] を選択します。
[テーブル] を右クリックし、[テーブルの作成] をクリックします。
[新しいテーブル] ウィンドウが開きます。
[名前] ボックスに「Addresses」と入力します。
[列名] の下の空のフィールドを選択し、「FirstName」と入力します。
"データ型" フィールドで、ドロップダウン リストの [nvarchar] をクリックします。
"長さ" フィールドの値を「50」に設定します。[Null を許容] 列が自動的に [はい] に設定されます。
これで、新しいテーブルの最初の列を定義しました。
前の 3 つの手順を繰り返して、次の値を持つ 4 つの列を追加します。
列名 : LastName、データ型 : nvarchar、長さ : 50
列名 : StreetAddress、データ型 : nvarchar、長さ : 50
列名 : City、データ型 : nvarchar、長さ : 50
列名 : Phone、データ型 : nvarchar、長さ : 50
[OK] をクリックして、テーブルを作成して [新しいテーブル] ウィンドウを閉じます。
主キーの追加
これで、名前、住所、電話のデータを格納してアドレス帳として使用できるテーブルがデータベースに作成されました。もう 1 つの手順として、レコードが重複しないように主キーを追加する必要があります。
主キーとも呼ばれるキー列は、テーブル内の常に一意の値を持つ列を表します。ある特定の値をこの列に含む行は、テーブル内で 1 つしか存在できません。同じ値を含む行をもう 1 つ入力しようとすると、エラーが発生します。
主キーとして機能できる単独の列がない場合は、複数の列を使用できます。この Addresses テーブルの場合は、FirstName 列と LastName 列の両方を主キーに指定します。知り合いの中に名と姓のどちらかが同じ人が複数いる可能性はありますが、名と姓が両方とも同じ人が 2 人いることはあまり考えられません。
やってみよう
テーブルに主キーを追加するには
データベース エクスプローラで、[テーブル] ノードを展開します。
[Addresses] テーブルを右クリックし、[テーブル スキーマの編集] をクリックします。
[テーブルの編集] ウィンドウが開きます。
FirstName 行で、[Null を許容] を [いいえ] に、[主キー] を [はい] に変更します。
LastName 行で、[Null を許容] を [いいえ] に、[主キー] を [はい] に変更します。
メモ :
主キーとして指定されたフィールドは値を持つ必要があるため、[Null を許容] は [いいえ] に設定します。
[OK] をクリックして、設定を保存して [テーブルの編集] ウィンドウを閉じます。
データの追加
これで、Addresses という 1 つのテーブルのあるデータベースが作成されました。データベースは、データが含まれていなければ、あまり役に立ちません。次の手順では、Addresses テーブルにデータを追加します。例で使用されている名前と住所は、知り合いの名前と住所に置き換えてもかまいません。
やってみよう
テーブルにデータを追加するには
データベース エクスプローラで [テーブル] ノードを展開し、[Addresses] ノードを選択します。次に、[データ] メニューの [テーブル データの表示] をクリックします。
データ テーブル ウィンドウが開きます。
データ テーブル ウィンドウで、FirstName フィールドに「Sandeep」と入力します。
メモ :
データ テーブル ウィンドウを最初に開いたときは、各フィールドの値が NULL になっています。NULL は、そのフィールドが空であることを表すデータベース用語です。
LastName フィールドに「Kaliyath」と入力します。
StreetAddress フィールドに「123 45th Ave. E」と入力します。
City フィールドに「Seattle」と入力します。
Phone フィールドに「2065550100」と入力し、Tab キーを押します。
これで、Addresses テーブルの最初のレコードが定義されました。
手順 2. ~ 6. を繰り返して、次の値を含む 2 つのレコードを追加します。
FirstName: Michael、LastName: Alexander、StreetAddress: 789 W. Capital Way、City: Tacoma、Phone: 2065550101
FirstName: Andrea、LastName: Dunker、StreetAddress: 234 Moss Bay Blvd、City: Kirkland、Phone: 2065550102
[ファイル] メニューの [すべてを保存] をクリックして、プロジェクトとデータベースを保存します。
データの入力中には、データの横に小さい感嘆符のアイコンが表示されます。Tab キーを使用して次の行へ移動すると、アイコンは表示されなくなります。このアイコンは、そのデータがデータベースに保存されていないことを示します。データを入力している行から移動すると、その行全体のデータが自動的にデータベースに保存されます。
次の手順
このレッスンでは、統合開発環境 (IDE: Integrated Development Environment) でデータベースを作成し、データベース テーブルを追加して、テーブルにレコードを追加しました。次のレッスンでは、プログラム内でデータベースを使用する方法について説明します。
次のレッスン : 「必要な情報の入手 : 既存のデータベースに接続する」