友谊表

时间:2012-10-30 20:36:46

标签: mysql database

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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