Microsoft Access Club >初心者講座 >アンケート管理ソフト >このページ >次頁 - 前項  サイト内検索


Accessのリレーションの効用 : アンケート管理ソフト



前回までのテーブル関係のお話、少しはお役に立ちましたでしょうか。
結局のところテーブル構成は、失敗を繰り返しながら覚えるしかありませんね。アプリケーションを作成してから、1年ほど経って振り返ると、「よくまぁーこんな作り方をしたもんだ」てなことになるでしょう。きっと‥。

さぁ、今回は「リレーション」のお話ですが、実のところ

で殆ど話し尽くした感じがします。これら以上に詳しくは、一寸無理ですね。しかし、何かしゃべらないと前に進まないので、 今回は リレーションの効用 についてお話しましょう。

初めてAccessに取り組んだ方が、まず大きな壁に行き当たるのがここです。

「リレーションて何?」でしょう。よく解説書にも「テーブルとテーブルを結んで、疑似的なテーブルを作ることができる。」てなことが書かれていますね。そのとおりなんですが、ピンときません。この原因は一言で言い当てようとするから混乱するんです。

 リレーションの利点、欠点

以下にリレーションを設定したらどんな利点、欠点があるかを記述してみましょうか。

利点としては、

1-1保守管理を行い易い。

1-2システムにおけるテーブル間の構成や組み立て方が把握し易い。

1-3テーブル自体の容量を抑えることができる。

1-4データの抽出などを行い易い。

 

欠点としては、

2-1データの把握が1テーブルだけでは行い難い。

2-1クエリの作成や知識の取得が必要となる。

このように区分けしていくと、利点の方が多いのが判りますね。リレーションの設定は、テーブル作成後に一度だけ行えば事足ります。毎回、ファイルを開くごとに行う必要がありません。念のため…。

 1-1保守管理を行い易い

このことは表計算ソフトとの対比での話しです。

例えば、売上データがあって、一商品を売り上げるごとに、商品単価と販売先をそれぞれの書き込んでいると仮定します。3ヵ月後に請求を行う際、販売先から社名の変更を申し出られたケースを想像してください。全てにわたって「書き換え」作業が必要になります。請求書の宛名、明細書、受領書等が該当するんじゃないですか。一箇所でも見逃したら、そりゃ大変です。

これがAccessのリレーションを構築してして、「取引先マスターテーブル」なるもので一括管理している場合、変更箇所は1つだけ済んでしまいます。簡単でしょう。

しかし、ここには"リレーションの落とし穴"が待ち受けています。この"落とし穴"についても簡単にお話しておきます。

先のケースの場合、今回の請求からに限って社名を変更したい訳ですね。具体的にいいますと、取り引きが平成11年4月から始まっているとします。

今回は、平成12年9月〜11月以降の請求に限って社名変更を行う必要がありますが、しかし、「取引先マスターテーブル」で社名を変更しますと、全データに亘って変更されてしまいます。これが有名な"落とし穴"なんです。

これを防止する方法としては、更新処理機能をAccessソフトに付加します。

つまり、確定データを「テーブル更新クエリ」で別テーブルに複写することです。そして、データ情報の閲覧はこの確定テーブルから行うようにします。この別テーブルはリレーションをどのテーブルとも結んでいませんよ。念のために‥。

よく経理部門等で、日次更新や月次又は年次更新というものがありますが、このような処理を含んでいる場合が多いようです。

 1-2システムにおけるテーブル間の構成や組み立て方が把握し易い

リレーションシップの一覧図を下記のように表示させることができます。これをみれば、テーブル構成等が一目で把握できますね。え、見難いだって、うーん、もっとAccessに親しんで貰うしか‥。

 1-3テーブル自体の容量を抑えることができる

何故、抑えなければならないのか。これはレスポンスの問題です。

ご存知のように、Accessソフトは使えば使う程、ファイル容量が増大します。

表計算ソフトでは、データを削除すればその分少なくなるんですが、Accessは逆に増えちゃいますね。10MBのファイル容量が30MBにまで増大したAccessファイルを見たこともあります。

Accessには領域と云うものがありまして、Accessを使えば使うほど増加する仕組みです。
つまり、減った分は空のままで領 域だけが残ります。肥大する訳です。そのまま使い続けると、領域がスカスカになってファイル自体が不安定になりますので、下記のような「最適化」処理(サンプル図はAccess2000)を定期的に実行して下さい。

このように、ファイル容量を抑える = ファイル容量が少ない = レスポンスがいい という図式になります。

前回にサンプルとして各データ型の消費バイト数を参考に掲載しましたが、バイト型と長整数型とではデータ量が多くなればなるほど顕著になってきます。まあ、プライベートで使う限り、余り気にしなくてもいいと思いますが‥。

 1-4データの抽出などを行い易い

データベースは基本的には、数値で管理します。リレーションを結ぶ意味もここにあるんですが、数値は識別で優れていますので、高度な抽出には過誤が少なくなります。

また、第三者がアプリを操作する場合でも簡易ですよね。そして、データの抽出時、不要なファイルを表示させないことが簡単に行える利点もあります。

 2-1データの把握が1テーブルだけでは行い難い

上記の図をご覧頂いてもよく分かりますが、いろんなテーブルを結び付けていますので、1テーブルだけを見て全体を把握し難い構造です。

これだけでは何がなんだか分かりませんね。クエリという機能を用いて初めて意味をなすんですから当然なんですが、1テーブルの内容把握の面で バツ です。

 2-2クエリの作成や知識の取得が必要となる。

このようなクエリ操作の知識を取得する必要が出てきます。それほど難しくはないんで余りマイナスとは考えませんが‥。

このようにリレーションはデータベースの要であって、避けてはとおれないものです。テーブル構成やファイルの発展にもに大きな影響力を及ぼします。但し、最初は気軽に取り組んでも問題ないですよ。

そして、あまりテーブルを細分化することはお勧めできないし、Accessのウィザードとして標準装備されている「テーブル分割ウィザード」は信用しない方が身のためです。

 

これを申し沿えて本日のお話は終了いたします。
 

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

 


Accessのリレーションの効用 : アンケート管理ソフト


 

-Microsoft Access Club-