ER図とは
ER図は、データベースの「設計図」です。まだ表を作る前に、どんなデータを持つのか、どのデータ同士がつながるのかを図で見えるようにします。現場では、いきなりDBを作るより、先にER図を見ながら話すほうが、手戻りを減らしやすくなります。
ERは Entity-Relationship の略です。Entityは「情報のまとまり」、Relationshipは「関係」という意味です。たとえば「顧客」「注文」「商品」は情報のまとまりで、「顧客が注文する」「注文に商品が入る」は関係です。ER図は、この2つを同時に整理するための図だと考えると分かりやすいです。
よくある疑問:ER図って、表をそのまま書き写したものですか?
いいえ。ER図は、表を作る前に「何があって、どうつながるか」を整理する設計図です。
よく出る言葉も、先におさえておきましょう。エンティティはデータのまとまり、リレーションシップはその関係、属性は名前や金額のような中身の情報です。ER図では、これらを四角や線で表して、頭の中のイメージを共有しやすくします。
ER図を読むときの基本
ER図の大事なポイントは、見た目のきれいさより「関係が正しく伝わるか」です。たとえば顧客なら「顧客ID」「名前」「メールアドレス」のような属性があります。注文なら「注文ID」「注文日」「合計金額」があります。これらを分けて考えると、どの情報を同じ場所に入れるべきかが見えやすくなります。
ここで大事なのが、1対1、1対多、多対多 という考え方です。1対多は「1人の顧客が、たくさんの注文を持つ」ような関係です。多対多は「1つの注文に、たくさんの商品が入る」「1つの商品が、たくさんの注文に入る」といった関係で、そのままだと整理しにくいので、間に別の情報を置いて考えることが多いです。
身近なたとえで考える
ER図は、学校のクラス名簿を整理するときに似ています。名簿には生徒の名前がありますが、席替えの班や係、担任の先生との関係もあります。名前だけを並べても、誰がどの班にいるかはすぐには分かりません。そこで、名前のまとまりと、そのつながりを先に決めておくと、あとで名簿を見た人も迷いにくくなります。
たとえば文化祭の受付を考えてみましょう。来場者、受付、担当者、パンフレットの配布先があって、それぞれがどう関係するかを先に決めますよね。ER図も同じで、「何があるか」だけでなく「どうつながるか」まで見えるようにします。つまり、ER図は“ものの一覧”ではなく、“もの同士の関係表”を作るための考え方です。
この考え方は、日々の仕事でも役立ちます。新しい人に仕様を説明するとき、文章だけだと読み手によって理解がずれますが、ER図があると「このデータはどこから来るのか」「どこまでが1件なのか」を一緒に確認しやすくなります。
実務ではどう使う?
たとえば、Webフォームから注文を受けるECサイトを考えます。ユーザーが入力した内容は、画面から送られるデータとして JSON で届くことがあります。ですが、保存するときは、そのまま1つの大きな箱に入れるのではなく、顧客、注文、注文明細、商品に分けて考えることが多いです。ここでER図を作っておくと、どの情報をどの表に入れるかを決めやすくなります。
- 顧客を決める。誰が買ったのかを分かるようにする。
- 注文を決める。いつ、どの注文が発生したのかを分ける。
- 注文明細を決める。1回の注文に、どの商品が何個入ったのかを記録する。
- 商品を決める。商品名や価格、在庫のような情報を持たせる。
この流れがあると、あとで「この項目は顧客表か注文表か」と迷いにくくなります。さらに、開発メンバーが増えても、同じ図を見ながら話せるので、認識のズレを小さくできます。
また、表形式で細かく分けるデータベースと相性がよい一方で、NoSQL のように、データをまとまりで持つ考え方もあります。ER図は主に表の設計で力を発揮しますが、保存方法を選ぶときの比較材料としても役立ちます。
図解で整理

ER図を見るときは、四角と線を別々に追うのがコツです。四角はデータのまとまり、線は関係です。まず「何があるか」を四角で見て、次に「どうつながるか」を線で見ます。これだけでも、図の読み方がかなり楽になります。
- 四角:エンティティ。顧客、注文、商品など。
- 線:リレーションシップ。購入する、持っている、含まれるなど。
- 項目:属性。名前、日付、金額など。
- 数の関係:1対1、1対多、多対多。
特に大事なのは、多対多をそのままにしないことです。たとえば注文と商品は、そのままだと多対多になりやすいので、あいだに注文明細を置いて整理します。こうしておくと、あとでデータを追加したり、検索したり、テストデータを作ったりするときも考えやすくなります。
ER図は、完成したDBを見せるための図ではありません。むしろ「この形で作ってよいか」を確かめるための図です。だからこそ、実装前に作る意味があります。見た目はシンプルでも、後の作業をかなり軽くしてくれる道具です。
3問クイズ
ここまでの内容を、短く思い出してみましょう。
1. ER図のERは、何の略でしょう?
答えを見る
答え:Entity-Relationship の略です。Entityは情報のまとまり、Relationshipはその関係を表します。
2. ER図で、データ同士のつながりを書くのは何のためでしょう?
答えを見る
答え:どの情報を同じ表に入れるか、どこで分けるかを先に決めて、DB設計のズレを減らすためです。
3. ER図を実装前に作ると、仕事でどんないいことがありますか?
答えを見る
答え:仕様の共有がしやすくなり、表の作成や修正で手戻りが起きにくくなります。
まとめ
ER図とは、データベースに入れる情報のまとまりと関係を、図で整理するための設計図です。表そのものではなく、表を作る前の考え方だと覚えると混乱しにくくなります。まずは顧客、注文、商品のような身近な例で、1対多や多対多を図にしてみると理解が進みます。
