Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


一側テーブルと多側テーブル:AccessTips056



Accessファイルを作成する際には、リレーション設定の理解力が必要になります。特に、1対多の関係 で構築するリレーションはデータベースの基本になります。今回は、1対多のリレーションについてサンプルファイルを交えて、簡単にまとめてみます。

1対多の事例

電気製品の販売所において、メーカーから仕入れ状況をAccessで管理する場合を想定します。この場合、テーブル構成は下記のように なります。

tbl_masterテーブルは一側テーブル、tbl_sampleは多側テーブルになります。そして、これらにリレーションを設定してあたかも1つのテーブルのように利用します。

留意事項

tbl_masterテーブルの商品IDは、必ず「重複レコードなし 」の設定にしなければいけません。

解説
  1. 一側テーブルは、マスターテーブルとも呼ばれます。データを他(リレーションを結んでいる)のテーブルから参照されるテーブルです。
  2. 多側テーブルは逆に、他(リレーションを結んでいる)のテーブルにデータを求めに行くテーブルです。

リレーション設定を行わない場合

Accessに取り組まれて暫くの間は、複数のテーブルを結びつけるなんて思いも寄らないことでしょうね。まず、下記のようなテーブルを想定するでしょう。

これは、入力データ全てを1つのテーブルに格納する方法で、エクセル的な考えです。そして、このようなテーブル構成は、大きな問題を抱えています。

将来、商品IDや商品名の修正があった場合

このような時は、全て1つのテーブルであると全レコードに亘って修正する必要があります。しかし、tbl_masterテーブルを 別に設定してリレーションで分割しているとtbl_masterテーブルの該当項目を修正するだけでOKです。

入力者によって、商品名入力が異なる場合

例えば、カラーテレビとカラーテレビと、その日の気分で異なって入力されてしまう可能性があります。テーブルを分割し商品IDフィールドでリレーションを設定していると、商品IDの 数値で入力できるので、異なることはありません。

よって、多量のデータを扱う場合、また将来の変更箇所を想定して、複数のテーブルに分割することが常識になっています。

データ入力

これらテーブルにデータを入力すると、下記のようになります。

tbl_masterテーブルのデータ
 

商品ID

商品名

0001

カラーテレビ

0002

エアコン

0003

電子レンジ

0004

DVDプレーヤー

tbl_sampleテーブルのデータ
 

ID

購入日

商品ID

1

01/7/21

0001

2

01/7/22

0003

3

01/7/22

0004

4

01/7/23

0002

5

01/7/24

0004

クエリでの一覧表示

「1つのテーブルでまとまったデータを見れないの?」との問い合わせに対しては、クエリを利用して一覧表示をさせます。

ID

購入日

商品ID

商品名

1

01/7/21

0001

カラーテレビ

4

01/7/23

0002

エアコン

2

01/7/22

0003

電子レンジ

3

01/7/22

0004

DVDプレーヤー

5

01/7/24

0004

DVDプレーヤー

リレーションの設定、及び確認は、メニューバーのツールからリレーションシップをクリックすることで行えます。

重要

  • 一側テーブルと多側テーブルの関係とは、つまるところ「リレーションシップ」の関係です。

 2001/07/27

ページの先頭へ 前ページへ戻る

 


一側テーブルと多側テーブル:AccessTips056


 

-Microsoft Access Club-