2010-02-08 22 views
1

我是rails新手,需要DB設計方面的幫助。需要DB設計方面的幫助 - Rails方式

它基本上是category,product,quantity,價格...類型的表。

我有4類:CatA CatB CatC CatD

以上每個類別都會有多個產品在其中:

CatA - ProductA1, ProductA2, ProductA3 
CatB - ProductB1, ProductB2, ProductB3 
CatC - ProductC1, ProductC2, ProductC3 
CatD - ProductD1, ProductD2, ProductD3 

每個產品則有type, rating, quantity, price, volume

難道是好事,有一個大的產品表格中有欄目:分類,產品名稱,型號,等級等..等。

或有不同Category, Product, Type哪種關係會有belongs_to or has_many

我正從Admin角度來看它。如果用戶想要添加新產品,那麼他們將首先從下拉菜單中選擇類別,輸入產品名稱,選擇產品類型等,將一張桌子上的所有東西放在一起很容易,但效率如何?

回答

2

您將要productscategories表。

Productbelong_to :categoryCategoryhas_many :products

您需要在products表中的category_id列進行關聯。

我不會推薦types表 - 在products表中只有類型作爲列。不要使用「type」這個詞,因爲Rails使用「type」作爲單表繼承,所以你可能會遇到一些奇怪的情況,如果你不使用它。

+1

爲什麼解規範「類型」?與分類有什麼不同?堅持良好的數據庫實踐,不要重複數據。如果一個Type可以被多個產品重用,肯定有一個類型表。 – 2010-02-08 18:50:07

+0

是的,「類型」只是另一種類型。 – Eric 2010-02-08 20:10:54

+0

根據上面的信息,它看起來像類型更多的是屬性而不是關係。如果您打算根據類型進行查詢(而不是僅將其作爲產品的一部分進行顯示),那麼我會同意另一張表是要走的路。 – bensie 2010-02-08 21:14:08