我有以下情况。
我们需要一个信誉表来评估用户和公司。
此声誉表将存储公司给用户的声誉,反之亦然。
有人建议我们应该创建两个声誉表,一个用于用户,另一个用于公司,两个都有相同的列。
我不认为这是最好的方法,但我找不到另一种解决方案。
我们还有其他办法吗?
THX
答案 0 :(得分:1)
我认为你的方法不好;另一种解决方案是拥有一个抽象的Entity
表,每个User
和Company
都有自己的Entity
记录(因而实体ID);那么你只能在一个Reputation
表中跟踪两个实体之间的声誉。
另一种方法是拥有一个Reputation
表,其中包含用户ID,公司ID和type
(或direction
,或模型中似乎符合逻辑的任何内容)字段,表示是否是用户给出的公司的声誉,或者相反。虽然看起来不太正常化。
答案 1 :(得分:0)
您将拥有一个公司表,其中包含该公司的唯一密钥。对用户而言相同。
我认为Co和User之间的关系是多对多的。
您还需要一个包含Co和User两个键的表,以及两个字段,一个用于Co-rep,另一个用于User-rep。共同密钥和用户密钥组合将是该表的唯一条目。