トップ > スキル : アプリケーション > Access(アクセス) > データベースシステム(リレーションシップの作成)

Access

売上管理データベースの作成

リレーションシップの作成

リレーションシップを設定します。
リレーションシップは、必ずしも設定しなければならないものではありません。データ同士の整合性を重要視するようなデータベースであれば、設定するほうが良いかもしれません。

ただし、制限事項が多くなるので、テーブル内のデータを毎回修正するとか、削除するようなものであれば、リレーションシップは設定しない方が良いです。
利用するユーザに間違った入力や削除をさせないような工夫をしておけば、整合性は保たれます。

リレーションシップ設定方法

① オブジェクトが何も開いていない状態で、[データベースツール]タブを選択します。
[表示/非表示]-[リレーションシップ]ボタンをクリックします。

② すべてのテーブルを追加して、[テーブルの表示]ウィンドウは閉じておきます。
関連付けさせるフィールド同士を結びます。1つの例で説明すると、[顧客テーブル]の「顧客ID」を[売上テーブル]の「顧客ID」までドラッグして、マウスのボタンを離します。

関連付けをする

③ [リレーションシップ]ウィンドウが開きます。[参照整合性]のチェックボックスを有効にして、[作成]ボタンをクリックします。

参照整合性のチェック

④ 「顧客ID]同士が線で結ばれます。

結合線の設定

これまでの設定手順を参考にして、残りの関連付けを行ないます。
下図のように参照整合性を設定して、設定が完了したらリレーションシップウィンドウは保存して閉じます。

結合線の端に「1」、「∞」の記号が表示されます。これは、1対多を意味します。顧客IDを例にして説明すると次のようになります。
「顧客テーブル」の中には顧客ID「1」は1つしか存在しません。その理由は、顧客テーブルの顧客IDは主キーなので、同じ番号は存在しないからです。
しかし、「売上テーブル」内では同じ顧客ID「1」は複数存在します。なぜなら、同じ顧客が何回も商品を購入することがあるからです。

このような関係を見ると、「顧客テーブル」のデータは「売上テーブル」に提供する参照用のテーブルとなります。Accessでは、参照用のテーブルを主テーブル(1側)、データが日々蓄積されるテーブルを関連テーブル(多側)と呼びます。
「顧客テーブル」と「売上テーブル」の関係を整理すると、両テーブルは「顧客ID」で関連付けされています。「顧客テーブル」の顧客IDは主キーとなっていて、「売上テーブル」の顧客IDは主キーではありません。このとき、売上テーブルの顧客IDは外部キーと呼ばれます。
「1対多」の関係の場合、1側には主キーが設定されているので主テーブル、多側のほうは関連テーブルとなります。主テーブルは、あるテーマに基づいた情報が蓄積されている参照用のテーブルとして扱われます。関連テーブルは、主テーブルから必要な情報を呼び出して、日々更新していくデータを蓄積するテーブルとなります。