2017-02-12 7 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:場所と国情報は、入札者のためのオプションですが。しかし、売り手はその情報を必要としません。入札者は同時に売り手になることができます。ユーザーは複数の商品に入札することができます。その場合、彼の評価、位置、および国の情報はすべての入札で同じです。売り手が他の商品にも入札している場合、ユーザーは入札者と売り手として2つの別々の評価を持つことがあります。

どのスキーマがユーザーを保存するのが最適かわかりません。

1)

  • ユーザー(ユーザーID、所在地、国)
  • 入札者(ユーザーID、評価)
  • 出品者(ユーザーID、評価)

2: はここに私のスキーマです)

  • 入札者(ユーザーID、評価、Locatイオン、国)
  • 出品者(ユーザーID、評価)
  • ユーザー(ユーザーID)
+0

ユーザーは実際に入札と販売の評価が異なることがありますか?これは実世界がどのように動作するかではなく、ユーザーがそれぞれ格付けを持っていることです。例えば、このサイトには評判評判と別の回答評判はありません。 – Bohemian

+0

はい、評価が異なります。私はこの情報を追加するのを忘れました。ありがとう –

+0

与えられたユーザーのために、彼/彼女が作る各入札に異なる "評価"がありますか? – Bohemian

答えて

1

あなたのスキーマは(あなたがそれを好きかどうか)です:

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

あなたのXMLがありますこのスキーマの非正規化バージョンです。

+0

と思っています。ありがとう! –

関連する問題