이번에는 이전에 설명한 변경 속성을 코드로 관리하는 방법(5, 6, 7번 방법)과 연관된 내용입니다.
종테이블(Vertical Table) 방법으로 이력을 관리할 때 동시에 변경된 속성을 알아야 할 때가 있는데요.
동일한 업데이트 트랜잭션에 의해 변경된 속성이 무엇인지를 알려면 [그림1]과 같은 모델을 사용할 수 있습니다.
[그림1]
변경순번 속성 값이 같으면 동시에 변경(업데이트)된 속성을 의미합니다.
그리고 변경순번 속성은 이미 인조 식별자 역할을 하기 때문에 변경일자 속성이 주 식별자에 포함될 필요는 없습니다. 순번에 일자 의미가 이미 포함돼 있죠.
[그림2] 릴레이션처럼 관리하면, 가장 최근에 함께 변경된 속성은 계좌 관리사원(‘123’)과 계좌 비밀번호(‘2222’)라는 것을 나타냅니다.
[계좌이력속성]
#속성번호 |
속성명 |
100 |
계좌명 |
110 |
계좌관리사원번호 |
120 |
계좌비밀번호 |
[계좌이력]
#계좌번호 |
#변경순번 |
#속성번호 |
변경일자 |
속성값 |
12345678 |
3 |
110 |
2021-07-07 |
123 |
12345678 |
3 |
120 |
2021-07-07 |
2222 |
12345678 |
2 |
100 |
2021-05-05 |
홍길동 |
12345678 |
1 |
120 |
2021-02-10 |
1111 |
[그림2]
이와 같은 요건(함께 변경된 속성이 뭔지를 알아야 하는 요건)이 가끔 있었습니다. 그때도 굳이 알 필요가 있나 하는 생각을 속으로 했었지만요.
'데이터 Story > 모델링 이론' 카테고리의 다른 글
이력 엔터티를 설계하는 10가지 방법 – 아홉 번째 (0) | 2011.06.26 |
---|---|
이력 엔터티를 설계하는 10가지 방법 – 여덟 번째 (0) | 2011.06.19 |
이력 엔터티를 설계하는 10가지 방법 – 일곱 번째 (0) | 2011.06.03 |
이력 엔터티를 설계하는 10가지 방법 – 여섯 번째 (0) | 2011.05.22 |
이력 엔터티를 설계하는 10가지 방법 – 속성 단위 이력 관리 예제 (0) | 2011.05.15 |