관계형 데이터 모델링 프리미엄 가이드 DB구축 (2014년)
이력 데이터란? 0 0 40,166

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


이력 데이터란?

이력관리

이미 존재하는 인스턴스의 속성 값이 변할 때 기존 값(이력/스냅샷 데이터)를 관리하는 것


이력/내역

이력내역
변경되는 데이터(변경이력)발생하는 데이터(발생내역)
UPDATE 수반INSERT 수반
계약이력, 주문이력주문내역, 거래내역, 로그인기록


  • 이력/내역 데이터 판단 기준 : 업무나 데이터 성격이 아니라 데이터 자체가 변경되는지 여부


이력/내역 모델

내역 데이터를 관리하는 모델보안카드 발급시 마다 보안카드 엔터티에 데이터가 생성되므로 내역 엔터티
이력 데이터를 관리하는 모델보안카드 재발급시 고객 엔터티의 관련된 변경 이전 데이터를 보안카드이력 엔터티에 생성하므로 이력 엔터티, 보안카드이력 엔터티에 현재 시점 데이터를 중복 관리할 수 있음(비정규화)
내역 데이터에 대한 이력 데이터를 관리하는 모델데이터 성격을 명확하게 정의한 바람직한 모델, 실체 엔터티는 현재 상태의 데이터만을 관리하려는 경향이 있음


이력 데이터로 관리할지에 대한 판단

  • 데이터를 무조건 통합하려는 것과 같은 경향이 이력 관리에도 존재
  • 이력 데이터의 필요성과, 관리 수준에 대한 명확한 판단 필요
  • 대부분 업무에서 이력 데이터를 보관하는 것은 중요 함
    • 예) 고객의 현재 보험료와 구성 상품 같은 현재 상태 뿐 아니라, 과거 특정 시점의 상태와 미래 임의 시점의 정보가 필요 하기도 함.


이력 데이터 관리 여부 판단 시점

  • 핵심 엔터티를 도출하는 개념 모델링 단계에서 시작 (필자, 이력 관리 대상 여부 결정)
  • 이력 데이터 고려 이전에 본질 데이터가 먼저 확고해져야 하나, 물리 모델링 단계에서 고려시 모델 구조가 바뀔 수 있어 바람직 하지 않음 (다른 엔터티가 영향을 받는 등)
  • 이력 관리 방법, 이력 엔터티의 주 식별자 등 상세한 방법은 논리 모델링에서 결정


이력 데이터 관리 선정 기준

  • 데이터가 시간의 흐름에 따라 변할 수 있는가? (변해야 함)
  • 특정 데이터의 과거 상태를 추적할 필요가 있는가? (있어야 함)
    • 없더라도 시간의 흐름에 따라 데이터가 변할 수 있다면 이력을 관리할 수 있는 모델 고려
  • 가급적 중요 엔터티는 이력 데이터 관리 요건이 생길 것을 대비
"구루비 데이터베이스 스터디모임" 에서 2014년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

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

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

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

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