ACCESSについて、宮本勝己さん

Mr.Katsumi Miyamoto, "WORKING QUADS" guest
Working Quadsのホームページへ

宮本勝己さん、




MS−ACCESSについて




MS−ACCESS(以下、ACCESS)は、比較的簡単にリレーショナルデー
タベースシステムを構築できるソフトウェアです。


1、ACCESSの概要


データベースは通常次のように利用されます。まず、テーブルにデータを入力しま
す。そして、テーブルからデータを検索・加工し、画面に表示したり、印刷したり
します。ACCESSでは、関連のあるテーブル、クエリー、フォーム、レポート、
モジュールの5つのデータベースオブジェクト(以下、オブジェクト)をまとめて
1つのファイルに保存します。ACCESSではこのファイルをデータベースファ
イルといい、複数のテーブル、フォームなどを格納できます。同時に複数のテーブ
ルやフォームを開くことはできますが、複数のデータベースを同時に開くことはで
きません(しかし、アタッチという機能を使えば別のデータベース中のテーブルを、
自分のデータベース中のテーブルの様に扱うことができます)。ACCESSの機
能は、これらオブジェクトの連携により実現されます。フォームを通してのテーブ
ルへのデータ入力、クエリーを利用してテーブルのデータを表示、クエリーを利用
してレポートを作成する、といった具合です。


2、テーブル(表)


テーブルとは行と列からなるデータの集まりのことで、列をフィールド、行をレコ
ードといいます。テーブルの作成はテーブルウィザードを使ったり、テーブルデザ
インビューウィンドウを使ったりして行います。テーブルウィザードはテーブル作
成を簡略化したものですが、その分作成できるテーブルの幅が狭くなっています。
個人的にはテーブルデザインビューウィンドウで作成することをお勧めします。テ
ーブルは、データベース化する対象物を表すもので、以下の項目により構成されて います。


 ・フィールド名

  フィールドにつける名前です。漢字やひらがなも使えます。


 ・データ型

  フィールドに格納するデータの種類です。テキスト型、メモ型、数値型(バイ
  ト型、整数型、長整数型、単精度浮動小数点型、倍精度浮動小数点型)、日付
  /時刻型、通貨型、カウンタ型、Yes/No型、OLEオブジェクト型など
  があります。


 ・説明

  フィールドの具体的な内容を記述します(これはなくても構いません)。


 ・フィールドプロパティ

  フィールドの細かな性質です。書式、定型入力、標題、既定値、入力規則、エ
  ラー・メッセージ、値要求、インデックスなどがあります。


これらの項目の設定が終わったら、次は主キーフィールドを設定します。主キーフ
ィールドとはテーブルの各レコードを識別するためのフィールドのことです。1つ
のフィールドだけの場合もあれば、複数のフィールドの場合もあります。また、主
キーフィールドに入力する値に空値は許されません。


データベース化の対象物すべてを1つのテーブルで管理すると、データベース中に
同一データが存在する、などの事態が発生し効率が悪くなるため、対象物がある程
度大きい場合は好ましくありません。そのような場合、対象物を複数のテーブルに
分割します。分割する方法としてトップダウン方式とボトムアップ方式があります。
個人的にはボトムアップ方式の方が分かりやすいと思います。


 ・ボトムアップ方式


  1、項目の洗い出し

    データベースに必要な項目を洗い出します。

  2、オブジェクトの抽出

    洗い出された項目を何らかの類似点、何らかの基準に基づき、いくつかの
    グループに分けていきます。その結果得られたグループがオブジェクトで
    す。

  3、テーブルへのマッピング

    オブジェクト内の項目をフィールドとするテーブルを作成します。


 ・トップダウン方式


  1、オブジェクトの抽出

    データベース化したい対象物を洗い出します。

  2、属性の抽出

    オブジェクトが持つ属性を洗い出します。その属性の中でデータベースに
    必要な属性を抽出します。

  3、テーブルへのマッピング

    オブジェクト内の項目をフィールドとするテーブルを作成します。


テーブルの設計が終わったら、リレーションシップの設定を行います。リレーショ
ンシップを設定することにより、テーブル間の参照整合性を保ったり、クエリー作
成の際に自動的にテーブル結合などができるようになります(自動的にテーブル結
合が行われ、抽出条件が自動的に付加されるため、混乱するおそれもありますが)。
なお、テーブルが一つしかない場合はリレーションの設定は必要ありません。リレ
ーションシップとは、テーブル間の関連のことです。設定方法を説明する前に、リ
レーションシップの種類を説明します。


 ・一対一リレーションシップ

  一方のテーブルの一つのレコードが、もう一方のテーブルの一つのレコードに
  対応します。


 ・一対多リレーションシップ

  一方のテーブルの一つのレコードが、もう一方のテーブルの多数のレコードに
  対応します。


 ・多対多リレーションシップ

  一方のテーブルの多数のレコードが、もう一方のテーブルの多数のレコードに
  対応します。ACCESSでは、このリレーションを二つの一対多リレーショ
  ンで表現します。


リレーションシップの設定ですが、テーブルのフィールド間にマウスを使って線を
引きます。一方のフィールドを他方のフィールドに向かってドラッグ&ドロップす
ればできます。この際、「一」側のテーブルからもう一方のテーブルへ線を引きま
す。線を引くとリレーションシップのダイアログボックスが表示されます。この中
で参照整合性の指定ができます。参照整合性とは、一対多のリレーションシップが
設定されているテーブルの「一」側のレコードを削除したり主キーの値を変更する
ときに、「多」側にそのレコードに対応したレコードがある場合、整合性を保つた
めに削除や変更をできなくすることをいいます。また、「一」側のテーブルにない
値を「多」側のテーブルに入力することもできません。参照整合性の欄に×をつけ
ると、テーブル間の参照整合性が保たれます。リレーションについて説明しました
が、リレーションの設定をしなければACCESSが使えないというわけではあり
ませんので設定をするかしないかはご自分で判断してください。


以上がテーブルの説明ですが、これがすべてではなく、一部です。もっと詳しく知
りたい方は、ACCESSのマニュアル、ACCESSを解説した本、リレーショ
ナルデータベースを解説した本を参考にしてください。


参考文献:


『はじめてのAccess2』(秀和システム)

『クライアント/サーバ・システム技術講座』(ソフト・リサーチ・センター)

『Access Ver.2.0 Part2.クエリー・リレーション編』(エーアイ出版)