はじめに
ER図を描くことになりました。
久しぶりに書くので記号を思い出すことから始めます。
記号については「IE記法」と「IDEF1X記法」があります。
記号の意味は下表の通りです。

ER図を書く
ER図ではテーブル同士の関係(リレーション)を書いていきます。
その為には2つのテーブルのリレーションを求める必要があります。
リレーションを求める
以下のようなテーブルがあります。
| 顧客 |
|---|
| 顧客ID |
| 注文 |
|---|
| 注文ID 顧客ID |
まず、「顧客 → 注文」を考えます。
すると、顧客の1データに対して、注文が0以上紐付きます(顧客が注文をしていない場合もあるし、複数回注文している場合もある)。
次に、「注文 → 顧客」を考えます。
すると、注文の1データに対して、顧客が1つ紐付きます(注文をした顧客は一人)。
つまり、
顧客 → 注文 = 1:0以上
顧客 ← 注文 = 1:1
となります。
そして、矢印の先にある方を取ります。
顧客 → 注文 = 1:0以上
顧客 ← 注文 = 1:1
↓
顧客:注文 = 1:0以上
これが、顧客と注文のリレーションになります。
具体例
以下のようなテーブルで考えます。
| 顧客 |
|---|
| 顧客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)

