Part1 では表計算ソフト「Excel」とデスクトップ・データベース・ソフト「Access」を使った例をお見せしました。Part3では,もう少し本格的なデータベース・ソフト「SQL Server」とExcelを組み合わせて動かします。

 マイクロソフトの「SQL Server」は,リレーショナル・データベース管理システム(RDBMS)であり,動作の形態としてはクライアント/サーバー型のデータベース・ソフトです。Part1に登場したAccessはファイル共有型のデータベース・ソフトです。一般的に,クライアント/サーバー型のデータベースはファイル共有型のものより,多くのユーザーに使ってもらうことができます。今すぐ本格的なデータベース・システムを作る予定がなくても,SQL Serverの世界を見てみることは,きっとあなたにプラスになるでしょう。

 SQL Serverは,基本的には有償のソフトです(表1)。ただ,「SQL Server 2005 Express Edition」は無償で,マイクロソフトのWebサイトからダウンロードできます。このPart3のサンプル・プログラムは,SQL Server 2005 Express EditionとExcel 2007を用意すれば,動かすことができます。

表1●SQL Server 2005のエディション
[画像のクリックで拡大表示]
表1●SQL Server 2005のエディション

SSMSEでデータベースを作る

 SQL Server 2005 Express Editionをインストールする際には,途中の画面で,「SQL Server Management Studio Express」(SSMSE)をインストールするように設定してください。SSMSEは図1のようなソフトです。これを使って,「nbpdbx」という名前のデータベースを作成し,そのデータベースの中に「customer」,「goods」,「history」という三つのテーブルを作成します。そのデータベースを使って,販売管理のソフトを作ってみます。

図1●SQL Server Management Studio Express(SSMSE)でテーブルのデザイン(定義)をしているところ
図1●SQL Server Management Studio Express(SSMSE)でテーブルのデザイン(定義)をしているところ
[画像のクリックで拡大表示]

 図1はhistoryテーブルの設定をしているところです。テーブルを新規作成すると,すぐに列の設定画面になります。既存のテーブルに変更を加えるなら,左側の「オブジェクトエクスプローラ」でテーブルを右クリックして,ポップアップメニューから「デザイン」を選ぶと,テーブルの列の設定画面になります*1

 三つのテーブルが持つべき列の情報を表2に示します。SSMSEの画面では,「Nullを許容」というチェックボックスで,値が定まらない(不定,Null)の状態を許容するかどうかを設定できます。今回はすべての列で,Nullを許容しないことにします。

表2●「nbpdbx」というデータベースを作り,以下の列を持つテーブルを作成する
[画像のクリックで拡大表示]
表2●「nbpdbx」というデータベースを作り,以下の列を持つテーブルを作成する

 「IDENTITYの設定」は,自動的に番号を振るSQL Serverの機能です。一つひとつの行(レコード)に,その行独自の番号を付与します。今回は各テーブルに「id」という列を持たせ,「列のプロパティ」(図1下側)でIDENTITYの設定をします。

 「id」列には主キーも設定しておきます。主キーの設定によって,テーブル内の特定の行を処理することが容易になります。SSMSEで主キーを設定するには,列の左端の少し灰色がかった部分を右クリックしてポップアップメニューを出し,「主キーの設定」を選択します。主キーを設定すると,図1のように黄色い鍵のマークが小さく表示されます。データベースとテーブルを作ったら,SSMSEで「すべて保存」を押すなどして,きっちり保存することも忘れないでください。

 SQL Serverのデータベースは,ファイルから復元することも可能です。日経ソフトウエアのWebサイトに復元用のファイル「nbpdbx.bak」を置きますので,それをダウンロードして読み込んでください。オブジェクトエクスプローラでデータベースを右クリックし,「データベースの復元」を選び,次の画面で「デバイスから」をクリック,右側の「...」ボタンを押し,「追加」ボタンを押してファイル指定画面に進みます。