Access

アクセス2019 使い方④初心者向け リレーションシップと参照整合性の設定

スポンサーリンク

アクセスの使い方④では、③で作成したテーブルにリレーションシップを作成していきます。

リレーショナルデータベースでは、表を小分けして作成し、それらを相互に関連付けて利用する構造を持っています。

それにより、余計な入力、入力ミスを防ぎ、効率よくデータの入力や更新などができます。

ここでは、リレーションシップのメリットや種類、作成方法などを解説していきます。

YouTubeで見る↓

https://youtu.be/RWzhYIsp6NU

1.リレーションシップのメリット

(1)データの自動参照

リレーションシップを作成したフィールドどうしは互いに関連づいているので、片方のテーブルのコードを入力すると、関連づいたも片方の内容を参照して表示してくれます。

例えば、商品コードを入力するだけで、商品マスターの内容を参照して、単価や画像を表示してくれます。

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

(2)データ変更の反映

データの変更をした場合、そのデータを参照しているデータをひとつずつ変更していくのは大変です。参照元のデータを1つ変更すれば、参照先の全てのデータが更新されます。

例えば、商品マスターテーブルの単価を変更すると、その参照先の単価は全て自動で更新されます。

Accessリレーションシップ

  ↓ 単価を変更する

  ↓ 参照先の単価は自動で更新される

主テーブルと関連テーブル

2つのテーブルにリレーションシップを作成したとき、主キーが含まれているテーブルを主テーブルといい、もう一方のテーブルを関連テーブルまたはリレーションテーブルといいます。

関連付けたフィールドは、主キーに対して、外部キーといいます。

主テーブル(商品CDが主キー)

関連テーブルまたはリレーションテーブル(商品CDは外部キー)

2.リレーションシップの作成の種類

(1)自動結合

クエリを作成するときに、2つのテーブルをクエリウィンドウに表示すると、同じ名前で同じデータ型のフィールドで、さらに一方のフィールドに主キーの設定がされていると、自動的にリレーションシップが作成されます。参照整合性の設定はできません。

Accessリレーションシップ

(2)手動結合

手動結合では、リレーションシップウィンドウで作成します。関連付けたいテーブルを表示し、関連付けたいフィールドのデータ型が同じであればリレーションシップを作成できます。データ型が同じであればいいので、フィールド名に違いがあっても作成ができてしまいます。また、参照整合性の設定ができるので、手動結合がおすすめです。

Accessリレーションシップ

3.参照整合性の設定とは

リレーションシップの作成をする場合、参照整合性の設定をするとより矛盾のないデータ管理を行うことができます。

例えば、主テーブルで主キーに登録されていないコードは、外部テーブルで入力することができません。

外部テーブルで、入力されているコードを勝手に主テーブルで変更したり削除したりすることもできません。それにより、ふたつのテーブルの参照整合性を保つことができます。

(1)入力の制限

T商品マスターの商品CDに登録されていない商品CDは、T売上データで勝手に入力することはできません。

主テーブル

関連テーブル

Accessリレーションシップ ←999は入力できません!

※主テーブルにない「999」は、参照整合性の設定をしていると、入力はできません。

(2)更新の制限

T売上データの商品CDで既に入力されている商品CDを、主テーブルの商品マスターで変更することはできません。

関連テーブル

Accessリレーションシップ ←商品CD「102」は入力されている

主テーブル

Accessリレーションシップ←商品CD「102」を「600」に変更するとエラーメッセージが表示されます

ココがポイント

ただし、主テーブルのデータの更新に伴って、関連テーブルのデータも更新したいという場合には、《フィールドの連鎖更新》を設定することにより、更新可能になります。

Accessリレーションシップ

(3)削除の制限

T売上データの商品CDで既に入力されている商品CDを、主テーブルの商品マスターで削除することはできません。

関連テーブル

Accessリレーションシップ ←商品CD「102」は入力されている

主テーブル

Accessリレーションシップ

               ↓

ココがポイント

ただし、主テーブルのレコードの削除に伴って、関連テーブルのレコードも削除したいという場合には、《レコードの連鎖削除》を設定することにより、レコード削除が可能になります。

Accessリレーションシップ

4.リレーションシップの手動作成の方法

リレーションシップの作成には、クエリを作成するときに自動で作られる自動作成と、リレーションシップウィンドウで作成する手動作成があります。

ここでは、リレーションシップの手動作成の方法について説明していきます。

「Accessの使い方①」で作成した4つのテーブルにリレーションシップを作成していきます。

①《データベースツール》タブー《リレーションシップ》グループー《リレーションシップ》をクリック

②《リレーションシップツール》《デザイン》タブー《リレーションシップ》グループー《テーブルの追加》をクリック

③4つのテーブルをドラッグして追加をクリック。

4つのテーブルのフィールドリストが表示されます。

Accessリレーションシップ

④T客様マスターの「担当者CD」からT担当者マスターの「担当者CD」までドラッグします。

ドラッグすると、《リレーションシップ》ウィンドウが表示されるので、《参照整合性》に☑をしてOKをクリック。

2つのフィールドの間が線で結ばれます。この線を「結合線」といいます。

結合線の主キーが設定されているフィールドには「1」と表示され、外部キーのフィールドには「∞」が表示されます。

Accessリレーションシップ

⑤同じようにして、主キーが設定されている「お客様CD」や「商品CD」もドラッグして、作成していきます。

結合するフィールドどうしをドラッグしやすいように、フィールドリストは移動して並べ替えておきます。

Accessリレーションシップ

もし、同じように作成していらっしゃる方で、Tお客様マスターの「お客様CD」とT売上データの「お客様CD」の参照整合性が設定できない場合→

アクセスの使い方②の最後に、Tお客様マスターのテーブルに、「お客様CD」の「1010」というデータを1件、手入力しています。

この部分を省略していますと参照整合性の設定はできません。

アクセスの使い方③でインポートするT売上データには、「お客様CD」の「1010」が入力されているため、矛盾が生じるためです。

5.まとめ

まとめ

リレーションシップは、作成したら必ず上書き保存をしてから、閉じましょう。

リレーションシップの作成をするときには、テーブルは全て閉じてから作成しましょう。

開いていると次のようなメッセージが表示され、作成できません。一度テーブルを閉じて作成しましょう。

Accessリレーションシップ

sangoya

最後までお読みいただきありがとうございました。

もっと、本格的にAccessを勉強したい方は、「AccessVBA」も、面白いですよ。

できることが、断然ひろがります。

VBAは言語のひとつなので、プログラミングスクールでも受講ができます。

VBAを教えてくれるスクールは、侍エンジニア塾です。

侍エンジニア塾は、オーダーメイドでカリキュラムを作成するので、やりたいこと、作りたいものが達成できます。

アクセスの使い方⑤ 初心者向け【 クエリの作成 並べ替え 演算フィールド】へ

スポンサーリンク

-Access

© 2021 無料オンラインパソコンスクール-SANGOYA Powered by AFFINGER5