根据自己的认识,总结如下:
1.利用父ID来构造树表
NodeID 结点ID
PNodeID 父结点ID
NodeName 结点名称
...
在网上看到好多人把NodeID设成自动增长,那如果要迁移数据库时怎么办?
2.利用一个特殊字段来构造树
NodeID 结点ID
NodeName 结点名称
NodeCode 结点级别
....
此处的NodeCode 来存储结点的级别信息
如:
1000
10001000
100010001000
....
每级几位根据自己需要来设,当然了这样对于无限级别来说这个字段需要
的长度会很长,检索的时候需要设索引. 根据实际情况可以考虑,这个方便排序.
3.两种结合起来
NodeID 结点ID
NodeName 结点名称
PNodeID 父结点ID
NodeCode 结点级别
....
这种方法结合以上两种方法,相对会灵活点
....
可能会有更好的数据表设计方案,期待大家参与讨论.
数据库树状结构设计
本文探讨了数据库中树状结构的三种设计方法:通过父ID构造、使用特殊字段表示层级及两者的结合,并分析了各自的特点与适用场景。

被折叠的 条评论
为什么被折叠?



