我必须创建一个数据库模式来管理用户联系人。我解释一下......
我有一个简单的用户表,其中包含一个主键(名为Id)。
我有一个联系人表,其中包含构成主键的两个外键(SenderID to User,ReceiverID to User)。
我的问题是,如果用户A向用户B发送了联系邀请,我们有以下条目:
联系(A,B)
在这种情况下,我们可以有一个与其他条目类似的条目联系人(B,A)。
我该如何管理此案例?
感谢您的帮助。
答案 0 :(得分:0)
我会创建两个单独的表,一个用于待处理请求ContactRequests(SenderID, ReceiverID)
,另一个用于名为Contact(user_id,contact_id)
的联系人列表。
我会像您一样在ContactRequests
存储所有联系请求,并在请求验证时,我会在Contact
中创建两个条目,如下所示:Contact(A,B)
Contact(B,A)
并删除待处理的请求。
通过这样做,您可以轻松地从发送请求的人那里获得用户联系人列表。
Google "many to many relationship"的Google搜索也可以帮助您设计数据库。