mySQL 一对多数据存储

标签 mysql database database-design relational-database one-to-many

我最近才了解一对多的概念,所以如果这本身有点模糊或断章取义,请原谅。

目前,我正在尝试找出以社交方式构建 table 的最佳方式。我最终想要实现的是 Google+ 墙。例如,关注我的人或我选择查看帖子的人可以看到我发布的内容。我知道我需要两到三张 table 来整理这个烂摊子。这只是如何存储它,以便我可以查询它,这就是我在逻辑上遇到困难的地方。

目前,我正在设想一个表,用于存储成员(member) ID 和帖子(以及任何其他相关数据,如时间戳等)。另一个表中有两个 friend 之间的 friend 关联,第三个表存储其他内容,以便我可以将其用作某种交叉引用。但我不知道我是否以正确的方式思考这个问题。正如我所说,我对这个想法很陌生;我无法完全想象它。那么有人对如何构建这些表有任何建议吗?目前并不想弄清楚如何查询它们。只是想弄清楚如何正确使用一对多概念,而我在该主题上所做的所有阅读实际上并没有以示例的形式给我带来太多帮助,甚至与我想要的内容相对接近做。

最佳答案

您需要一张成员(member) table

成员(成员 ID、成员名称、加入日期等)

一个用于具有成员外键的帖子

帖子(PostId、MemberId、PostDate 等)

为谁的追随者而生

Following (FollowerId, FollowedId),两者都是 Members 表的外键

关于mySQL 一对多数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829860/

相关文章:

php - 如何设计一个包含手机联系人的 mysql 数据库并查找是否有使用相同应用程序的联系人?

mysql - 在 32 位或 64 位 Linux 操作系统服务器上使用 Nginx+mysql 运行 Ruby on Rails + Phusion Passenger 及其性能?

mysql - 相同数据的数据文件大小有何不同?

mysql - 如何在 grails 域中捕获毫秒

asp.net - 在后台线程上对数据库进行排队和执行插入

php - mysql查询在选择单选按钮时未从数据库获取值

mysql - 从 MySql Workbench 浏览和修改 SQL 转储

sql - 如果引用所有列,外键是否会减少冗余?

php - 将 HTML5 地理定位与 PHP 和 MySql 结合使用

mysql - 在更新 Multi-Tenancy 数据库中的嵌套集时是否有替代方法来锁定表?