我有一个用户关系模式,其中用户A可以请求与用户B的关系,结构如下:
User A | User B | Accepted
Bob | Joe | YES
John | Tina | undefined
Tina | Mark | NO是的,,,意思是那个人接受这种关系。未定义的意味着没有任何操作。NO意味着这段关系被拒绝了。
在一个典型的场景中,当用户A请求与用户B的关系时,我执行一个查询来检查用户B是否已经请求了与用户A的关系,如果没有,则添加一个条目。如果是,那么我只需确认 yes 接受的关系和更改。
我的问题在于,如果两个用户同时请求彼此之间的关系,那么我就会得到损坏的数据。
有更好的方法来构造这个架构吗?
发布于 2014-02-01 11:08:24
如果您将Relation-Request表和Relation表分开,我想这会更好。
一个被接受的关系请求将成为一种关系,这种关系可能会随着时间的推移而被取消,在当前的设计中,您将失去关系历史。
概念的分离也将解决同时的请求问题。

https://stackoverflow.com/questions/21472836
复制相似问题