我创建一个螺纹信息板和我试图保持它的简单。有一个消息表,然后答复表,有一个'reply_id'的领域,可以为空来表示一个顶级的响应,或指一个螺纹响应。

我有点糊涂了关于如何做一个选择呼吁这类表吗?

Reply
-id (every reply gets a unique id)
-message_id (the message it is replying to)
-reply_id (the id of the reply it may be replying to - for threading)
-reply

我知道这可能是一个复杂的问题,尤其是对于绩,但我真的只是寻找最基本的解决方案。

谢谢...

有帮助吗?

解决方案

你使用的天真"教科书"的方式储存的树木,即商店的一个参照,立即父母。这种设计是所谓 邻接表.还有其他的解决方案:

  • 路径枚举,你在哪里存储在各个节点的树一串编码的所有其直接的祖先。
  • 套套, 一个聪明的办法,乔Celko在这里你用两个数值的每个节点,以约束其所有的后裔。
  • 封闭表 (或邻接的关系),其中,你使用一个单独的表格列出的每一个祖先裔对。

看到我的响应"什么是最有效/优雅的方式来分析一个平台进一棵树?"引用的实例封闭表的设计。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top