层级结构数据库设计
2020-08-28 13:55:46 0 举报
AI智能生成
层级结构数据库设计
作者其他创作
大纲/内容
1、邻接表
表结构:id,name,parentid
实现:使用自关联
优点:结构简单,易于理解
缺点:非相邻层级的关系是间接的,无法有效查询
2、路径表
表结构:id,name,pathway
实现:在1的基础上,增加路径字段,用于记录该节点的全链路关系
优点:可有效查询跨层级的所有关系
缺点:路径需额外维护
3、前序遍历树表
表结构:id,name,lft,rgt
实现:所有数据当作一颗树,并给节点的左侧和右侧按照层级关系顺序编码
优点:消除了递归查询和自关联,查询效率高
缺点:增删改时需要对整棵树进行左右编码重构,代价大
4、闭包表
表结构:
主表:id,name
闭包表:parentid,sonid,distiance
主表:id,name
闭包表:parentid,sonid,distiance
实现:在2的基础上,将路径字段按照范式规范拆分到新的闭包表中,其中distiance表示距离(关系层级)
优点:可有效查询跨层级的关系;使用整数查询,效率高
缺点:一条四级链路的关系在闭包表中要存储多行
0 条评论
下一页