使用mysql存储和检索朋友联系人列表

时间:2010-08-13 08:07:49

标签: mysql database hierarchical

我想创建一个可以存储朋友联系人列表的数据库,就像社交网络一样 什么是设计数据库结构的最佳方式,并且易于使用mysql检索朋友的联系人。

我需要解决方案,帮助我

1 个答案:

答案 0 :(得分:1)

模拟神经数据的最佳方式取决于您需要支持的操作。我建议您阅读Bill Karwin的幻灯片Models for heirarchical data进行比较。特别参见幻灯片48,其中总结了每种方法的优缺点。

但是,我不认为友谊是一种层次结构。通常会有循环:A是B的朋友,B是C的朋友,C是A的朋友。相反,您可以创建一个包含两列的联系人表:user_id和friend_id,它们是“users”表中的外键:

contact_list
------------------
user_id  friend_id
------------------
1        2
2        3
3        1

要检索特定用户ID的联系人列表,请运行以下查询:

SELECT friend_id
FROM contact_list
WHERE user_id = 1

这里我假设A在B的联系人列表中并不意味着B也在A的联系人列表中。