- HOME
- [종료]주주클럽 스터디
- 2017년 관계형데이터모델링 스터디
- 12.4 이력 관리 모델 유형
12.4 이력 관리 모델 유형
엔터티 하나로 현재와 과거 데이터 관리
- 데이터 모델을 관리하기도 편하며 개발하기에도 편하고 데이터를 생성시키기도 편하다는 장점
- 왼쪽 모델은 하위(자직) 엔터티를 가질 수 없으므로 모델의 확장성이 떨어진다.
하위(자식) 엔터티와 관계가 끊어진 릴레이션- 잘못된 경우
주문 이력 엔터티와 릴레이션 - 바른경우
엔터티 하나로 관리되는 경우
- 이런 종류의 엔터티는 대부분 하위(자식) 엔터티와 참조 무결성(RI) 관계가 성립하지 않는다.
- 엔터티에서 과거와 현재 데이터를 관리할 때는 엔터티명에 '~이력'을 시용하지 않는 것이 일반적이다
- (과거의 데이터를 별도로 관리할 때만 엔터티명에 '~이력' 을붙인다 )
두 개의 엔터티에서 현재와 과거 데이터 별도로 관리
- 보험계약 엔터티에 현재상태만 존재하므로 과거 내역을 같이보려면 UNION등의 비효율 발생
변경 속성을 별도의 엔터티로 관리
- 계좌비밀번호 이력 엔터티에서는 과거의 비밀번호만을 관리한다.
- 데이터 값은 중복되지 않더라도 데이터 모델의 속성 중복이 발생
- 현재의 비밀번호가 거의 일방적으로 사용된다는 점에선는 바람직하다.
- 특정 시점의 비밀번호가 무엇이었는지를 조회히는 요건이 있을때 유리
- 변경일자 대신 시작일자,종료일자 속성(선분이력)으로 효율적으로 조회할수있다.
모든 변경 속성을 하나의 통합 엔터티로 관리
- 코드컬럼은 속성코드와 속성명으로 데이터 일치 필요
- 성능 문제 발생하면 snap shot방식을 이용.
유사한 변경 속성들을 묶어서 별도의 엔터티로 관리
- 보험계약 이력을 날짜변경속성과 금액관련속성을 분리
- 변경된 속성조회도 쉽고 모델의 확장성도 좋아진다.
- 엔터티가 늘어나는 단점이 존재.
정리
- HOME
- [종료]주주클럽 스터디
- 2017년 관계형데이터모델링 스터디
- 12.4 이력 관리 모델 유형