たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

AccessVBA_SQLによるテーブルの結合その1【リレーションシップ】【結合の種類】

Accessでのテーブルの結合に関し、3回に分けて解説

リレーションシップとは


・複数のテーブルに共通するフィールドで、テーブル同士を関連付ける(結合する)
・左側のテーブルが一側、右側のテーブルが多側
・結合するフィールド名は同じである必要はない(が同じほうがわかりやすい)

▼設定方法参考サイト▼
リレーションシップの作成と参照整合性の設定 | Access 2019 | 初心者のためのOffice講座
↑すごくわかりやすい…

結合の種類

内部結合

 結合した2つのフィールドの間で共通する値のレコードのみを表示

左外部結合

 結合した2つのフィールドの間で、下記で共通するレコードを表示
 左側のテーブル(一側)のすべてのレコード ー 右側のテーブル(多側

右外部結合

 結合した2つのフィールドの間で、下記で共通するレコードを表示
 左側のテーブル(一側) ー 右側のテーブルのすべてのレコード(多側

KNIMEのjoinerでいうinner join,left,rightと同様か

参照整合性とは

リレーションシップを設定したテーブル間で、データの整合性を維持するための規則

規則1_一側テーブルの主キーに存在しない値を、多側テーブルに入力できない
規則2_多側テーブルに関連付けられている一側テーブルの値は、削除できない
規則3_多側テーブルに関連付けられている一側テーブルの値は、変更できない

上述の規則を緩和するための、以下の機能についても併せて覚えておく

連鎖削除機能(規則2に関連)

一側テーブルのレコードの削除が許可され、削除すると関連付けられた多側テーブルのレコードもすべて削除される

連鎖更新機能(規則3に関連)

一側テーブルの主キーの変更が許可され、変更すると多側テーブルの外部キーも自動的に更新される


テーブルの結合解説 その2
tama-shi.hatenadiary.com
テーブルの結合解説 その3
tama-shi.hatenadiary.com