最近做项目,经常用的树型结构,对树型表的设计有了新的理解.
原来设计的树型表结构:体现了一种遍历的方式.用编码控制相应的父子关系,虽然这样也体现了关系,但在做转移子树时就相当麻烦了,而且逻辑关系也不清晰.
这次的设计:改用父节点控制父子关系,同时提供一个排序号,提供一种遍历,(可以增加多个字段,来扩展遍历方式),这样在移动时就可以不用那么麻烦了,但遍历关系还是要改的.
进一步改进:考虑是否有好的方法,可以使遍历顺序改变时,容易改变(可以用trigger,这样在改变父子关系时,就同时改变了遍历顺序,也省去了程序的控制,并可以作为通用的树型设计来用.) ,同时考虑可以把遍历单独提出来,这样可以方便的扩展遍历方式.
原型:bbdb.
这个在有内设嵌套时,在排序和插入是排序号,改起来比较麻烦.
待考虑好得方法.