【发布时间】:2019-05-23 08:09:35
【问题描述】:
我正在研究如何在一个表中链接多行。
简而言之,这是一个用户可以添加消息的系统。消息链接到一个部门。用户可以一次向多个部门发布消息。
消息多次存储在消息表中。因此,当我将消息发送到 3 个部门时,它会在消息表中创建 3 行。 这样做的原因是因为每个部门的用户都可以评论消息。在不同的赛区,cmets也会有所不同。
收到了一个新请求,以便能够链接这些消息。为了简单起见,我可以将一条消息标记为“完成”。当这条消息在‘a’区被标记为‘done’时,‘b’和‘c’区的其他消息(另外两行)也需要得到这个标记。
目前我对如何以一种好的方式做到这一点一无所知。 我有创建一个包含消息 ID 的额外表的想法,但仍然不确定如何从中获取所有链接的消息。
我想到了一条作为“父母”的信息。然后在每次更改时搜索孩子和父母的消息。但这感觉不是一个好的解决方案。
真的很期待一些建议来帮助我朝着正确的方向前进!
【问题讨论】:
-
如果消息是相同的并且总是(在所有部门中),那么为这些消息设置一个单独的表可能更有意义。给他们每个人一个唯一的 id,可以存储原始表并用于引用消息。这将是一种更好的规范化数据库管理方法,可以消除将可能较大的文本 blob 存储在多行中的冗余。
-
这看起来很简单,包含 Division、Message 和 DivisionMessage。评论在 DivisionMessage 中,而 Done 在 Message 中。
标签: php mysql database database-design