我有一个用户关系架构,其中用户A可以请求与用户B的关系,结构如下:
User A | User B | Accepted
Bob | Joe | YES
John | Tina | undefined
Tina | Mark | NO
是表示此人接受该关系。 未定义表示尚未执行任何操作。 否表示该关系已被拒绝。
在典型情况下,当用户A 请求与用户B 的关系时,我会进行查询以检查用户B 是否已请求与用户A 的关系,如果没有,那么我添加一个条目。如果是,那么我只是确认关系并接受改为是。
我的问题在于,如果两个用户同时请求彼此之间的关系,那么我最终会得到损坏的数据。
是否有更好的方法来构建此架构?
答案 0 :(得分:0)
如果您将Relation-Request
和Relation
表格分开,我认为会更感激。“
被接受的关系请求将成为关系,关系可能会随着时间的推移而被取消,在当前的设计中您将失去关系历史。
概念的分离也将解决同时请求问题。