2013-09-04 2 views
0

나는 관리자/팀 리더/팀 멤버 인 간단한 트리 구조를 가지고 있습니다. 그러나이 구조는 시간적으로 가변적입니다. 팀원 1은 팀 1e의 구성원입니다. 지. (YYYY.MM.DD)에서 2013.01.01 ~ 2013.03.31까지, 2013.04.01부터는 팀 2의 멤버입니다. 가능한 유스 케이스는 한 명의 관리자에서 다른 관리자에게 홀 팀 (멤버 포함)을 이동시키는 것입니다. 시간의 각 스냅 샷에서 조직의 구조를 기억해야합니다.시간의 트리 구조 변수

오라클 데이터베이스 (11gR2)에서 이것을 구현하는 가장 좋은 모델은 무엇입니까? 가능한 사용 사례는 추가, 각 레벨의 사람 제거 및 각 레벨에서 사람/그룹 이동입니다. 그리고 물론 구조를 보여 주며, 각 레벨에 보스를 보여 주며, 각 레벨의 회원을 보여 주며, 일정 기간 동안 회원의 역사를 보여줍니다. 그들이 내 경험에 매우 느리고 조금 서투른 비록

최고 감사합니다,

제이 섹은

답변

0

오라클에 대한 시간 영역 확장이 있습니다. 해당 사이트에서 오라클 임시 지원을 살펴보십시오.

간단히 말해서 기본 키에 날짜 범위를 추가하는 것입니다. 이 기간은 유효 기간입니다. 사실이 바뀌면 now() 종료 날짜를 넣거나 날짜가 필요할 때마다 먼 미래의 날짜 (12 월 31 일 9999)를 가짐으로써 감지 될 수있는 기존 행을 종료하고 새로운 행을 추가합니다 행의 시작 날짜가 now()이고 종료 날짜가 farward (12 월 31 일 9999)입니다.

쿼리 할 때 항상 관심있는 날짜가 시작 날짜보다 크고 종료 날짜보다 빠른 행을 찾습니다.

모든 데이터 구조에서 작동합니다.

현재 날짜에 간단한 쿼리를 사용하려는 경우 적절하게 선택하는보기를 추가하십시오.

행운을 빈다.