0

私は次のような状況にあります。

ユーザーと企業を評価するためのレピュテーションテーブルが必要です。

このレピュテーションテーブルには、会社からユーザーに、またはその逆に与えられたレピュテーションが格納されます。

同じ列を持つ2つのレピュテーションテーブルを作成する必要があることが提案されました。1つはユーザー用、もう1つは会社用です。

私はそれが最善の方法だとは思いませんが、別の解決策を見つけることができません。

他にそれができる方法はありますか?

どうも

4

2 に答える 2

1

あなたのアプローチが悪いとは思いません。別の解決策は、それぞれが独自のレコード (したがってエンティティ ID) を持つ抽象EntityテーブルをUser持つことです。次に、1 つのテーブル内の 2 つのエンティティ間の評価のみを追跡します。CompanyEntityReputation

もう 1 つの方法はReputation、ユーザー ID、会社 ID、およびユーザーによって与えられた会社の評判であるか、またはその逆であるかを示すtype(または、モデルで論理的に思われるもの) フィールドを含むテーブルを用意することです。directionただし、正規化されていないようです。

于 2012-06-18T19:47:01.300 に答える
0

その会社の一意のキーを含む会社のテーブルがあります。ユーザーについても同じです。

Co と User の関係は多対多だと思います。

Co と User の両方のキーと、Co-rep 用と User-rep 用の 2 つのフィールドを含むテーブルがもう 1 つ必要です。Co-key と User-key の組み合わせは、このテーブルの一意のエントリになります。

于 2012-06-18T19:51:54.467 に答える