以下のスレッドから抜粋
http://pc11.2ch.net/test/read.cgi/db/1166540159/

38 :NAME IS NULL:2007/02/04(日) 16:43:35 ID:???
初DB作成で商品評価データベースを作りたいと考えています。

流れ
1webでユーザー登録(未登録はゲスト)
2ユーザーは商品に評価・感想を書ける
3それら評価などから商品をランキング表示可能

といった感じなんですが
・商品データベース
・ユーザーデータベース
の2種類が必要そうだなと。こういった場合ユーザーの
「評価」や「感想」はユーザーデータベース側か
商品データベース側かどちらに置いておくほうがいいとか
あるんでしょうか?
基本設計のアドバイスをいただけたら幸いです。

39 :NAME IS NULL:2007/02/04(日) 16:56:08 ID:???
設計の基本
1. エンティティを決める
2. 1:1, 1:n, m:nの関係を整理してリレーションを決める。

私の場合なら、エンティティとして
・商品
・ユーザ
・評価
の3種類作るな。

商品と評価の関係: 1:n
1個の商品に対してn個の評価の可能性があるので1:n関係。

ユーザと評価の関係: 1:n
1人のユーザがn個の評価をする可能性があるので1:n関係。

n側の方に1側のプライマリキーを含めると評価テーブル完成。
1:1, m:nは設計という意味ではあまり意味ないので無視する。

ランキングについてはちょっと考えてみ。