问题:二级联动、多级联动等树形结构的数据,如何设计表格。

场景:省市县三级联动、商品的分类等。

参考:https://www.zhihu.com/question/20417447  

最常用的一种方法是:将多级数据都放在同一张表中,每条记录用一个parent_id字段存放它对应的父节点的Id,如下图。

工具:MySQL

如果当前节点已经是根节点(没有父节点),则parent_id为0即可。

数据库树形结构、多级联动的表设计相关推荐

  1. 数据库总结(四):表设计之关联关系

    数据库总结(一):基本SQL 数据库总结(二):基本查询 数据库总结(三):分组,联结 数据库总结(四):表设计之关联关系 数据库总结(五):视图,约束,索引 表设计之关联关系 一对一 什么是一对一: ...

  2. 数据库树形结构存储方法的选择

    树形结构存储方法的选择 简单的方法跟踪多级回复构成的树形分支:parent_id 一开始的思路 使用parent_id跟踪分支 使用先找出所有节点,按照一定顺序整合成树形结构 缺陷: 在深度过深时仅用 ...

  3. 树形结构在关系数据库中的设计

    在程序设计中,经常以树形结构表示数据的层次关系,如菜单的结构.商品的分类等. 这样的层次结构在关系数据库中难以直观地表示.常见的一种做法是用一个字段指向上级节点来表示记录的上下级关系. fid pid ...

  4. 数据库树形结构,EasyUI Tree 树

    通过 $.fn.tree.defaults 重写默认的 defaults. 树(tree)在网页中以树形结构显示分层数据.它向用户提供展开.折叠.拖拽.编辑和异步加载功能. 树的数据格式(Tree D ...

  5. html树形结构_数据结构-线性表.md

    数据结构基本概念 相互之间存在一种或多种特定关系的数据元素集合. (ER图:实体关系图) 数据对象中数据元素之间的关系 逻辑结构 1.集合结构 2.线性结构 3.树形结构 4.图形结构 下图:从又到左 ...

  6. 使用递归算法结合数据库解析成java树形结构

    使用递归算法结合数据库解析成java树形结构 1.准备表结构及对应的表数据 a.表结构: create table TB_TREE ( CID NUMBER not null, CNAME VARCH ...

  7. Mybatis返回树形结构

    在返回json数据时常常需要返回树形的结构,自己去写递归来构建树的话又太麻烦了. 下面介绍一种使用mybatis来返回树形结构的好方法 表结构展示 表里面需要记录父级Id MyBatis一对多coll ...

  8. 树形结构的数据存储和数据库表设计

    ID int 主键 OBJECTNAME nvarchar(50) 对象名称 OBJECTTYPE  nvarchar(1)  对象级别 PARENTID int 对象父ID 其实对象级别这个字段可以 ...

  9. 数据库学习,树形结构的数据库表Schema设计方案

    2019独角兽企业重金招聘Python工程师标准>>> 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需 ...

最新文章

  1. MySQL 的 Binlog 日志处理工具(Canal/Maxwell/Databus/DTS)对比
  2. 李彦宏:用“工程思维”做自动驾驶
  3. MHA高可用主从复制实现
  4. linux ip addr peer,Linux网络IP设置
  5. 性能之外:LSI 6Gb/s SAS RAID渠道先行
  6. PHP 学习 一 基础
  7. JS表情替换代码,这里使用字符代替图片路径
  8. 关于file的部分简单命令
  9. node.js npm常用命令
  10. Leetcode每日一题:190.reverse-bits(颠倒二进制位)
  11. python 生成器 迭代器 区别_Python生成器和迭代器的区别
  12. CentOS 7.2下ELK分析Nginx日志生产实战(高清多图)
  13. nginx反代+varnish缓存+后端LAMP平台集群实现
  14. Listary -- 高效率办公软件
  15. 通信原理第六章思维导图
  16. java世界杯hashmap,Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。...
  17. 自定义view仿写今日头条点赞动画
  18. 揭秘:张国荣葬礼,袁咏仪为何哭到失控?
  19. C++编程-leetcode-19-删除链表的倒数第N个结点
  20. 并发编程后记_什么是后记? 它与我的打印机有什么关系?

热门文章

  1. (已解决) centos6.5 yum源 失效 The whole CentOS 6 is dead and shouldn’t be used anywhere at all
  2. 实验1 java程序基础_《Java程序设计》实验1
  3. moment获取几小时前_请问怎么把“多少小时前”精确到“多少小时多少分钟前”...
  4. 二级计算机选择题知识点资源,计算机省二级选择题.txt
  5. qt5不能添加新文件_VS2017配置Qt5.9教程
  6. 常州儿童计算机培训,常州推荐儿童编程培训班哪几家靠谱
  7. ios xcode文件前缀_关于ios8:Xcode 6错误:“嵌入式二进制文件的包标识符未以父应用程序的包标识符为前缀。”...
  8. java类验证和装载顺序_深度分析Java的ClassLoader机制(源码级别)
  9. html怎么用脚本显示隐藏,使用隐藏状态而不是注释或自定义脚本标记来模板化HTML...
  10. 后台上传数据php代码,jQuery传递数据同时上传文件到php后台的问题