[TOC]
# 步驟 1 : 表關系圖
在這張表關系圖上,列出了模仿天貓整站一共需要用到的9張表,以及表之間的關系。接下來,對每張表做介紹,并講解表與表之間的關系。

## 步驟 2 : 正確的分析表與表之間的關系的方法
表與表之間的關系,基本上是3種
一對一
一對多
多對一
那么怎么判斷關系到底是什么呢?
以分類和產品為例子,分類表里有多條數據,產品表里也有多條數據,那么他們的關系是多對多嗎? 從經驗上講,我們知道這個結果是不正確的。
正確的分析表與表之間的關系的方法是這樣:
**一個分類對應 多個 產品**
**一個產品對應 一個 分類**
所以分類和產品之間的關系是一對多

拓展資料:
1. 一對一關系是指關系數據庫中兩個表之間的一種關系,該關系中第一個表中的單個行只可以與第二個表中的一個行相關,且第二個表中的一個行也只可以與第一個表中的一個行相關。
> 舉例:班級與班長之間的聯系:一個班級只有一個正班長;一個班長只在一個班中任職。
2. 一對多關系是關系數據庫中兩個表之間的一種關系,該關系中第一個表中的單個行可以與第二
個表中的一個或多個行相關,但第二個表中的一個行只可以與第一個表中的一個行相關。
> 舉例:班級與學生之間的聯系:一個班級中有若干名學生;每個學生只在一個班級中學習。
3. 多對多關系是關系數據庫中兩個表之間的一種關系, 該關系中第一個表中的一個行可以與第二個表中的一個或多個行相關。第二個表中的一個行也可以與第一個表中的一個或多個行相關。
> 舉例:課程與學生之間的聯系:一門課程同時有若干個學生選修;一個學生可以同時選修多門課程。
## 步驟 3 : 表關系
從最上面的表關系圖中可以看到,有關系的表之間,都是一對多關系(反過來就是多對一關系),并沒有一對一關系,和多對多關系。
所以本表列出了所有的一對多關系
> 注:產品和用戶之間其實是多對多關系,即一個用戶可以購買多種產品,一種產品可以被多個用戶購買。 但是他們的多對多關系是間接的建立在訂單項表(OrderItem)上的。
| 一 | 多 |
| --- | --- |
|Category-分類| Product-產品|
|Category-分類| Property-屬性|
|Property-屬性| PropertyValue-屬性值|
|Product-產品| PropertyValue-屬性值|
|Product-產品 |ProductImage-產品圖片|
|Product-產品| Review-評價|
|User-用戶 |Order-訂單|
|Product-產品 |OrderItem-訂單項|
|User-用戶 |OrderItem-訂單項|
|Order-訂單| OrderItem-訂單項|
|User-用戶 |Review-評價|