엔터티(Entity) 의 개념
- 현실 세계에서 독립적으로 식별 가능한 객체나 사물을 나타냄
- 엔터티는 업무상 분석해야 하는 대상(Instance)들로 이루어진 집합
- 인스턴스는 엔터티의 특정한 속성 값들로 구성되며, 엔터티의 개념을 현실에서 구체적으로 나타낸 것
- 엔터티(Entity) : 학생
- 속성(Attribute) : 학번, 이름, 학과 등.
- 식별자(Identifier) : 학번(고유한 학번으로 각 학생을 식별)
- 인스턴스 : 특정 학생의 데이터
- 학번 : 2021001
- 이름 : 홍길동
- 학과 : 컴퓨터 공학
엔터티(Entity)의 특징
1. 유일한 식별자에 의해 식별 가능
- 인스턴스가 식별자에 의해 한개씩만 존재하는 지 검증 필요
- 유일한 식별자는 그 엔터티의 인스턴스만의 고유 이름
ex) 이름은 동명이인이 있을 수 있으므로 사번, 학번 등이 고유 식별자
2. 해당 업무에 필요하고 관리하고자 하는 정보
- 설계하는 업무의 시스템 구축에 필요한 정보여야 함
ex) 학교 시스템 구축 시 학생정보 필요. 다른 업무엔 학생 정보 불필요.
3. 인스턴스들의 집합
- 영속적으로 존재하는 2개 이상의 인스턴스 집합
- 인스턴스가 한 개밖에 없는 엔터티는 집합이 아니므로 성립이 안됨.
4. 엔터티는 반드시 속성을 가짐
- 각 엔터티는 2개 이상의 속성을 가짐
- 하나의 인스턴스는 각각의 속성들에 대한 1개의 속성 값만을 가짐
ex) 학생 엔터티에서 한 학생의 데이터(인스턴스)의 이름(속성) 정보에는 반드시 하나의 값만 저장됨
5. 엔터티는 업무 프로세스에 의해 사용
- 업무적으로 필요해 선정했지만 실제 사용되지 않으면 잘못 설계된 것
- 모델링 시 발견하기 어려운 경우 데이터 모델 검증이나 상관 모델링 시 단위 프로세스 교차점검으로 문제 도출
- 누락된 프로세스의 경우 추후 해당 프로세스 추가
- 반대로 사용하지 않는 고립 엔터티는 제거 필요
6. 다른 엔터티와 최소 1개 이상의 관계 성립
- 엔터티는 업무적 연관성을 갖고 다른 엔터티와 연관의 의미를 가짐
- 관계가 없는 엔터티 도출은 부적절한 엔터티이거나 적절한 관계를 찾지 못한 것
엔터티의 분류
1) 유형과 무형에 따른 분류
1. 유형엔터티
- 물리적 형태가 있음(실체가 있는 대상)
- 안정적이며 지속적으로 활용되는 엔터티
- 업무로부터 구분하기가 가장 용이한 엔터티
ex) 사원, 물품, 감사 등
2. 개념엔터티
- 물리적인 형태 없음
- 관리해야 할 개념적 정보로부터 구분되는 엔터티
ex) 조직, 보험상품 등
3. 사건엔터티
- 업무를 수행에 따라 발생하는 엔터티
- 발생량이 많고 각종 통계자료에 이용
ex) 주문, 청구, 미납 등
2) 발생 시점에 따른 분류
1. 기본엔터티
- 그 업무에 원래 존재하는 정보
- 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성
- 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주 식별자를 가짐
ex) 사원, 부서, 고객, 상품 등
2. 중심 엔터티
- 기본엔터티로부터 파생되고 그 업무에서 중심적인 역할
- 많은 데이터가 발생되고 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성
ex) 계약, 사고, 청구, 주문, 매출 등
3. 행위엔터티
- 2개이상의 부모 엔터티로부터 발생
- 자주 내용이 바뀌거나 데이터 양이 증가
- 분석 초기 단계보다는 상세 설계 단계나 프로세스와 상관모델링을 진행하면서 도출
ex) 주문(고객과 상품 엔터티로부터 발생하므로 행위엔터티이기도 함), 사원변경이력, 이력 등
엔터티의 명명
1. 현업에서 사용하는 용어 사용
2. 가능하면 약자 사용은 자제
3. 단수 명사 사용
4. 모든 엔터티에서 유일하게 이름 부여
5. 엔터티 생성 의미대로 이름 부여
엔터티와 인스턴스 표기법
- 엔터티는 사각형으로 표현, 속성은 조금씩 다름
- 속성은 IE표기법과, Barker 표기법으로 나뉨