データベース千夜一夜第11回

テーブルの関連付け(1)~SQLによるリレーションの基本 長谷川裕行
有限会社 手國堂

テーブル同士を関連付けるリレーションは、リレーショナルデータベースにとって最も重要で最も利用価値の高い機能です。これによって、複雑な情報群を目的に即して合理的にまとめることができます。

しかし、関連付けを理解する前に、押さえておかなければならないことが1つあります。関連付けの対象となるテーブルの切り分け――いわゆる「テーブルの正規化」です。実際の業務に用いる情報群が複数のテーブルに正しく分割されていなければ、関連付けの機能は意味を成しません。それを理解した上で、SQLによる関連付けの基本を説明します。


サンプル・データベースの扱いについて
前回から、新しいサンプル・データベースを使っています。サンプル・データベースの登録方法については、前々回(第9回)の記事から「新しいサンプルデータベースの準備」の項をお読みください。

今回紹介しているSQLを実行しても、サンプル・データベースの内容は書き換えられません。従って、データベースのバックアップを取る必要はありません。

- 目次 -
リレーションと正規化(1)
テーブルの「関連付け」とは?
ボウリング、営業成績、健康診断…
社員Aさんに関するたくさんの情報
全部Aさんの情報だが役割は異なる
リレーションと正規化(2)
役割によって切り分ける
IDによってレコードを特定する
フィールドによってテーブルを関連付ける
リレーションは2つのテーブルの関係
3つのテーブルの関連付け
テーブルの数は関係ない
SQLによる関連付け
WHERE句でフィールドをつなぐ
商品と仕入先を関連付ける
別名を使って簡潔にする
ASも省略できる
3つのテーブルを関連付ける
2つの式をANDでつなぐ
商品、仕入先、在庫を関連付ける
処理結果を並べ替える
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役   http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.