2015-12-08 86 views
0

我想创建一个可以像Twitter一样使用的数据库。那就是:Twitter类数据库表结构

  1. Treestructure:任何节点都可以有多个子节点。
  2. 所有节点都有一个时间戳

标准1和2中,提出基于基本列类似的表结构:

NodeID  (int) 
ParentNodeID (int) 
UserID  (int) 
TS   (TimeStamp) 
MSG   (varchar) 

当观看任何节点(Ñ)所有父节点,直到和包括根应该被选中,这很容易使用指针ParentNodeID

这里谈到的警告:除了从当前节点(Ñ)的所有子节点也应在从表中的时间顺序(基于TS)中选择的父节点。所有子节点,不管属于哪个子分支,都属于(n)为根的子树。

我该如何最好(更好)构造这样的查询表?

+2

也许读到左,右树:https://en.wikipedia.org/wiki/Nested_set_model –

+0

@Gadget冲击波谢谢!有趣。据我了解,任何孩子添加为“第三”的同一父母会推倒在树下游一层的两个孩子?不完全确定如何实现它,但我会研究它。 – Plarsen

+0

@Gadget Blaster你可能会忽略我的最后一条评论,我再读一遍,现在就更好地理解它。 – Plarsen

回答