행위 엔터티의 하위 엔터티가 많지 않다면, 행위 엔터티의 주 식별자를 인조 식별자로 설계하지 않고 업무 식별자로 설계한다.
[그림1] 주문 엔터티는 주문이라는 행위를 관리하는 엔터티다.
[그림1]
주문 엔터티의 주 식별자는 인조 식별자가 아니라 업무 식별자다. 행위 엔터티는 업무 식별자를 사용하는 것이 원칙이다. 행위 엔터티의 업무 식별자가 있는데로 불구하고 인조 식별자를 사용하면 엔터티의 정체성이 희석될 수 있다. 인위적인 속성이 추가되는 것 자체가 바람직하지 않다.
행위 엔터티의 주 식별자는 업무 식별자이기 때문에 대체로 복잡하다. 만약 행위 엔터티의 하위 엔터티가 상당히 많다면 이때는 업무 식별자를 주 식별자로 사용하지 않고 인조 식별자를 주 식별자로 사용하는 게 바람직하다. 상위 엔터티의 주 식별자가 복잡하면 하위 엔터티를 복잡하게 만들 수 있으며, 모델이 복잡해져 데이터 관리가 힘들어질 수 있다.
[그림1] 주문 엔터티의 하위 엔터티가 많다면 [그림2] 주문 엔터티처럼 인조 식별자를 사용해서 주 식별자를 설계한다.
[그림2]
'데이터 Story > 모델링 매뉴얼' 카테고리의 다른 글
업무가 변경될 가능성이 있을 때는 이를 감안해서 인조 식별자를 사용 (0) | 2016.07.23 |
---|---|
엔터티에 인스턴스를 생성하는 기준이 되는 속성을 주 식별자로 설계 (2) | 2016.07.16 |
업무 식별자를 도출할 때는 논리적으로 인스턴스를 구분할 수 있는지로 검토 (0) | 2016.07.13 |
실체 엔터티의 주 식별자와 시각(일자/일시) 속성 (0) | 2016.07.07 |
모델링 매뉴얼을 쓰는 이유 (0) | 2016.07.06 |