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