1

我有一个名为 users 的表,其中包含我网页上的用户。用户可以建立友谊,其中用户 1 请求用户 2 建立友谊。它现在的工作方式是,当用户 1 发送请求时,我在友谊表中创建一行,其中包含两个外键:user_id_from 和 user_id_to 以及一个名为 status 的字段,该字段可以为 0(请求待处理), 1 或 2 user_id_to 分别接受或拒绝了友谊请求。最后状态可以是 3,表示其中一个用户已经删除了友谊。

这是正确的方法,还是我应该创建一个包含所有待处理请求的临时表,然后(如果请求被接受)将其插入到友谊表中?

4

1 回答 1

1

从逻辑的角度来看,您所做的是正确的,因为我个人认为未决的友谊请求是一种未经确认的友谊形式。

从设计的角度来看,我不确定每次用户需要查看他的友谊请求列表时如何创建一个临时表。如果该表不是临时表,您将拥有一个名为 Confirmed_friendships 和 pending_friendships 的表。

我强烈建议您将两者保存在同一张表中,除非会有很多特定于pending_friendships 且不可用于confirmed_friendships 的列,反之亦然。

于 2012-10-30T20:42:13.653 回答