2015-07-06 59 views
0

我正在尋找設計我的數據庫的最佳實踐。數據庫設計每行數量有限

我有一個表「product_reviews」與下面的列商品評論: REVID,revName,revText,revDate

現在我想補充的優點和缺點的產品評價。產品評論最多可以有5個優點和5個缺點。

最佳做法是什麼? 要在我現有的產品表中添加10列(revPro1,revPro2等)或創建一個新的獨立表來保存這些優點和缺點?

+0

單獨的表。從你的文章我認爲,通常產品將有不同的優點和缺點[不會總是使用10個可能的領域],導致大量的空值。此外,它將是非常醜陋的訪問,因爲你將不得不有條件地檢查每個pro1,pro2等,而不是在一個連接的where子句。 – amdixon

+1

添加兩個表:一個用於專業人士,一個用於缺點與外鍵Product_review .ID'。您可以通過軟件代碼控制每個產品評論的優點和缺點的最大數量。 – Fabio

回答

1

根據規範化規則,您必須創建單獨的表格。此外,我會建議在表中記錄每個優點/缺點,而不是具有列「pro1」,「pro2」等的表格,這也是關於正常化的表格。

從實際的角度來看,我們假設你以後需要在每個評論中有更多的優點/缺點。採用這種方法,您不需要更改數據庫結構(在一段時間後可能會非常困難)。另一個例子可能是應用一些文本限制的優點/缺點 - 你必須只適用於1列,而不是10 ...