リレーションシップとは複数のテーブルを関連付け使用することです。 これにより重複するデータを何回も入力する必要がなくなります。 重複するデータがなければ、修正も1つのデータだけで済みます。 Accessだけでなく使われる機能ですので覚えてください。 関連する「リレーションシップの作成方法」を参照してください。 |
作品データベースで考えてみます。
まず、ドラマやアニメの「ジャンル」があります。
その中に、ドラマ名やアニメ名などの「作品名」があります。
その作品名の中に、俳優や声優などの「キャスト」があります。
これを、一つのテーブルで作ろうとすると下記のようになります。
ドラマ - 夏の思い出 - 西島雄一
- 岡田芳美
アニメ - ガラスのミリカ - 狭山高次
- 岡田芳美
のようになります。
このような作品をリレーションシップでつなぎ、共通データをまとめるとすると、「キャスト」は多くの作品に出演する可能性があるので重複し入力する必要はなくなります。
つなぐデータは、それぞれに固有のIDを付けそれでつなぎます。
例えば「岡田芳美」のIDを5とすると、夏の思い出にもガラスのミリカにもIDが5のキャストが使用されることになります。
このように分解し作成したテーブルは用途が別のデータベースとしても利用でき無駄がありません。
ファイルサイズも T_ジャンル < T_作品 < T_キャスト の順でデータ量が多くなるので、全体がふくれることがなく無駄がありません。
もし後日「岡田芳美」の名前が間違っていた場合、リレーションシップを設定していなければ、全ての出演作品について修正することになります。
リレーションシップを設定していた場合、IDが5の「岡田芳美」を修正するだけで済みます。
以上のように大変役に立つ機能です。
下記が作品データベースの中身を分け作成したテーブルです。
■ ジャンル
ジャンルID - オートナンバー型
ジャンル名 - テキスト型
■ 作品
作品ID - オートナンバー型
ジャンルID - 数値型
作品名 - テキスト型
■ キャスト
キャストID - オートナンバー型
作品ID - 数値型
キャスト名 - テキスト型