构造树 所对应数据表的设计

数据库树状结构设计
本文探讨了数据库中树状结构的三种设计方法:通过父ID构造、使用特殊字段表示层级及两者的结合,并分析了各自的特点与适用场景。

根据自己的认识,总结如下:

 

1.利用父ID来构造树表

NodeID 结点ID

PNodeID 父结点ID

NodeName 结点名称

...

 

在网上看到好多人把NodeID设成自动增长,那如果要迁移数据库时怎么办?

 

2.利用一个特殊字段来构造树

NodeID  结点ID

NodeName 结点名称

NodeCode  结点级别

....

此处的NodeCode 来存储结点的级别信息

如:

1000

10001000

100010001000

....

每级几位根据自己需要来设,当然了这样对于无限级别来说这个字段需要

的长度会很长,检索的时候需要设索引. 根据实际情况可以考虑,这个方便排序.

 

3.两种结合起来

NodeID      结点ID

NodeName 结点名称

PNodeID   父结点ID

NodeCode  结点级别

....

这种方法结合以上两种方法,相对会灵活点

 

....

可能会有更好的数据表设计方案,期待大家参与讨论.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值