[1] 엔터티의 개념
- 변별할 수 있는 사물
- 데이터베이스 내에서 변별 가능한 객체
- 정보를 저장할 수 있는 어떤 것
- 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등
(1) 엔터티 정의의 공통점
- 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
- 업무상 관리가 필요한 관심사에 해당
- 저장이 되기 위한 어떤 것(Thing)
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
[2] 엔터티와 인스턴스에 대한 내용과 표기법
3.⭐️ 엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
- 시스템 구축 대상인 해당 업무에서 그 엔터티를 필요로 하는가를 판단하는 것이 중요
- 유일한 식별자에 의해 식별이 가능
- 엔터티를 도출하는 경우에 각각의 업무적으로 의미를 가지는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증해 보아야 함
- 영속적으로 존재하는 인스턴스의 집합('두 개 이상')
- 인스턴스가 한 개 밖에 없는 엔터티는 집합이 아니므로 엔터티 성립이 안 됨
- 업무 프로세스에 의해 이용되어야 함
- 고립된 엔터티의 경우는 엔터티를 제거하거나 아니면 누락된 프로세스가 존재하는지 살펴보고 해당 프로세스를 추가해야 함
- 반드시 속성이 있어야 함
- 주식별자만 존재하고 일반 속성은 전혀 없는 경우도 적절한 엔터티라고 할 수 없음
- 단, 예외적으로 관계 엔터티의 경우는 (?) 주식별자 속성만 가지고 있어도 엔터티로 인정
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
- 엔터티가 도출되었다는 것은 해당 업무 내에서 업무적인 연관성을 가지고 다른 엔터티와의 연관성이 있음을 나타낸냄
- 관계가 설정되지 않은 엔터티는 부적절한 엔터티가 도출되었거나 아니면 다른 엔터티와 적절한 관계를 찾지 못했을 가능성이 큼
✅ 관계를 생략하여 표현하는 경우
- 통계성 엔터티
- 코드성 엔터티
- 시스템 처리시 내부 필요에 의한 엔터티 (예: 트랜잭션 로그 테이블)
4. 엔터티 분류
(1) 유무형에 따른 분류
유형 엔터티 :물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티
개념 엔터티 : 물리적 형태 없고 관리해야 할 개념적 정보로 구분되는 엔터티
사건 엔터티 :: 업무 수행에 따라 발생되는 엔터티로 비교적 발생량이 많으며 각종 통계에 이용됨
(2) ⭐️ 발생시점에 따른 분류
기본/키 엔터티
- "관계"에 의해 생성되지 않고 "독립적으로 생성"이 가능
- 자신의 고유한 "주식별자"를 가짐
- (사원 , 고객 , 부서 , 상품)
중심 엔터티
- "기본 엔터티"로부터 발생
- 업무에서 중심적인 역할
- 데이터의 양이 많음
- 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성
- ( 계약 , 주문 , 매출 , 청구 )
행위 엔터티
- "두 개" 이상의 부모 엔터티로부터 발생
- 자주 내용이 바뀌거나 데이터량이 "증가"
- 상세 설계 단계나 프로세스와 상관모델링을 "진행하면서" 도출됨
- (주문목록 , 사원 변경 이력)
(3) 엔터티 분류 방법의 예
이 밖에도 엔터티가 스스로 생성될 수 있는지 여부에 따라 독립 엔터티 vs. 의존 엔터티로 구분할 수 있다.
5.⭐️ 엔터티의 명명
- 가능하면 현업에서 사용하는 용어를 사용
- 가능하면 약어를 사용하지 않음
- 단수명사를 사용
- 모든 엔터티에서 유일하게 이름이 부여되어야 함
- 엔터티 생성 의미대로 이름을 부여