1

我已经阅读了很多博客和链接,以将分层数据保存在 mysql 数据库中,例如嵌套集模态*传递闭包模态*子父层次结构。但是我有点困惑,任何人都可以建议我为多个根存储分层结构的最佳方法是什么。

e.g
Root1
|
|---Child 1
|    |--Child 1 of 1
|    |--Child 2 of 2
|
Root 2
|    
|--Child 2
|    |--Child 1 of 2
|    |--Child 2 of 2

提前感谢:)

4

1 回答 1

0

当您使用表来存储层次结构时,层次结构中的每个对象都需要一个父对象。所以你的节点可能有这些列:

 nodeid    int not null not zero              the id of the node in this row
 parentid  int not null, but can be zero      the id the node's parent
 nodename  varchar                            the node's name
 etc etc.                                     other attributes of the node

使用此表布局,任何无父节点(即任何带有 的节点parentid = 0)都是根节点。您可以根据应用程序的需要在表中包含任意数量的这些。

您展示的示例可能如下所示:

 nodeid  parentid  nodename
 ------  --------  --------
 1       0         Root1
 2       1         Child 1
 3       2         Child 1 of 1
 4       2         Child 2 of 1
 5       0         Root2
 6       5         Child 2
 7       6         Child 1 of 2
 8       6         Child 2 of 2
于 2013-05-10T18:16:56.583 回答