树结构随时间变化

时间:2013-09-04 15:22:50

标签: database-design oracle11g hierarchical-data

我有一个简单的树结构:经理/团队负责人/团队成员。但是这种结构在时间上是可变的:团队成员1是团队1e的成员。 G。从(YYYY.MM.DD)2013.01.01到2013.03.31以及之后的2013.04.01是团队2的成员。可能的用例是将洞团队(有成员)从一个经理移到另一个经理。我必须在每个时间快照中记住组织的结构。

在oracle数据库(11gR2)中实现此功能的最佳模型是什么?可能的用例包括:添加,删除每个级别的人员以及移动每个级别的人员/组。当然还有结构,在每个级别显示一个老板,显示每个级别的成员,显示一段时间内的成员资格。

最诚挚的问候,

亚切克

1 个答案:

答案 0 :(得分:0)

Oracle有时域扩展,虽然它们非常慢,但我的经验有点笨拙。看看他们网站上的Oracle时态支持。

它的作用,而不仅仅是,为主键添加日期范围。此日期范围是有效范围。当事实发生变化时,您可以通过输入now()的结束日期或者只要您想要日期,并添加新的日期来终止现有行,这可以通过具有远期日期(9999年12月31日)来检测。 row,其开始日期为now(),结束日期为远期(9999年12月31日)。

查询时,请始终查找感兴趣的日期大于等于开始日期且早于结束日期的行。

这适用于任何数据结构。

如果您希望对当前日期进行简单查询,请添加适当选择的视图。

祝你好运!