我正在为我的学院开发一个 Facebook 类型的应用程序。
我被困在朋友模块了。即如何知道特定用户是否是自己的朋友。
我用谷歌搜索了很多,但没有得到任何满意的答案。 我得到的是:一个人会有很多朋友,在单独的表中实现用户和他们的朋友只会增加冗余和大的数据库大小。
我想到使用一个以顶点作为用户、以边作为连接的图。
但是如何在数据库中实现类似的东西。
或者 Facebook 如何处理如此大量的关系?
就我个人而言,我会有一张专门的桌子:
您可以有一个只有两列的表:userID 和friendID
由于数据库中用户之间的关系是多对多的,因此规范化它需要一个链接表,将其分解为多对一对多
http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html#03