前端工程師後端之旅(5) - 資料庫關係設計

為了讓設計時更容易溝通,常常會使用ERD來整理,ERD用圖像化的方式來規劃資料與資料之間的關係,讓開發人員可以對系統架構一目瞭然,如一對多、多對一、多對多等等常見的關係。

Outline

  1. ERD類別圖基本介紹
  2. 產品資料表
  3. 文章資料表
  4. 訂單及優惠券資料表
  5. 前後台使用者資料表

ERD 基本介紹

ERD 意思是 實體-關聯圖,Entity是用物件導向的class表示一個生活中的實體,關聯則是指資料庫的關聯。因為Ruby本來就是物件導向語言,而Rails又是用ORM對應資料表,所以用ERD可以很清楚的表示資料關係,
我們用一張表格表示一個Class,會長的像下面這樣:
![](https://i.imgur.com/4XYvaIh.png =230x200)

修飾子

表裡面裝的是在class裡面的property,前面使用符號來表示物件屬性的修飾子,分別是:

符號 屬性
+ public
- private
# protected

關係表示

關係 表示
一對多 1-------------1…* ( or * )
一對一 1-------------1
多對多 需要中介表

產品資料

因為可能會有想讓商品同時出現在兩個或更多個類別清單的情況,所以這邊我採用多對多關聯設計,資料表要實現多對多的話,則要藉由中間一張轉介表來串連:

文章資料

文章跟類別的就比較單純,一個類別可能有多個文章:

訂單資料

由於使用者在結帳時有可能會使用優惠券,所以Coupon跟訂單、以及訂單其他資訊之間必須有一對一關聯:

前台 / 後台 使用者

為了安全性考量,前後台的會員資料表應該要分開,如果共用同一張資料表,後台管理員有機會看到其他管理人的機密資料:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×