テーブル同士を関連付けるリレーションは、リレーショナルデータベースにとって最も重要で最も利用価値の高い機能です。これによって、複雑な情報群を目的に即して合理的にまとめることができます。
しかし、関連付けを理解する前に、押さえておかなければならないことが1つあります。関連付けの対象となるテーブルの切り分け――いわゆる「テーブルの正規化」です。実際の業務に用いる情報群が複数のテーブルに正しく分割されていなければ、関連付けの機能は意味を成しません。それを理解した上で、SQLによる関連付けの基本を説明します。
サンプル・データベースの扱いについて 前回から、新しいサンプル・データベースを使っています。サンプル・データベースの登録方法については、前々回(第9回)の記事から「新しいサンプルデータベースの準備」の項をお読みください。
今回紹介しているSQLを実行しても、サンプル・データベースの内容は書き換えられません。従って、データベースのバックアップを取る必要はありません。
|
|
- 目次 -
|
■ |
リレーションと正規化(1) |
|
・ |
テーブルの「関連付け」とは? |
・ |
ボウリング、営業成績、健康診断… |
・ |
社員Aさんに関するたくさんの情報 |
・ |
全部Aさんの情報だが役割は異なる |
|
■ |
リレーションと正規化(2) |
|
・ |
役割によって切り分ける |
・ |
IDによってレコードを特定する |
・ |
フィールドによってテーブルを関連付ける |
|
■ |
リレーションは2つのテーブルの関係 |
|
・ |
3つのテーブルの関連付け |
・ |
テーブルの数は関係ない |
|
■ |
SQLによる関連付け |
|
・ |
WHERE句でフィールドをつなぐ |
・ |
商品と仕入先を関連付ける |
・ |
別名を使って簡潔にする |
・ |
ASも省略できる |
|
■ |
3つのテーブルを関連付ける |
|
・ |
2つの式をANDでつなぐ |
・ |
商品、仕入先、在庫を関連付ける |
・ |
処理結果を並べ替える |
|
■ |
あとがき |
|