엔터티 (Entity)

1 minute read

엔터티

  • 사람, 장소, 물건, 사건 개념 등의 명사
  • 업무상 관리가 필요한 관심사
  • 저장이 되기 위한 어떤 것 (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)
    • 두 개 이상의 부모 엔터티로부터 발생
    • 자주 내용이 바뀌거나 데이터양이 증가
    • 예) 주문목록, 사원변경이력

엔터티의 명명

  1. 가능하면 현업 업무에서 사용하는 용어를 사용한다.
  2. 가능하면 약어를 사용하지 않는다.
  3. 단수 명사를 사용한다.
  4. 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
  5. 엔터티 생성 의미대로 이름을 부여한다.
    • 특히, 행위엔터티에서 잘 안 지켜진다. 예를 들어, 고객이 어떤 제품들을 주문함으로써 발생하는 행위엔터티를 주문목록이라고 할 수 있고 고객제품이라고 할 수 있다. 고객제품은 ‘고객이 주문한 제품’인지 아니면 ‘고객의 제품’인지 의미가 애매모호하다.
    • 업무 목적에 따라 생성되는 자연스러운 이름을 부여해야 한다.

Reference

  1. “SQL 전문가 가이드” by 한국데이터산업진흥원 p.37-44

Leave a comment