필요성에 의해 관리하고자 하는 데이터 집합입니다.
(데이터 특성이 유사한 것끼리 모아놓은 집합)
자립 엔티티
다른 엔티티에 의존하지 않으며 스스로 존재하는 엔티티입니다.
업무에서 중요하게 사용되는 상위 엔티티가 자립 엔티티입니다.
종속 엔티티
상위(부모) 엔티티가 존재하지 않으면 존재할 수 없는 엔티티입니다.
종속 엔티티 형태
1. 부모 엔티티의 일부로 추가 데이터를 관리하는 경우
제 1정규화로 생성된 엔티티나 이력 데이터 관리하는 엔티티
상품 테이블 - 상품코드 (PK)
상품가격 테이블 - 상품코드 (FK) / 기준일자 / 상품가격
2. 다대다 관계에서 발생한 엔티티, 다대다 관계가 두 개의 일대다 관계로 표현되면서 종속 엔티티가 생성된다
종속 전 상태
주문 테이블 - 주문번호 / 고객ID / 주문일자 / 상품코드 / 주문수량
종속 후 상태
주문 테이블 - 주문번호 / 고객ID / 주문일자
주문상품 테이블 - 주문번호(FK) / 상품코드 / 주문수량
엔티티 분류 기준은 사람에 따라 다르다.
엔티티를 분류하는 목적은 어떤 엔티티가 존재하는지 인지하여 엔티티 성격을 파악하기 위해서다.
그러기 위해선 어떤 엔티티 종류가 있는지 아는 것이 중요하다.
실체 엔티티 - 현실 세계에 있는 물체나 보이는 것에 대한 본질적인 데이터를 관리하는 엔티티
행위 엔티티 - 행위나 활동을 통해 발생하는 원천 데이터를 관리하는 엔티티
가공 엔티티 - 원천 데이터 추출, 집계한 데이터를 관리하는 엔티티
기준 엔티티 : 실체나 행위 데이터의 기준이 되는 데이터를 관리하는 엔티티
실체 엔티티
실제처럼 보일 수 있는 카드, 계좌, 직업 등은 어떤 데이터를 관리하는지 명확하게 정의해야 한다.
애매한 정의는 실체에 대한 데이터 관리 엔티티인지 행위 데이터를 관리하는지 불분명하게 된다.
행위 엔티티
계약, 주문, 신청, 입금 등 발생부터 소멸에 이르는 명확하고 비교적 짧은 라이프 사이클이 있다.
행위에 따른 발생 순서가 있기도 한다.
실체 엔티티 등 다른 엔티티에 비해 관리 속성 수가 많으며 주로 복합 주 식별자로 구성되는 때가 많아 주식별자가 복잡합니다.
주식별자가 복잡할 수 있는 이유는 여러 엔티티와 관계를 맺고 있기 때문에 모두 반영한 식별자를 사용해야 하므로 복잡해질 수 있습니다.
예를들어 주문, 고객, 상품 식별자가 관계를 맺고 있는 경우 주문 식별자가 복잡해질 수 있습니다.
엔티티 속성과 수가 많아 모델링 시 가장 많은 노력이 들어갑니다.
복잡한 주 식별자를 피하고 싶은 경우 인조 식별자를 사용해 유니크 인덱스를 사용하여 데이터 발생기준을 명확히 해야합니다.
가능하면 업무에서 가장 많이 사용하는 업무 식별자를 사용하는 것이 좋습니다.
행위 엔티티 데이터 생성 기준은 누가, 무엇을, 언제, 어떻게 입니다.
누가와 무엇을에 해당되는 것이 주로 실체 엔티티입니다. 따라서 두 개의 실체 엔티티의 교차 엔티티가 행위 엔티티가 됩니다.
누가, 무엇을, 언제, 어떻게를 통해 행위 집합의 성격을 명확히 할 수 있습니다.
가공 엔티티
원천 데이터가 아닌 관리하는 데이터를 의미합니다. 주로 집계, 요약, 임시 데이터가 가공 데이터에 해당합니다.
업무적으로 자주 조회되는 대량 집계 요건 등을 만족시키기 위해 필요합니다.
원천 데이터를 요약해서 관리하는 이유는 조회 시간이 너무 오래 걸리기 때문에 실시간으로 보여주기 위해 집계 엔티티를 미리 생성해 저장해 놓습니다.
특정 시점에 해당 데이터들을 집계하여 일관성 있는 데이터를 제공합니다.
업무 처리를 쉽게하기 위한 작업용 엔티티도 대표적인 가공엔티티 입니다.
업무를 처리하다 오류가 발생할 것을 대비한 처리 결과 관리 데이터를 별도 보관하기도 합니다.
기준 엔티티
업무를 수행하면서 참조하는 데이터를 관리하는 의미에서 참조 엔티티라고도 부릅니다.
업무의 기준이 되는 성격의 데이터가 생각보다 많이 있습니다.
기준 엔티티 모델링을 잘 해놓으면 시스템이 단순해집니다.
예를들어 우편번호 관리 시 국가기관에서 관리하는 번호 6자리, 시 도 등 주소 데이터를 관리합니다.
모든 사용자에게 고정된 가격으로 제공해야 하는 상품이 있다면 기준 엔티티를 사용할 수 있습니다.
엔티티 식별자 (후보, 대리, 주, 외래, 슈퍼, 인지) (1) | 2024.03.25 |
---|---|
엔티티 도출과 엔티티명 정의 참고 원칙 (0) | 2024.03.19 |
슈퍼타입과 서브타입 모델별 사용 장단점 (1) | 2024.02.19 |
데이터 통합 (1) | 2024.02.14 |
엔티티 통합 대상 (0) | 2024.02.01 |
댓글 영역