by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

정정 데이터




  • 이력 데이터 - 한 번 생성된 데이터가 시간의 흐름에 따라 변하는 것 (변경 데이터)
  • 정정 데이터 - 현재나 과거 시점의 데이터가 잘못돼 수정하는 것 (원인 : 실수, 데이터 맞추기 등)

정정 데이터 관리 방안

정정 데이터 케이스(예)

두 번째 인스턴스의 지점코드가 19 인데, 09 로 잘못 관리, 10으로 변경되는 시점에 발견

① 기존 데이터를 정정해야 하는 데이터로 업데이트 (이력관리X, 업무상 안중요한 데이터)
  • 이미 출력되거나 이미지화된 자료에는 잘못된 데이터가 존재, 조회로 이뤄지는 화면 등에서는 정상 데이터 사용됨
    #대리점코드 #유효종료일자 유효시작일자 지점코드
    123 9999-12-31 2020-12-30 10
    123 2020-12-29 2020-10-10 09
    123 2020-10-09 2020-02-01 05
② 정정 이전 데이터를 단순 참고용으로 관리 (엔터티 추가 부담)
  • 모델
  • 릴레이션
    대리점소속
    #대리점코드 #유효종료일자 유효시작일자 지점코드
    123 9999-12-31 2020-12-30 10
    123 2020-12-29 2020-10-10 19
    123 2020-10-09 2020-02-01 05

    대리점소속정정

    #대리점코드 #유효종료일자 유효시작일자 지점코드
    123 2020-12-29 2020-10-10 09
③ 하나의 엔터티에서 변경 이력 데이터와 정정 데이터를 저장 (이력관리O, 업무상 중요하게 사용되는 데이터)
  • 모델
  • 릴레이션
    대리점소속 - 정정 이전 릴레이션
    #대리점코드 #유효종료일자 #상태코드 유효시작일자 지점코드
    123 9999-12-31 1 2020-12-30 10
    123 2020-12-29 1 2020-10-10 09
    123 2020-10-09 1 2020-02-01 05

    대리점소속 - 정정 이후 릴레이션] / 상태코드 : 1(변경), 2(정정)

    #대리점코드 #유효종료일자 #상태코드 유효시작일자 지점코드
    123 9999-12-31 1 2020-12-30 10
    123 2020-12-29 1 2020-10-10 19
    123 2020-12-29 2 2020-10-10 09
    123 2020-10-09 1 2020-02-01 05
    • 상태코드 값이 '1' 인 변경 이력 데이터는 선분 이력으로 관리됨, 상태코드 값이 '2' 인 정정 데이터는 잘못된 값인 상태로 관리됨
    • 상태코드 속성 추가 및 상태코드 조건을 항상 적용해야 하는 단점이 있으나 정정 데이터 관리에 효율적인 모델
  • 선분 이력이 아닌 경우
    적용일자
    적용순번
    • (상태코드 or 정정여부)

※ 흔하지 않지만 민감한 데이터를 제대로 관리해야 할 때가 있어 기본 개념 필요
※ 업무에서 구별해서 사용하지 않더라도 정정 데이터와 이력 엔터티 구분 필요 (혼용하면 모델 구조가 이상해짐)
※ 정정 데이터에 대한 관리 방안은 논리 모델링 단계에서 판단해 모델에 반영 권고 (이력 엔터티 확정 이후도 OK)

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.