如何管理数据库中的联系人关系

时间:2014-12-05 22:33:49

标签: sql database schema

我必须创建一个数据库模式来管理用户联系人。我解释一下......

我有一个简单的用户表,其中包含一个主键(名为Id)。

我有一个联系人表,其中包含构成主键的两个外键(SenderID to User,ReceiverID to User)。

我的问题是,如果用户A向用户B发送了联系邀请,我们有以下条目:

联系(A,B)

在这种情况下,我们可以有一个与其他条目类似的条目联系人(B,A)。

我该如何管理此案例?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我会创建两个单独的表,一个用于待处理请求ContactRequests(SenderID, ReceiverID),另一个用于名为Contact(user_id,contact_id)的联系人列表。

我会像您一样在ContactRequests存储所有联系请求,并在请求验证时,我会在Contact中创建两个条目,如下所示:Contact(A,B) Contact(B,A) 并删除待处理的请求。 通过这样做,您可以轻松地从发送请求的人那里获得用户联系人列表。

Google "many to many relationship"的Google搜索也可以帮助您设计数据库。