我正在做一个社交网络应用程序。数据库将是MySQL,大约有10000。到目前为止,我已经提出了以下数据库方案。
用户详细信息(当用户第一次注册时,这两个表)
数据库设计
User_Table(user_id,用户名,密码);
个人信息(*user_id*,道布,性别,联系人)
为了发布状态(当用户发布状态并在其他人的墙上更新时),我正在考虑为此创建4个单独的表。
数据库模式如下: Status_Table(*status_id*,user_id,status,date,time,no_of_likes,profile_pic_id) Likes_Table(status_id,用户名) Comment_Table(status_id,user_id,comment,comment_id,no_of_likes_on_comments) Likes_on_Comments(comment_id,用户名)
跟踪系统(就像twitter一样)
数据库模式
追随者(user_id,followers_id);
通知(用于“喜欢”、“评论”、“标签”、“跟随”)
数据库模式
通知(notification_id、user_id、sender_id、status_id、type、is_seen);
这个数据库设计对我的应用程序是最好的,还是应该做一些修改?
另外,我也不确定照片的实现。在这里,我应该存储所有用户的照片。(图片包括(配置文件图片,相册)是将其存储在数据库中还是将它们存储在文件系统中的好方法。给出数据库中照片/相册的路径??
任何帮助都是非常感谢的。
发布于 2016-01-17 11:45:37
关于您的模式的几个注释:
1)您应该考虑合并几个表。如果两个表具有“一对一”的关系,并且信息从一个表到另一个表之间有很强的联系,那么您应该合并这些表。这就是USER_TABLE和PERSONAL_INFO的情况。
2)关于STATUS_TABLE、STATUS_LIKES、COMMENTS和COMMENTS_LIKES -我将考虑将它们合并成两个表-
USER_ACTION -将举行和行动,如评论,图片张贴或状态改变。
将容纳类似的USER_ACTION表。
https://stackoverflow.com/questions/15004210
复制相似问题