本文由 简悦 SimpRead 转码, 原文地址 https://www.cnblogs.com/M-D-Luffy/p/4712846.html
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完 成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将 Tree 存入 DBMS,设计合适的 Schema 及其对 应的 CRUD 算法是实现关系型数据库中存储树形结构的关键。
理想中树形结构应该具备如下特征:数据存储冗余度小、直观性强;检索遍历过程简单高效;节点增删改查 CRUD 操作高效。无意中在网上搜索到一种很巧妙的 设计,原文是英文,看过后感觉有点意思,于是便整理了一下。本文将介绍两种树形结构的 Schema 设计方案:一种是直观而简单的设计思路,另一种是基于左 右值编码的改进方案。