テーブルを作成したら、サンプル・データを入力してみよう。Enterprise Managerでは、表計算アプリケーション風の入力ウィンドウで、現在のテーブルのデータの表示、行の追加、データの変更、行の削除などが行える。これには、操作したいテーブルを右クリックして、表示されるポップアップ・メニューの[テーブルを開く]−[全行を返す]を実行する。
新規に作成したテーブルには、まだデータを入力していないので、何も表示されない。
ここでは、表計算ソフトウェアの要領で、キーボードからテーブルのデータを入力できる。前述した図のデータをそのままPerson、Sectionテーブルに入力した。
データベース・システムのメリットは、アプリケーションからデータを独立させて、安全かつ効率的なデータ操作をアプリケーションに対して提供できることだ。
RDBMSがベースとするリレーショナル・データ・モデルでは、テーブルに対して「和」や「共通」「差」といった一般的な集合演算を実行したり、射影(projection、テーブルから指定された列だけを抽出する)や選択(selection、条件に合致する行だけを抽出する)、結合(join、複数のテーブルのうち、共通する列データが等しい行を結合する)などリレーショナル・データ・モデル特有の演算を実行したりできる。
このうち最もよく使う演算は選択だろう。先ほど作成したPersonテーブルで選択を実行してみよう。ここでは例として、Personテーブルから、部署番号が4の行だけ(開発部の社員レコードだけ)を抽出してみる。
この操作は、テーブルに対するクエリ(問い合わせ)処理である。Enterprise Managerでこれを実行するには、Personテーブルを右クリックし、[テーブルを開く]−[クエリ]を実行する。先ほどは[テーブルを開く]−[全行を返す]を実行してすべての行データを取り出したが、今度は条件を指定して、条件に合致したものだけを選択する。
メニューを実行すると、次の画面になる。
細かい点は置いておき、今回の選択条件を設定して、クエリを実行してみよう。
(1)〜(4)までのグラフィカル・インターフェイスを使用してクエリの内容を指定すると、それに対応するSQL文が生成される((5))。実際にSQL Serverが解釈するのはこのSQL文である。連載第1回で解説したとおり、SQL(Structured Query Language)はデータベースの問い合わせ言語として最もポピューラーなもので、SQL Serverという製品名の由来にもなっている。SQL Server 2000では、基本的なデータベース操作コマンドに加え、SQL Server 2000のデータを管理するための各種コマンドなどが追加された、Transact-SQLと呼ばれるSQLの互換言語がサポートされている。
ここで詳しくは説明しないが、SELECTはテーブルから行または列を選択するステートメントで、ここではPersonテーブルの「社員番号」「氏名」「入社年度」「部署番号」の列を選択対象として指定している。次のFROMはSELECTステートメントに付属する句の1つで、SELECTで使用するテーブルを指定する。ここではPersonテーブルを指定している。WHEREもSELECTステートメントの句で、SELECTステートメントで選択される行を制限するための検索条件を指定する。ここでは部署番号が4である行だけを検索している。
SELECT 社員番号, 氏名, 入社年度, 部署番号
FROM Person
WHERE (部署番号 = 4)
クエリの作成が完了したら、ツール・バーにある感嘆符(!)マークのボタンをクリックして、作成したクエリを実行する。するとEnterprise ManagerからSQL Serverデータベースへのクエリが実行され、その結果が(6)の部分に表示される。予定どおり、開発部(部署番号=4)に所属する社員番号5番の「遠藤五郎」さんと、社員番号7番の「米田良子」さんの2行だけが表示されている。
ここではEnterprise Managerを利用して、マニュアルでクエリを作成して実行したが、データベースを操作するアプリケーションは、こうしたクエリを鋭意アプリケーション側で作成し、実行し、結果を受け取って必要な処理を進めることになる。
引き続き次回も、今回の人事データベースを例にとり、リレーショナル・データベースの操作をいくつか実行する。特にリレーショナル・データベースの大きな特長の1つである結合(join)の例をご紹介しよう。
Copyright© Digital Advantage Corp. All Rights Reserved.