Php 社交网站数据库的开发

Php 社交网站数据库的开发,php,mysql,social-networking,Php,Mysql,Social Networking,如何完美地管理社交网站数据库 我最近开始建立一个社交网站数据库,下面是我的数据库概念 这是正确的还是你提出了其他建议?为什么 1.“用户”表存储用户详细信息 2.“posts”表存储具有用户唯一id的所有用户的帖子 3.“喜欢”表分别存储每个帖子的喜欢,用户、帖子和评论的唯一id 4.“朋友”表在单独的列中存储50001个用户id一个用户id和5000个他/她的朋友id表示5001个字段是否可以 5.“评论”表存储所有帖子的评论,这些帖子统一了用户、帖子和评论的ID 所有的表都会在profile

如何完美地管理社交网站数据库

我最近开始建立一个社交网站数据库,下面是我的数据库概念

这是正确的还是你提出了其他建议?为什么

1.“用户”表存储用户详细信息

2.“posts”表存储具有用户唯一id的所有用户的帖子

3.“喜欢”表分别存储每个帖子的喜欢,用户、帖子和评论的唯一id

4.“朋友”表在单独的列中存储50001个用户id一个用户id和5000个他/她的朋友id表示5001个字段是否可以

5.“评论”表存储所有帖子的评论,这些帖子统一了用户、帖子和评论的ID

所有的表都会在profile.php上加载一些数据,用户可以在其中发布评论

下面是profile.php文件在加载时执行的操作

  • 显示带有提交按钮的post输入框
  • 在iframe中显示10篇文章
  • 计算并显示每个帖子的喜好和评论
  • 这是否可以计算任何帖子的默认喜欢和评论总数?当用户点击喜欢或评论时 而不是在他/她的帖子上给他/她看喜欢的人或评论的名单?上述类型的数据库是否处理此查询?这个过程的速度快/正常/慢是多少?“select”命令就足够了,可以很好地用于此查询吗? 注意:我使用PHP、MySQL和JavaScript

    请接受我对低格式和弱英语的道歉,但我尽了最大努力


    非常感谢您

    仅用一个大的不,就或多或少地达到了目标(尽管这是一种非常天真的方法)

    userId | friendId
    
    应该是朋友桌。就这样。当您想寻找ID为24的用户朋友时,请执行以下操作:

    SELECT friendId from user_friends_table WHERE userId = 24
    

    除此之外,开始吧你承认你应该如何实施它的唯一真正方法是尝试并失败。一次又一次。

    4)不!每个友谊使用一行。@SLaks表示两列,一列给用户,一列给他的朋友?非常感谢您的回复,为他的朋友添加了一列单数。@SLaks表示他/她的朋友是男性还是女性,对吗?@SLaks您的想法真的很好,就是在每个朋友中使用一行,我认为如果我们使用它,也很容易获得相互的朋友。上述SQL的一个可能的补充是:
    select u.*from user\u friends\u table uft left join user u在u.id=uft.friendId上,在一次查询中获得朋友的信息。@Frankie非常感谢您,您对查询中的其他内容有何看法question@BenWerdmuller我想你的建议也不错,但实际上我的知识水平很低,这就是为什么我不理解它sorry@DanishIqbal使用我的查询,您将获得用户24的所有朋友的列表,按编号排列。因此,在表示用户24的朋友时,您的结果类似于
    1,4,8,23,34
    。现在,通过他的查询,您将“左连接”用户表中的所有信息,其中
    friendId
    匹配
    userId
    。这意味着您将获得用户24的所有朋友,并提供更多详细信息,如姓名、电子邮件等。。。这是合乎逻辑的步骤。否则,您将需要数千个查询,并最终杀死您的数据库服务器。一定要开始你的项目,因为这样的事情会自然而然地发生。@Frankie做得很好,还请就我问题中的其他事情向我提出建议。非常感谢你的好意