本篇主要是分析咱們的項目中的數據模型…通常地,咱們都是用powerdesigner來設計咱們的數據庫模型表…css
首先咱們要看懂powerdesigner箭頭的意義:數據庫
表之間的關係markdown
一對多:箭頭所指向的表是一的一端iphone
多對一:箭頭背向的方向的表是多的一端(除了一對一)數據庫設計
多對多:在數據庫模型上,由三張表來組成,中間表體現的是其他兩張表的關係是多對多,中間表只能有兩個表的主鍵做爲外鍵來組成,箭頭由中介表來分別指向其他兩張表。.net
一對一:箭頭指向的方向是一的一端,背向的方向的表使用指向的方向的表的主鍵做爲主鍵和外鍵就造成了一對一的關係。設計
咱們前面已經寫了品牌管理了,咱們來看看數據庫設計是怎麼樣的。blog
首先是咱們的品牌表:主要定義了品牌基本信息字段圖片
該類目表主要對商品進行分類…
ip
同時他還有自關聯的鏈接線,那是什麼意思呢??
該商品類目表擁有父類目的屬性:
也就是說,類目咱們能夠當作是樹形結構的:
是能夠根據當前類目查詢出上一級類目的。
一個類目下是能夠有多個品牌的,而一個品牌能夠有多個類目..
咱們能夠舉個例子來理解:
空調類目下:
海爾:
格力:
對於海爾,格力這樣的品牌,不單單是作空調,還能夠作洗衣機。而空調和洗衣機又是不一樣的類目下的。
爲了實現更好地管理,咱們還有類目所對應的商家表
咱們的商品主要是手機和號卡
經過在類目表中預置的手機類目和號卡類目來區分
而一個品牌也對應着多個商品。
咱們商品的存儲事例數據以下:
除了與品牌和類目之間的關聯關係,還存儲着一些銷售語、是否上架、等信息
咱們的商品標籤圖片也是用另一張數據庫表來存儲。它有着商品的所有屬性
而當商品信息太多,寫不完的時候就須要用到大字段表了。
咱們使用了一張專門管理商品屬性的數據表來進行展現對應的商品屬性。
該數據庫表能夠設置該屬性是否前臺展現,以及屬性是怎麼錄入的:
數據以下所示:
對於屬性而言也是分開的:
所以咱們的屬性與類目也是存在:一個類目對應多個屬性的關係的。
咱們能夠發如今咱們的商品屬性表中,若是一個屬性是能夠多選的話,那麼在屬性值上是使用「,」逗號來進行分割的
而咱們的參數表就是對其選中的值進行保存!
一個商品是有多個參數的,而一個屬性也對應着多個參數。
庫存也是用一張表來存儲的,對應地,不一樣類型的商品對應的不一樣的庫存
咱們能夠簡單理解成一下的狀況:
到目前爲止,咱們僅僅是簡單分析了數據庫表的對應關係。是並無深入理解它爲何要設計成這樣子的,當咱們一邊寫代碼的時候,再回顧它的設計。可能效果會更好。