我有一个名为users的表,其中包含我网页上的用户。用户可以在用户1请求用户2获得友谊的情况下建立友谊。 它现在的工作方式是,当用户1发送请求时,我在友谊表中创建一行,其中包含两个外键:user_id_from和user_id_to以及一个名为status的字段,该字段可以为0(请求处于挂起状态),在图1或2中,user_id_to分别接受或拒绝了友谊请求。最后状态可以是3,表示其中一个用户删除了友谊。
这是正确的方法,还是应该创建一个包含所有待处理请求的临时表,然后(如果请求被接受)将其插入到友谊表中?
答案 0 :(得分:1)
从逻辑的角度来看,你所做的是正确的,因为我个人认为未决的友谊请求是一种未经确认的友谊形式。
从设计的角度来看,我不确定每次用户需要查看友情请求列表时如何创建临时表。如果表不是临时表,那么您将拥有一个名为confirmed_friendships和pending_friendships的表。
我强烈建议您将两者放在同一个表中,除非有很多列特定于pending_friendships并且不可用于confirmed_friendships,反之亦然。