0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ER図を書く

Last updated at Posted at 2025-08-30

はじめに

ER図を描くことになりました。
久しぶりに書くので記号を思い出すことから始めます。

記号については「IE記法」と「IDEF1X記法」があります。
記号の意味は下表の通りです。
image.png

ER図を書く

ER図ではテーブル同士の関係(リレーション)を書いていきます。
その為には2つのテーブルのリレーションを求める必要があります。

リレーションを求める

以下のようなテーブルがあります。

顧客
顧客ID
 
注文
注文ID
顧客ID

まず、「顧客 → 注文」を考えます。
すると、顧客の1データに対して、注文が0以上紐付きます(顧客が注文をしていない場合もあるし、複数回注文している場合もある)。

次に、「注文 → 顧客」を考えます。
すると、注文の1データに対して、顧客が1つ紐付きます(注文をした顧客は一人)。

つまり、
顧客 → 注文 = 1:0以上
顧客 ← 注文 = 1:1
となります。

そして、矢印の先にある方を取ります。
顧客 → 注文 = 1:0以上
顧客 ← 注文 = 1:1

顧客:注文 = 1:0以上

これが、顧客と注文のリレーションになります。

ER図にすると以下のようになります。
image.png

具体例

以下のようなテーブルで考えます。

顧客
顧客ID
 
 
ログイン
ログインID
顧客ID
 
注文
注文ID
顧客ID
 
注文明細
注文明細ID
注文ID
商品ID
商品
商品ID
 
 
支払
支払ID
注文ID
 
カテゴリ
カテゴリID
注文ID
 

これらのリレーションは以下のようになります。

顧客:ログイン = 1:1(顧客 → ログイン = 1:1、顧客 ← ログイン = 1:1)
顧客:注文 = 1:0以上(顧客 → 注文 = 1:0以上、顧客 ← 注文 = 1:1)
注文:注文明細 = 1:1以上(注文 → 注文明細 = 1:1以上、注文 ← 注文明細 = 1:1)
注文明細:商品 = 0以上:1(注文明細 → 商品 = 1:1、注文明細 ← 商品 = 0以上:1)
注文:支払 = 1:0または1(注文 → 支払 = 1:0または1、注文 ← 支払 = 1:1)
商品:カテゴリ = 0以上:0以上(商品 → カテゴリ = 1:0以上、商品 ← カテゴリ = 0以上:1)

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?