2011-12-23 64 views
3

我已經看過關於特別主題的其他討論:我正在尋找的產品和產品變化的數據庫模式

Representing ecommerce products and variations cleanly in the database

和:

DB schema help, linking variations of products

但我發現他們缺乏和簡單化。

我要尋找一個生產質量架構以支持產品和產品的變化,如顏色,大小,左/右撇子,容量等

而且我需要支持的產品套件,相關產品,相關產品。 此外,我還需要支持產品線/款式,例如「windsor」風格的水龍頭和淋浴噴頭等所有產品。

任何幫助表示讚賞,如果你願意分享一些如此有價值的東西。

感謝

+6

僱用數據庫管理員? – 2011-12-23 18:00:27

回答

2

如果你打算把所有這一切到關係數據庫(你的SQL代碼讓我這樣認爲),你需要規劃那麼好。您應該關注在該領域有經驗的數據庫管理員(DBA),並且可以與您一起詳細瞭解您的詳細說明。

如果您沒有關於您需要做什麼的預先說明,您可能需要查看一個基於文檔的數據庫,如couchdb,它將爲您提供更多的靈活性,以適應產品實體的數據和屬性中的變化。然後,管理/規範化數據的工作將更多地在應用程序的代碼中,然後在關係數據庫中進行。

+0

謝謝你,是的,我的意圖是使用SQL關係數據庫。我一直在研究這個問題,這很複雜。我希望得到一些見解。顯然,我不是第一個解決這個問題的人。我有足夠的經驗能夠將我的要求與任何建議結合起來。 – sdfor 2011-12-23 18:20:58

+0

如果您查看OSCommerce等現有開源電子商務解決方案的數據庫設計(具有基本變體,因此可能是該主題的一個良好的總體起點),則可能會有幫助,例如Magneto和Oxid Eshop。使用數據庫工具可視化數據庫結構。 – hakre 2011-12-23 18:30:53

+0

不錯的主意。我現在正在這樣做。 – sdfor 2011-12-23 18:34:19

2

根據我的經驗,您正在尋找的是一個多表關係結構(爲了簡單起見)。根據這些信息,你給我工作了一個草案以下

產品表

用於維護您的產品列表

[product] 
    - id (BIGINT, AUTO_INC, PK, NOT NULL) 
    - title (VARCHAR(255), INDEX, NOT NULL) 

產品屬性表

一切獨特之處您的物業,他們可能會或可能不會有共同的(即大小的顏色,左/右,容量等)

[product_property] 
    - id (INT, AUTO_INC, PK, NOT NULL) 
    - title (VARCHAR(255), INDEX, NOT NULL) 

產品屬性值表

此表是你告訴它什麼樣的產品的性能有什麼樣的價值(即。本產品10234-3顏色爲黑色,容量爲25)。我使用BLOB類型進行價值評估,因爲問題是開放的。這是一個數量編號還是三頁文字描述。你可以調整爲適合你的需求。您還可以使用此表來處理依賴關係,因爲您可能有一個或多個顏色,或者它可以屬於多個組,所以它不需要是product_id和property_id的唯一組合。

[product_property_value] 
    - product_id (BIGINT, FK => product.id, NOT NULL) 
    - property_id (INT, FK => product_property.id, NOT NULL) 
    - value (BLOB) 

如果您有任何問題或需要澄清,我會盡我所能幫助。它非常基本,應該適合你的需求。