엔터티 (Entity)
엔터티
- 사람, 장소, 물건, 사건 개념 등의 명사
- 업무상 관리가 필요한 관심사
- 저장이 되기 위한 어떤 것 (Thing)
- 인스턴스의 집합
엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이다.
-
업무 프로세스(Business Process)에 의해 이용된다.
- 유일한 식별자(Unique Identifier)에 의해 식별이 가능하다.
- 영속적으로 존재하는 두 개 이상의 인스턴스의 집합이다.
- 반드시 속성(Attributes)이 있다.
- 주식별자만 가지고 일반속성은 없는 경우도 적절한 엔터티가 아니다.
- 예외: 관계 엔터티(Associative Entity)는 주식별자 속성만 가지고 있어도 엔터티로 인정한다.
- 다른 엔터티와 최소 한 개 이상의 관계가 있다.
- 엔터티가 도출되었다는 것은 업무적인 연관성을 가지고 있다는 뜻이다.
- 예외: 관계를 생략해 표현해야 하는 경우는 제외한다.
- 통계성 엔터티: 통계 업무만(Read only)을 위해 다시 정의된 엔터티
- 코드성 엔터티: 데이터 모델의 읽기 효율성(Readability)을 위해 생성된 엔터티
- 시스템 처리 시 내부 필요해 의한 엔터티: 트랜잭션 로그 테이블 등
엔터티의 분류
유무형에 따른 분류
- 유형엔터티(Tangible Entity)
- 물리적인 형태가 있고, 안정적이고 지속해서 활용되는 엔터티
- 예) 사원, 물품, 강상
- 개념엔터티(Conceptual Entity)
- 물리적인 형태는 존재하지 않고, 관리해야 할 개념적 정보로 구분되는 엔터티
- 예) 조직, 보험상품
- 사건엔터티(Event Entity)
- 업무를 수행함에 따라 발생하는 엔터티. 발생량이 많고, 각종 통계자료에 이용 됨
- 예) 주문, 청구, 미납
발생 시점에 따른 분류
- 기본·키 엔터티(Fundamental Entity, Key Entity)
- 업무에 원래 존재하는 정보
- 다른 엔터티와의 관계로 생성되지 않고, 독립적으로 생성 가능
- 타 엔터티의 부모 역할
- 예) 사원, 부서, 고객, 상품, 자재
- 중심엔터티(Main Entity)
- 기본엔터티로부터 발생하고 그 업무에서 중심적인 역할
- 데이터의 양이 많이 발생하고, 다른 엔터티와의 관계를 통해 많은 행위엔터티를 생성
- 예) 계약, 사고, 예금원장, 청구, 주문, 매출
- 행위엔터티(Active Entity)
- 두 개 이상의 부모 엔터티로부터 발생
- 자주 내용이 바뀌거나 데이터양이 증가
- 예) 주문목록, 사원변경이력
엔터티의 명명
- 가능하면 현업 업무에서 사용하는 용어를 사용한다.
- 가능하면 약어를 사용하지 않는다.
- 단수 명사를 사용한다.
- 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
- 엔터티 생성 의미대로 이름을 부여한다.
- 특히, 행위엔터티에서 잘 안 지켜진다. 예를 들어, 고객이 어떤 제품들을 주문함으로써 발생하는 행위엔터티를 주문목록이라고 할 수 있고 고객제품이라고 할 수 있다. 고객제품은 ‘고객이 주문한 제품’인지 아니면 ‘고객의 제품’인지 의미가 애매모호하다.
- 업무 목적에 따라 생성되는 자연스러운 이름을 부여해야 한다.
Reference
- “SQL 전문가 가이드” by 한국데이터산업진흥원 p.37-44
Leave a comment