이력 엔터티 선정 절차

이력 엔터니 선정 시점 정의는 별도의 판단이 필요

  • 개념/논리/물리 모델링 단계 구분 없이 엔터티를 정의하는 시점에 이력 관리도 같이 정의 (저자 추천)
    • 이력 방안은 주로 중요한 엔터티에 대해 논의되므로 이력 관리를 포함해 심도 있게 분석 필요
    • 이력 엔터티가 개념 모델부터 도출되면 더 나은 방안을 고려할 기회를 제공하기도 함
  • 물리 모델링 단계에서 이력 관리를 한꺼번에 적용하는 방법
    • 본질 데이터가 완전하게 도출된 이후에 이력 데이터를 고려하므로 본질에 집중
    • 분리가 가져다주는 단순함 때문에 혼선이 발생하지 않음
    • 혼선이 모델링 단계 후반에 발생할 수 있다는 단점이 있음
    • 핵심 엔터티의 이력 관리 방법을 정해야 나머지 엔터티가 방향을 잡을 수 있을때 적용 불가
    • 두번에 나눠 생각하게 되므로 상대적으로 시간이 오래 걸림


이력 엔터티 선정 절차

이력관리 요건분석
① 이력요건→(N)일반엔터티
↓(Y)
이력 엔터티
② 이력관리 유형선택(인스턴스관리, 개별속성관리, 유사속성관리)
③ 선분이력요건→(N)일반이력 엔터티
↓(Y)
선분이력 엔터티
④ 이력 엔터티 주 식별자
이력 엔터티 확정


이력 데이터를 관리해야 하는지 분석

  • 이력 데이터 사용 업무 존재 여부 (현업의 의견)
  • 이력 관리 요건이 미래에 생길 수 있는지 판단 (동종 업체의 업무 참조등)
  • 모델러 판단에 따라 현업의 의견과 관계 없이 이력 엔터티 채택 가능
  • 당장 사용하지 않는 이력 데이터가 추후에 유용하게 사용될 수 있음
  • 데이터의 중요도를 고려해야 하지만 가능한 순수 업데이트와 삭제는 없어야 함


이력 데이터 관리 모델 유형 선택

  • 대부분은 기계적으로 이력 모델 유형을 결정할 수 있지만 때에 따라서는 판단하기 까다로울 수 있음


선분 이력 채택 여부 선택

  • 이력 모델 유형 결정시 동시에 이뤄질 수 있음
  • 선분 이력을 무조건 채택하는 것은 바람직하지 않음 (많은 고민)
  • 성능 이슈가 없다면 일반 이력 엔터티(변경일자), 있다면 선분 이력 엔터티(시작일자, 종료일자)


이력 엔터티의 주 식별자 선택

  • 이력 모델 유형 및 선분 이력 채택 여부 선택시 동시에 이뤄질 수 있음
  • 매우 중요한 엔터티에 대해서는 이력 관리와 비정규화 등을 종합적으로 고려해 도출할 수 있음