엔터티
개요
Entity.
데이터베이스에서 테이블을 이루는 가장 기본적인 단위이다.
개념
비즈니스 관점에서 IT를 통해 저장 및 관리하고자 하는 집합적인 어떤 것을 의미한다.
이것을 데이터로서 우리는 저장하고자 하는 것이며, 집합 명사들이 여기에 들어가는 경우가 많다.
이름을 지을 때는 단수명사로 짓는다.
약어를 사용하지 않고, 유일한 이름이어야 한다.
인스턴스
이 하위 개념으로 인스턴스라는 것이 있다.
사람이란 엔터티가 있다면 그 하위로 김동건 같은 인스턴스가 있다.
참고로 엔터티와 인스턴스의 관계를 따질 수도 있는데, 이 경우에는 속하는 것이고, 1:M 관계가 된다.
특징
다음의 특징이 있을 때 엔터티로 추출할 수 있다.
- 비즈니스 요구 조건 만족을 위해 필요하고, 저장 및 관리하고자 하는 정보
- 유일한 식별자로 식별이 가능해야 함
- 영속적으로 존재하는 인스턴스의 집합
- 비즈니스 프로세스에 이용됨
- 반드시 속성을 가져야 함
- 최소 1개 이상의 다른 엔터티와 관계를 가져야 함
아래 두 가지가 빡세게 들리기도 하지만, 이 정도는 돼야 엔터티로 뽑을 만하다는 것이다.
그런데 간혹 이후를 위해, 조금 더 형식적인 표현을 위해, 비즈니스 로직 상 관계나 속성이 없는 엔터티도 있을 수도 있긴 하다.
분류
이게 실무에서 그렇게 중요하진 않은 것 같은데.. 그래도 대충은 알아두자.
유무형에 따른 분류
- 유형
- 실체와 물리적인 형태가 존재하며, 안정적이고 지속적 활용 가능
- 사원, 물품, 강사
- 개념
- 물리적 형태가 있진 않지만, 비즈니스적으로 관리할 개념
- 조직, 보험상품
- 사건
- 비즈니스를 수행하며 발생하는 엔터티
- 발생량이 많고, 통계에 주로 활용됨
- 주문, 청구, 미납
발생 시점에 따른 분류
- 기본
- 비즈니스에서 기본으로 존재하는 엔터티.
- 독립적으로 생성됨
- 사원, 상품, 자재
- 중심
- 기본 엔터티로부터 발생되며 비즈니스에 중심 역할
- 양이 많고, 관계속에서 많은 행위 엔터티 도출
- 계약, 사고, 주문, 청구, 매출
- 행위
- 2개 이상의 부모 엔터티로부터 발생되는 엔터티
- 흔히 N:M에서 도출되는 엔터티
- 상세 설계에서 도출됨
- 주문 목록, 사원변경이력