엔티티
엔티티란?
- 엔티티란 업무 활동 상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상에 대한 데이터를 저장할 수 있고 대상 간의 동질성을 지닌 개체 또는 행위의 집합이다.
- 엔티티를 정의할 때는 어떤 대상이 그 엔티티에 속하는지 혹은 속하지 않는지를 명확하게 정의할 수 있어야 한다.
엔티티 정의의 요건
- 관리하고자 하는 것인지를 확인한다.
- 가로와 세로를 가진 면적인지를 확인한다.
- 대상 개체 간의 동질성이 있는지를 확인한다.
- 다른 개체와 확연히 구분되는 독립성을 가지는지를 확인한다.
- 순수한 개체이거나 개체가 행위를 하는 행위 집합인지를 확인한다.
의미상 주어 정의
- 엔티티에는 인조 식별자가 있을 수 있고, 이를 가주어라 한다면 진주에 해당하는 관계나 속성이 어딘가에 있을 수 있다.
- 예를 들어 신용카드의 가주어는 임의의 번호를 부여해서 만든 카드번호를 말한다.
- 진주어는 카드를 발급받은 사람과 발급받은 상품, 그리고 발급일자가 될 것이다.
- 이 진주어를 의미상의 주어라고 할 수 있으며, 의미상의 주어를 모델링 입장에서 본다면 원래의 본질적인 식별자에 해당한다.
본질 식별자 정의의 의의
- 모델링 진행 과정에서 본질 식별자를 특히 중시하는 이유는 집합의 의미가 모호한 상태에서는 더 이상 객관적인 판단을 진행해 가는 것이 불가능하기 때문이다.
- 집합의 인스턴스가 생성되는 정확한 단위를 모르고서는 집합이 명확해질 수 없다.
본질 식별자 정의 예
- 신용카드 엔티티의 본질 식별자인 고객번호와 상품코드는 부모에게서 상속받은 관계 속성이며, 이 부모들은 키 엔티티이다.
- 본질 식별자로 상속 관계를 규명해 올라갔을 때 최상위에 존재하는 것이 바로 키 엔티티이다.
- 임의의 엔티티가 다른 엔티티와 1:M이나 1:1 관계일 때 1 쪽의 엔티티가 항상 본질 식별자가 되는 것은 아니다.
코드성 키 엔티티 모델링
- 코드성 엔티티라고 부르는 엔티티를 개념적 모델링 단계에서 도출할 것인지 아니면 나중에 상세 모델링 단계의 정규화 단계에서 처리할 것인지에 대한 판단은 모델링의 효율적인 진행에 커다란 영향을 미친다.
자식 엔티티 유무 확인
- 해당 엔티티가 다른 엔티티의 본질 식별자가 되고 있는지를 찾아내는 것이다.
속성 존재 여부 확인
- 해당 엔티티가 현재 혹은 미래에 단순한 코드명이나 코드의 의미에 대한 설명 외에 또 다른 속성을 가질 수 있는가를 확인해 보는 것이다.
관계 존재 여부 확인
- 엔티티가 향후 다른 엔티티와 많은 관계를 가질 가능성이 있는지를 검토해 보는 것이다.
집합 순수성
집합 순수성 의미
- 엔티티는 반드시 순수한 본질 집합이 되어야 한다는 것은 정의하고자 하는 집합이 사람, 상품 등과 같이 단위 사물을 정의한 개체 집합이 되든지, 아니면 이들이 어떤 활동을 함으로써 만들어진 입금, 계약 등과 같은 행위 집합이 되든지 간에 반드시 둘 중의 어느 하나가 되어야 한다는 것이다.
집합 순수성 예
- 납입자와 같은 단어를 풀어보면 납입이라는 행위 집합과 자(者)라는 개체 집합이 합성되어 있음을 알 수 있다.
- 납입자란 순수 본질 집합인 고객과 납입이 결합되어 만들어진 것, 엔티티가 아니라 관계라는 것이다.
집합 순수성 적용 예외 사항
- 관계의 엔티티화
- 관계가 엔티티로 변하는 경우이다.
- 관계가 M:M이 되면 더 이상 관계로만 존재할 수 없기 때문에 엔티티로 바뀌게 되며, 이를 릴레이션 엔티티라고 한다.
- 일부 집합 정의
- 전체 논리적인 집합 중에서 관리하고자 하는 일부의 집합만을 엔티티로 정의하고자 할 때, 구체적인 명칭을 부여하다 보면 이를 수식하고 있는 단어로 인해 마치 개체 집합과 행위 집합의 합성처럼 보일 수가 있다.
- 배타적 관계 대체
- 엔티티가 여러 엔티티와 동일한 내용의 관계를 갖는 배타적 관계를 가질 때 만약 배타적 관계의 변화 가능성이 높다면 이를 피하기 위해 배타적 관계에 있는 것들만 모아서 별도의 엔티티를 구성하는 경우이다.
'DAP' 카테고리의 다른 글
[DAP 전문가 가이드] 4.2.5 관계 정의 (0) | 2025.04.29 |
---|---|
[DAP 전문가 가이드] 4.2.4 핵심 엔티티 정의(2) (2) | 2025.04.28 |
[DAP 전문가 가이드] 4.2.3 후보 엔티티 선정 (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.2.2 주제 영역 정의 (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.2.1 개념 데이터 모델링 이해 (0) | 2025.04.28 |