社交网站数据库开发[关闭]
Posted
技术标签:
【中文标题】社交网站数据库开发[关闭]【英文标题】:Social network site database development [closed] 【发布时间】:2012-03-04 05:43:12 【问题描述】:如何完美管理社交网站数据库?
我最近开始建一个社交网站数据库下面是我的数据库概念
这是正确的还是您提出了其他建议以及为什么
1.“user”表存储用户详细信息
2.“posts”表存储具有用户唯一ID的所有用户的帖子
3.“likes”表分别存储每个帖子的点赞数,用户、帖子和评论的唯一id
4.“friends”表将 50001 个用户 id 一个用户的 id 和他/er 朋友的 5000 个 id 存储在单独的列中意味着 5001 个字段可以吗?
5."cmets" 表存储所有帖子的评论,唯一的用户ID,帖子和评论
所有表格都会在 profile.php 上加载一些数据,用户可以在其中发布、喜欢、评论
这是 profile.php 文件在加载时所做的事情
-
显示带有提交按钮的帖子输入框
在 iframe 中显示 10 个帖子
计算并在每个帖子上显示喜欢、cmets
可以计算任何帖子上的总点赞数和默认的 cmets 数吗?当用户点击喜欢或 cmets 而不是在他/er 的帖子上向他/er 显示喜欢或 cmets 的人的列表?上述类型的数据库是否处理此查询?这个过程的速度快/正常/慢?和“选择”命令就足够了,并且可以正常工作吗? 注意:我使用 PHP、mysql 和 javascript
请接受我对低格式和弱英语的道歉,但我会尽力而为
非常感谢你
【问题讨论】:
4) 不!每个友谊使用一行。 @SLaks 表示两列,一列给用户,一列给他的朋友?非常感谢您的回复 还有他朋友单数的一栏。 @SLaks 表示他/她的朋友是男性还是女性,对吧? @SLaks 你的想法真的很好,就是每个友谊使用一行我认为如果我们使用它也很容易获得共同的朋友 【参考方案1】:在用户朋友表上只有一个大的 NO! 或多或少的目标(尽管是一种非常幼稚的方法)。
userId | friendId
应该是好友表。只是。当您想查找 ID 为 24 朋友的用户时,您可以这样做
SELECT friendId from user_friends_table WHERE userId = 24
除此之外,启动它。 让您承认自己应该如何实施它的唯一真正方法是尝试并失败。一遍又一遍。
【讨论】:
对上述 SQL 的一个可能补充是:select u.* from user_friends_table uft left join user u on u.id = uft.friendId
,以便在一次查询中获取有关朋友的信息。
@Frankie 非常感谢您,您对问题中的其他内容有何看法
@BenWerdmuller 我想你的建议也不错,但实际上我的知识很低,所以我不明白,对不起
@Danish Iqbal 使用我的查询,您将获得用户 24 的所有朋友的列表,按编号。因此,您的结果将类似于1, 4, 8, 23, 34
,代表用户 24 的朋友。现在,通过他的查询,您将“左连接”用户表中friendId
匹配userId
的所有信息。这意味着您将获得用户 24 的所有朋友以及姓名、电子邮件等额外详细信息……这是合乎逻辑的步骤。否则,您将需要数以千计的查询,并最终会杀死您的数据库服务器。一定要开始你的项目,因为这样的事情会自然而然地发生。
@Frankie 做得很好,还请就我的问题中的其他事情向我提出建议,非常感谢您的好意以上是关于社交网站数据库开发[关闭]的主要内容,如果未能解决你的问题,请参考以下文章