[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-評價|
- 項目簡介
- 功能一覽
- 前臺
- 后臺
- 開發流程
- 需求分析-展示
- 首頁
- 產品頁
- 分類頁
- 搜索結果頁
- 購物車查看頁
- 結算頁
- 確認支付頁
- 支付成功頁
- 我的訂單頁
- 確認收貨頁
- 確認收貨成功頁
- 評價頁
- 需求分析-交互
- 分類頁排序
- 立即購買
- 加入購物車
- 調整訂單項數量
- 刪除訂單項
- 生成訂單
- 訂單頁功能
- 確認付款
- 確認收貨
- 提交評價信息
- 登錄
- 注冊
- 退出
- 搜索
- 前臺需求列表
- 需求分析后臺
- 分類管理
- 屬性管理
- 產品管理
- 產品圖片管理
- 產品屬性設置
- 用戶管理
- 訂單管理
- 后臺需求列表
- 表結構設計
- 數據建模
- 表與表之間的關系
- 后臺-分類管理
- 可運行的項目
- 靜態資源
- JSP包含關系
- 查詢
- 分頁
- 增加
- 刪除
- 編輯
- 修改
- 做一遍
- 重構
- 分頁方式
- 分類逆向工程
- 所有逆向工程
- 后臺其他頁面
- 屬性管理實現
- 產品管理實現
- 產品圖片管理實現
- 產品屬性值設置
- 用戶管理實現
- 訂單管理實現
- 前端
- 前臺-首頁
- 可運行的項目
- 靜態資源
- ForeController
- home方法
- home.jsp
- homePage.jsp
- 前臺-無需登錄
- 注冊
- 登錄
- 退出
- 產品頁
- 模態登錄
- 分類頁
- 搜索
- 前臺-需要登錄
- 購物流程
- 立即購買
- 結算頁面
- 加入購物車
- 查看購物車頁面
- 登錄狀態攔截器
- 其他攔截器
- 購物車頁面操作
- 訂單狀態圖
- 生成訂單
- 我的訂單頁
- 我的訂單頁操作
- 評價產品
- 總結