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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

1.利用父ID来构造树表

NodeID 结点ID

PNodeID 父结点ID

NodeName 结点名称

...

 

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

 

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

NodeID  结点ID

NodeName 结点名称

NodeCode  结点级别

....

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

如:

1000

10001000

100010001000

....

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

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

 

3.两种结合起来

NodeID      结点ID

NodeName 结点名称

PNodeID   父结点ID

NodeCode  结点级别

....

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

 

....

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值