每个人都认为SQL中的时间限制层次结构的最佳表示是什么?
我的意思是: -在任何给定的日期,您都有正常的树层次结构 -该层次结构可以每天变化 -在任何给定的日期,每个孩子仍然只有一个父级
第一天…
Business | |-Joe | |-Happy | |-Sneezy | |-Doc(*) | |-Moe |-Bashfull |-Sleepy
第二天…
Business | |-Joe | |-Happy | |-Sneezy | |-Moe |-Doc(*) |-Bashfull |-Sleepy
任何时候,孩子都可以第一次加入层次结构,也可以完全离开层次结构。(例如,新员工和退休员工。)
主要考虑因素:
我知道我目前是怎么做的,但是对其他人可能会做的事情很感兴趣:)
编辑
我天真地假设了一些考虑因素,因此将更加明确。
通用性质是最重要的(仅构成通用关系模式的一部分),结合了易于使用的驱动报告(对于任何日期范围的树的任何部分)和可靠更新的能力。
在我看来,您问题的棘手部分是:
查看整个日期范围内的整个层次结构 报告整个日期范围内的整个子树
查看整个日期范围内的整个层次结构
报告整个日期范围内的整个子树
其他项目,如果不是直截了当的,则可以使用书中概述的技术并按照其他答案中的建议进行管理。问题的一部分是理解这两个要点的含义。从某种意义上说,它们是“相同的”。“整个层次结构”只是“整个子树”的特例。但是,更深层的问题是“您如何展示,可视化,表示形式随时间变化的层次结构?” 您是要比较开始时间和结束时间的状态,还是要查看中间的变化?您想如何在一个层次结构中表示一个人的动作?
问题多于答案-但我希望这些指示对您有所帮助。