数据结构:关于树型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去作为查询条件,查询出当前节点的所有子节点。

引用通告地址: 点击获取引用地址
标签: CMS
评论: 0 | 引用: 0 | 阅读: 1649 | 打印 | 打包 | 转发
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用