数据结构:关于树型Tree菜单数据表结构SQL

于树型列表、树型菜单,我们无需另外创建一个关系表来存储它们的节点关系。我们可以把关系建在同一张表中,如何来表示节点与节点之间的关系,可以参考如下的表结构:


Property Name Data Type Description
UniqueID int 这个节点树的唯一识别码。正如我们期望的树型结构来储存在关系型数据库,它在整个树型结构上是主键/自动递增键值,所以我们会使用一个整数这里。如果我们正在创造一个新的TreeNode对象尚未与一个唯一的标识符,这个值将是零。
ParentID int 用于识别的父节点的对象存储的唯一ID。编号零表明节点没有父(即它是一个根节点)
Name string 一个文本值(不一定是唯一的)是与此相关的节点名称。
Children ArrayList<TreeNode> 收集的TreeNode对象的子节点。不一定所有的子节点都会包含储存在我们的关系型数据库,这里只是为了便于查询。


建立好这张实体表,包含节点关系,我们取得树型节点的时候首先取得Root根节点,就是ParantID为0的节点,然后取得它的UniqueID并作为ParentID来查询它的下一级节点,以此类推来生成整个树型结构。

当我们查询当前节点有多少子节点的时候,我们可以从Children字段中提取TreeNodes Array List去作为查询条件,查询出当前节点的所有子节点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值