2015-01-16 66 views
0

我想存儲的賣家,誰賣出一定類別的每個產品,然後列表,每個賣家都會有產品從這些分類什麼是設計賣方,類別和產品表的最佳方式?

什麼是最好的設計方法?目前,我所擁有的是以這種方式設計的三個表格,賣方,類別和產品。

如何鏈接賣家和類別?我覺得我在這裏創造了太多的關係。

一種方法是創建一個帶有SellerId和CategoryId索引的單獨表。另外,我想我還需要爲SellerId和ProductId創建一個單獨的表。有沒有更好的方法來處理這種設計?

1賣方可以有多個類別,

1類別可以有多個賣家,

1類別可以有多個產品,

1的產品能再次,有多個賣家,

1個產品只能有1個類別,

和last, 1賣家可以有多個pro管道。

enter image description here

+0

這些關係是多對多的關係嗎?如果任何給定的'Seller'可以有多個'Category'記錄,並且任何給定的'Category'可以有多個'Seller'記錄,那麼他們需要這樣一個鏈接表。然而,我不清楚的是產品關係。如果一個'Product'屬於'Category'和'Seller'兩者,那麼就不能保證這種關係的完整性。那'賣家'可能沒有被鏈接到'Category'。 「產品」應該只由「類別」擁有嗎?任何具有'Category'的'Seller'都可以訪問該'Product'? – David

+0

是的。這些關係是多對多的。因此,我可以繼續創建類別和賣家之間的連接表,但我還需要存儲特定賣家的產品。 因此,在本質上, 1賣方可以有多個類別, 1類別可以有多個賣家, 1類別可以有多個產品, 1的產品可以再次,有多個賣家, 1個產品只能有1個類別, 最後, 1個賣家可以有多個產品 [已更新與此用例的問題] – r3st0r3

+0

我擔心的是,這些關係可能最終彼此「說謊」。賣家1可以鏈接到類別A,但可以具有類別B中的產品X.結構中沒有任何東西可以阻止這種情況的發生。在這種情況下,類別應該甚至是一個實體嗎?或者只是查找?例如,如果產品由賣方擁有(產品上的賣方FK和產品具有類別(產品上的FK類別)),業務邏輯是否會得到滿足。這將在賣家和類別之間創建一個*隱含*鏈接,就像賣家產品類別的聚合一樣。 – David

回答

1

根據您的更新,可以考慮此結構...

Seller 
---------- 
ID 
etc. 

Product 
---------- 
ID 
CategoryID 
etc. 

SellerProduct 
---------- 
SellerID 
ProductID 

Category 
---------- 
ID 
etc. 

在這種情況下:

  1. 賣家和產品的總根源
  2. 賣方可以鏈接到多個產品
  3. A Produ CT可鏈接到多個賣家
  4. 類是產品
  5. 賣家都隱含在產品「掛鉤」,以分類的屬性,他們賣

會的賣家永遠需要被鏈接到一個類別賣方沒有產品?如果沒有,這個結構應該可以做到。如果賣方需要鏈接到另一個類別,賣方只需鏈接到該類別的產品。

通過將類別降級爲值類型而不是其自己的實體,您不需要將其他實體鏈接到它。

相關問題