2012-10-25 82 views
0

我目前正在開發一個數據庫,它將容納很多物品,並且想知道哪種設計會更好,因爲每個類別有1000到10000個物品。電子商務數據庫設計

數據庫設計#1

Login Details 
-------------- 
-userID 
-Username 
-Password 
- ETC.... 


User Settings 
-------------- 
-userID 
-Setting 1 
-Setting 2 
-Setting 3 
- ETC.... 



Product Category 
----------------- 
-ID 
-Name 



ALL Items 
----------- 
-ItemID 
-Name 
-Description 
-Price 
-Info 
- ETC.... 
-parentCategoryID 

OR

數據庫設計#2

Login Details 
-------------- 
-userID 
-Username 
-Password 
- ETC.... 


User Settings 
-------------- 
-userID 
-Setting 1 
-Setting 2 
-Setting 3 
- ETC.... 



Product Category 
----------------- 
-ID 
-Name 
-tableName 



Electronics 
------------- 
-ItemID 
-Name 
-Desc. 
-Price 
- ETC.... 

Food 
------------- 
-ItemID 
-Name 
-Desc. 
-Price 
- ETC.... 


Books 
------------- 
-ItemID 
-Name 
-Desc. 
-Price 
- ETC.... 


Apparel 
------------- 
-ItemID 
-Name 
-Desc. 
-Price 
- ETC.... 



Others 
------------- 
-ItemID 
-Name 
-Desc. 
-Price 
- ETC.... 

回答

2

選項1將是要走的路。

如果您使用選項2,則每次希望針對不同的產品類型查詢數據庫時,都必須使用不同的查詢,因爲您將在不同的中存儲不同的產品類型。

存儲用戶比存儲產品的問題少得多。由於價格可能會隨時間而變化,因此最好從'產品'表中刪除'價格'字段並將其存儲在不同的表格中,'價格表'的字段將是產品,價格,從日期(可能到最後) 。

1

對於第二種情況,你沒有,如果你要依賴於字符串引用完整性確定表格。

在我看來,選擇1是很好地實踐(規範化)的做事方式。而且,即使每個類別保持10000行對於現代數據庫也不是什麼大問題。

+0

我可以硬編碼一個包含數據庫名稱的文件,但是對於選項1,數據庫中的1個表格可以有10個類別的〜1m個項目(共計〜1000萬個)項目可以正常工作? – Steven10172

+0

需要知道什麼樣的查詢將是常見的。 – smk

+0

搜索:「項目名稱」「項目名稱和類別」「isbn(books)」和搜索搜索也可以按價格排序 – Steven10172

相關問題