Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 社交网络应用程序的数据库设计正确吗?还是应该做一些修改?_Mysql_Database_Database Design_Relational Database_Database Schema - Fatal编程技术网

Mysql 社交网络应用程序的数据库设计正确吗?还是应该做一些修改?

Mysql 社交网络应用程序的数据库设计正确吗?还是应该做一些修改?,mysql,database,database-design,relational-database,database-schema,Mysql,Database,Database Design,Relational Database,Database Schema,我正在制作一个社交网络应用程序。数据库将是MySQL,大约有10000个。到目前为止,我提供了以下数据库方案 用户详细信息(用户首次注册时这两个表) 数据库设计 用户表(用户id、用户名、密码) 个人信息(*用户id*、出生日期、性别、联系人) 用于发布状态(当用户发布状态并在其他人的墙上更新时) 我正在考虑为此制作4张单独的桌子) 用于发布具有唯一id的状态 用于存储和检索喜欢该状态的人员的姓名 存放 以及检索有关人员身份和姓名的评论 他评论道 用于检索对状态所做评论的赞 数据库架构如下所示:

我正在制作一个社交网络应用程序。数据库将是MySQL,大约有10000个。到目前为止,我提供了以下数据库方案

用户详细信息(用户首次注册时这两个表)

数据库设计
用户表(用户id、用户名、密码)
个人信息(*用户id*、出生日期、性别、联系人)

用于发布状态(当用户发布状态并在其他人的墙上更新时) 我正在考虑为此制作4张单独的桌子)

  • 用于发布具有唯一id的状态
  • 用于存储和检索喜欢该状态的人员的姓名
  • 存放 以及检索有关人员身份和姓名的评论 他评论道
  • 用于检索对状态所做评论的赞
  • 数据库架构如下所示: 状态表(*状态id*,用户id,状态,日期,时间,不喜欢,个人资料图片id) 表(状态id、用户名) 注释表(状态id、用户id、注释、注释id、注释上的不喜欢) 喜欢评论上的评论(评论id、用户名)

    关注系统(就像推特一样)
    数据库架构
    追随者(用户id、追随者id)

    通知(用于喜欢、评论、标签、关注)
    数据库架构
    通知(通知id、用户id、发送者id、状态id、类型、是否可见)

    这种数据库设计最适合我的应用程序,还是应该进行一些更改

    我也不确定照片的实现。我应该在那里存储所有用户的图片。(图片包括(个人资料图片、相册) 将其存储在数据库中是一种好方法,还是应该将其存储在文件系统中。并给出数据库中照片/相册的路径


    非常感谢您的帮助。

    关于您的模式的几点意见:

    1)你应该考虑合并几个表。如果两个表具有“一对一”关系,并且从一个表到另一个表的信息之间存在强连接,则应合并这些表。 这将是用户表和个人信息的情况

    2) 关于状态表、状态喜欢、评论和评论喜欢- 我将考虑将所有合并成两个表-< /p> 用户操作-将保持和操作,如评论、图片发布或状态更改


    喜欢-将持有用户行动表中的喜欢项。

    有人会认为,到目前为止,有人已经设计了最终的社交网络数据库模式,并在某处发布了它。没有最终的社交网络数据库模式。这取决于不同的应用程序。请评论你是否真的能给出一些答案。谷歌“开源facebook克隆”,玩得开心。