矢沢久雄 グレープシティ アドバイザリースタッフ
今回のキーワード
・RDBMS
DBMSが読み書きするデータ・ファイルは,一般的に「リレーショナル・データベース(Relational Data Base=関係データベース)」と呼ばれる構造になっています。これは,データを概念的に表形式で表し,複数の表に関係(リレーション)を設定したものです。リレーショナル・データベースを扱うDBMSのことを,特に「RDBMS(Relational Data Base Management System)」と呼びます。SQL Server,Oracle,Accessは,どれもRDBMSです。
SQLを理解するためには,リレーショナル・データベースの知識が必須になります。今後,SQLの構文を学べば,それが分かるでしょう。常にリレーショナル・データベースの構造を考えながらSQLを記述しなければならないのです。
データベースでは,1件のデータを「行(レコード)」で表します。1件のデータを構成する個々の項目を表したものを「列(またはフィールド)」と呼びます。例えば,商品テーブルなら,「商品ID,商品名,単価」などが列です。列には,データ形式(文字列なのか数値なのか)や,制約(ユニーク,ヌルを許さない,値の範囲など)の属性を設定できます。行と列の集合が「表(テーブル)」です。テーブルを,縦に区切ると列,横に区切ると行になります。
図1●リレーショナル・データベースの例 |
テーブル間の関係は,「リレーション」と呼ばれます。リレーションは,1つのテーブルのレコードを一意的に識別できる列(これを「主キー」と呼びます)で,同じ列の値(これを「外部キー」と呼びます)を持ったテーブルと関係付けることで実現されます。リレーションの具体例として,図1[拡大表示]を見てください。
これは,Accessで作成した販売管理データベースの例です。Shohin(商品)テーブル,Uriage(売上)テーブル,及びKokyaku(顧客)テーブルの3つのテーブルがあり,それぞれが線で結ばれています。このようにデータベースの設計は,列を定義することでテーブルを作成し,テーブル間のリレーション(関係する列)を線で結ぶことで行われます。データベースの設計によって,個々のテーブルの列の属性やテーブル間のリレーションが決定されるわけです。これらの情報のことを「スキーマ」と呼ぶことも覚えておいてください。
図2●リレーションをたどる |
リレーションがあることで,1つのテーブルから他のテーブルのデータを芋づる式に取得できます。例えば,個々のテーブルに図2[拡大表示]に示したレコードが格納されているとしましょう。リレーションをたどってShohinテーブル,Uriageテーブル,Kokyakuテーブルの順に追って行けば,「100円のりんご」を,「TEL11-1111-1111の日経太郎」が,「20個」買ったことがわかります。
今回は,SQLを学ぶ前に必要となるデータベース自体の基礎知識を中心に説明しました。次回からは,いよいよSQLの構文の説明がスタートです。お楽しみに!
◎今回の復習
・データを概念的に表形式で表し,複数の表に関係(リレーション)を設定したものをリレーショナル・データベースと呼ぶ
・表(テーブル)は,行(レコード)と列(フィールド)で構成される
・リレーションは,「主キー」を使って,同じ列の値を持ったテーブルと関係付けることで実現する