用户关系模式

时间:2014-01-31 05:10:55

标签: objective-c database-design schema

我有一个用户关系架构,其中用户A可以请求与用户B的关系,结构如下:

User A | User B | Accepted
Bob    | Joe    | YES
John   | Tina   | undefined
Tina   | Mark   | NO

表示此人接受该关系。 未定义表示尚未执行任何操作。 表示该关系已被拒绝。

在典型情况下,当用户A 请求与用户B 的关系时,我会进行查询以检查用户B 是否已请求与用户A 的关系,如果没有,那么我添加一个条目。如果是,那么我只是确认关系并接受改为

我的问题在于,如果两个用户同时请求彼此之间的关系,那么我最终会得到损坏的数据。

是否有更好的方法来构建此架构?

1 个答案:

答案 0 :(得分:0)

如果您将Relation-RequestRelation表格分开,我认为会更感激。“ 被接受的关系请求将成为关系,关系可能会随着时间的推移而被取消,在当前的设计中您将失去关系历史。

概念的分离也将解决同时请求问题。

enter image description here