sql反模式:树级结构

反模式:

  邻接表:存储父级ID

    优点:便于插入、编辑、删除

    缺点:获得树级结构比较难

 

可选方法:

 

  路径枚举

    子节点存储父节点到本节点的路径信息,像unix 的路径/usr/local/mysql

  嵌套集

    nsleft:小于所有的子节点的ID

    nsrigh:大于所有子节点的Id

 

  闭包集

    保存了所有节点之间的关系。

    方法:

    1)  把自身(ID,ID)作为一个关系插入到表中

    2)  单独创建一个表,有两个字段:ancesor、descendant,每插入一个节点,先把父节点以及父节点的祖先ID查出来,把这些ID与新节点的ID组成的(ancestor,descendant)关系插入到表中。

posted @ 2015-04-14 16:11  alvin131  阅读(169)  评论(0编辑  收藏  举报