2017-02-12 96 views
0

我要建立一個架構下面的XML文件:數據庫架構設計:更優化的架構

<Item ItemID="1045677572"> 
<Bids> 
    <Bid> 
     <Bidder Rating="1097" UserID="catann1"> 
      <Location>Longmont, Colorado</Location> 
      <Country>USA</Country> 
     </Bidder> 
     <Time>Dec-10-01 06:43:24</Time><Amount>$0.99</Amount> 
    </Bid> 
... 
</Bids> 
<Seller Rating="87" UserID="efritz68"/> 
</Item> 

XML:定位與國家信息是可選的投標人。但是,賣家不需要這些信息。競拍者可以同時成爲賣家。用戶可以對多個項目投標。在這種情況下,他的評分,地點和國家/地區信息在所有出價中都是相同的。用戶可以有兩個單獨的評級作爲一個投標人與賣方,如果賣方也在申辦其他項目(S)

我不知道它的模式是更優化的存儲用戶。 這裏是我的架構:

1)

  • 用戶(用戶ID,位置,國家)
  • 投標人(用戶ID,等級)
  • 賣家(用戶ID,等級)

2 )

  • 投標人(用戶ID,評分,要價較高離子,國家)
  • 賣家(用戶ID,等級)
  • 用戶(用戶名)
+0

用戶真的可以有不同的投標和銷售評級嗎?這不是現實世界的工作方式,用戶每個人都有一個評級,例如這個網站沒有質疑信譽和單獨的回答聲譽 – Bohemian

+0

是的,評分是不同的。我忘了添加這個信息。謝謝 –

+0

對於給定的用戶,他/她每次出價有沒有不同的「評級」? – Bohemian

回答

1

你的架構(不管你喜歡還是不喜歡):

Item (ItemID, SellerUserID, ...) 
User (UserID, BidRating, SellRating, ...) 
Bid (UserID, ItemID, Amount, Timestamp, ...) 

你的XML是這個模式的非規範化版本。

+0

我認爲這是一個不錯的方法。謝謝! –