今回は、データベース設計でよく使われる「ER図」と、Accessとの関係について解説します。
ER図について調べてみると、専門用語が多くて分かりづらいと感じた方も多いのではないでしょうか。
実際、「ER図は分かるけど、Accessでどう使うのかが分からない」というケースはよくあります。
そこで本記事では、ER図を単体で解説するのではなく、「ER図(設計)をAccess(実装)にどう落とし込むのか」という視点で整理しました。
社内SEが小規模なシステムを開発する場面を想定し、実務で使えるレベルに絞って解説しています。
ER図とは
ER図(Entity Relationship Diagram)は、データベースの構造を設計するための図で、テーブル同士の関係を視覚的に表したものです。
見た目は下のような形になります。

Entity(ERのE)はデータのまとまり(Accessでいうテーブル)を意味し、Relationship(ERのR)はテーブル同士のつながりを表します。
つまりER図とは、「どのテーブルに、どんな関係があるのか」を整理した設計図です。
Accessでデータベースを作成する場合も、このER図の内容をもとにテーブルやリレーションを設定していきます。
あらかじめ関係性を整理しておくことで、データの重複や不整合を防ぐことができます。
ER図からAccessに落とし込む考え方
ER図の書き方を覚えるのも大事ですが、設計した内容をAccessでどう実装するかをイメージできることがもっと重要です。
ER図で整理した内容は、Accessでは次のように対応します。
- エンティティ → テーブル
- 属性 → フィールド
- 主キー → 主キー
- リレーション → リレーションシップ
例えば、「顧客」「注文」「商品」といったエンティティはAccessのテーブルとして作成され、それぞれに定義した項目(属性)はフィールドとして設定されます。
また、ER図で線で表現していたテーブル同士の関係(リレーション)は、Accessではリレーションシップとして設定されます。
この関係を理解しておくことで、テーブル設計やリレーション設定の意味が明確になり、実務でも迷いにくくなります。
ER図とリレーションの違い
ER図とリレーションは似ているように見えますが、役割はまったく異なります。
簡単に言うと、ER図は「どういう形のデータベースにするかを考えるもの」、リレーションは「その考えた内容をAccessで実際に形にするもの」です。
ER図では、どのテーブルが必要か、各テーブルをどう関連付けるかを整理します。
たとえば「顧客マスタ」と「注文データ」はつながる、「商品マスタ」と「注文データ」もつながる、といった全体の構造を決める段階です。
一方、リレーションは、その決めた内容をAccess上で実際に設定することを指します。
つまり、ER図で考えたテーブル同士の関係を、Accessのリレーションシップ機能で反映するのがリレーションです。
家づくりでたとえるなら、ER図は設計図、リレーションは実際の工事に近い関係です。
先に全体の構造を考えてから、それを実際に形にすることで、後から修正しやすく、整ったデータベースを作りやすくなります。
この違いを理解しておくと、「なぜ先に関係性を整理してからリレーションを設定するのか」が分かりやすくなります。
なぜリレーションが必要なのか(実務視点)
リレーションは「設定しなくても一応動く」ため、必要性を感じにくいかもしれません。
しかし実務では、リレーションを正しく設定していないと、データの重複や不整合が発生し、運用が破綻する原因になります。
例えば、注文データに顧客情報を毎回持たせてしまうと、同じ顧客の情報が何度も登録されることになります。
また、存在しない顧客に対する注文データが登録されるなど、整合性の取れないデータが発生することもあります。
リレーションを設定することで、データは適切に分割され、必要なときに関連付けて扱えるようになります。
その結果、重複を防ぎ、整合性を保ちながら、更新や検索もしやすいデータベースになります。
実務ではER図を明示的に書かない場合でも、テーブル同士の関係は頭の中で整理していることがほとんどです。
ER図として一度整理しておくことで、その関係性を明確にでき、後からの修正や共有もしやすくなります。
まとめ
今回は、システムのER図について解説しました。
ER図を書く目的は、設計図として記録に残す意味もありますが、「ER図を書くことを通して思考力を高められる」という効果もあります。
特に、システムを作ることに慣れていない方は、一度ER図に落とし込んでみると、作りやすく感じられるのではないでしょうか?
紙やホワイトボードを使って複数人数で作ることで、より完成度の高いデータ構成にすることができるでしょう。
一方、一人でのシステム作りに慣れていれば、Accessのリレーションシップの設定画面で代用してもいいですね。