관계형 데이터 모델링 프리미엄 가이드 DB구축 (2014년)
정정 데이터 0 0 49,728

by 구루비스터디 이력관리 [2018.06.10]


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


정정 데이터 관리 방안

정정 데이터 케이스(예)

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


① 기존 데이터를 정정해야 하는 데이터로 업데이트 (이력관리X, 업무상 안중요한 데이터)

  • 이미 출력되거나 이미지화된 자료에는 잘못된 데이터가 존재, 조회로 이뤄지는 화면 등에서는 정상 데이터 사용됨
#대리점코드#유효종료일자유효시작일자지점코드
1239999-12-312020-12-3010
1232020-12-292020-10-1009
1232020-10-092020-02-0105


② 정정 이전 데이터를 단순 참고용으로 관리 (엔터티 추가 부담)

모델


릴레이션
  • 대리점소속
#대리점코드#유효종료일자유효시작일자지점코드
1239999-12-312020-12-3010
1232020-12-292020-10-1019
1232020-10-092020-02-0105


  • 대리점소속정정
#대리점코드#유효종료일자유효시작일자지점코드
1232020-12-292020-10-1009


③ 하나의 엔터티에서 변경 이력 데이터와 정정 데이터를 저장 (이력관리O, 업무상 중요하게 사용되는 데이터)

모델


릴레이션
  • 대리점소속 - 정정 이전 릴레이션
#대리점코드#유효종료일자#상태코드유효시작일자지점코드
1239999-12-3112020-12-3010
1232020-12-2912020-10-1009
1232020-10-0912020-02-0105


  • 대리점소속 - 정정 이후 릴레이션] / 상태코드 : 1(변경), 2(정정)
#대리점코드#유효종료일자#상태코드유효시작일자지점코드
1239999-12-3112020-12-3010
1232020-12-2912020-10-1019
1232020-12-2922020-10-1009
1232020-10-0912020-02-0105


  • 상태코드 값이 '1' 인 변경 이력 데이터는 선분 이력으로 관리됨, 상태코드 값이 '2' 인 정정 데이터는 잘못된 값인 상태로 관리됨
  • 상태코드 속성 추가 및 상태코드 조건을 항상 적용해야 하는 단점이 있으나 정정 데이터 관리에 효율적인 모델


선분 이력이 아닌 경우
적용일자
적용순번


  • (상태코드 or 정정여부)


  • 흔하지 않지만 민감한 데이터를 제대로 관리해야 할 때가 있어 기본 개념 필요
  • 업무에서 구별해서 사용하지 않더라도 정정 데이터와 이력 엔터티 구분 필요 (혼용하면 모델 구조가 이상해짐)
  • 정정 데이터에 대한 관리 방안은 논리 모델링 단계에서 판단해 모델에 반영 권고 (이력 엔터티 확정 이후도 OK)
"구루비 데이터베이스 스터디모임" 에서 2014년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3652

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입