본문 바로가기

이력 설계

[worst practice 4] 요건은 아래와 같습니다. -부서명, 전화번호, 부서장 등의 부서에 대한 기본 정보를 관리한다.-전화번호, 부서장 등의 데이터는 변경될 수 있어 이력 관리한다. 위의 요건을 설계한 모델이 아래와 같습니다.잘못된 부분을 생각해 보세요. [그림 1] -- 이력 데이터를 어떻게 설계할지에 대한 문제입니다. 이력 데이터를 원천 엔터티에 통합해서 관리하면 좋을 때가 있고 그렇지 않을 때가 있습니다. [그림 1]은 그렇지 않을 때에 해당돼서 아래와 같이 관리하는 게 바람직합니다. [그림 2] 실체를 관리하는 엔터티나 기본 정보를 관리하는 엔터티, 기준 정보를 관리하는 엔터티는 이력 데이터를 원천 데이터와 같이 관리하지 않는 것이 좋습니다. 실체 데이터는 한 번 생기면 그대로 존재하는 것이어서, 특성(속성)이 바뀐다고.. 더보기
이력 엔터티를 설계하는 10가지 방법 – 열 번째 드디어 마지막 열 번째 방법입니다. - 마스터에 해당 속성이 존재해 현재 데이터를 관리하고, 속성 그룹의 이력 데이터는 별도의 엔터티에서 관리 - 마스터에 해당 속성이 존재하지 않고, 속성 그룹을 별도 하나의 엔터티를 사용해 현재+과거 데이터를 통합해서 관리 - 마스터에 해당 속성이 존재하지 않고, 속성 그룹을 두 개의 엔터티를 사용해 현재와 과거 데이터를 개별로 관리 유사한 속성을 묶어서 별도의 엔터티로 설계하며, 현재 데이터와 변경된 과거 데이터를 따로 관리합니다. 앞서 밝혔듯이 구분하는 게 도움이 되기 때문에 구별했지만 다섯 번째 방법과 유사합니다. 이력 엔터티를 설계하는 다섯 번째 방법 [그림1] 주식종목가격 엔터티의 속성 값이 하나라도 바뀌면 주식종목가격이력 엔터티에 데이터가 생성합니다. 기준가.. 더보기
이력 엔터티를 설계하는 10가지 방법 – 아홉 번째 아홉 번째 방법은 유사한 속성을 묶어서 별도의 엔터티로 설계하고, 이력 데이터도 같이 관리하는 겁니다. - 마스터에 해당 속성이 존재해 현재 데이터를 관리하고, 속성 그룹의 이력 데이터는 별도의 엔터티에서 관리 - 마스터에 해당 속성이 존재하지 않고, 별도의 엔터티에서 속성 그룹의 현재+과거 데이터를 통합해서 관리 - 마스터에 해당 속성이 존재하지 않고, 속성 그룹을 두 개의 엔터티를 사용해 현재와 과거 데이터를 개별로 관리 이 방법은 네 번째 방법과 유사한데요. 제 기준으로는 내역 엔터티인데, 비교해서 보는 게 이해를 돕기 때문에 10가지의 이력 엔터티 설계에 포함시켰습니다. 여덟 번째 방법, 마지막 열 번째 방법과 비교해 보세요. 유사한 속성을 묶어서 별도의 엔터티에서 현재+과거 데이터를 통합 관리하.. 더보기