[Part 1] 2. 엔터티(Entity)

yuzu sim's avatar
Aug 08, 2024
[Part 1] 2. 엔터티(Entity)

1. 엔터티(Entity)

  • 현실에서 독립적으로 식별 가능한 객체나 사물을 나타냄
  • 비슷한 성격의 인스턴스들의 집합으로 구성되며, 각 인스턴스는 엔터티의 속성 값으로 구체화된다.
  • 인스턴스는 엔터티의 특정한 속성 값들로 구성되며, 엔터티의 개념을 현실에서 구체적으로 나타낸 것
예) 엔터티와 속성, 인스턴스 등의 관계 1. 엔터티(Entity): 상품 2. 속성(Attribute): 상품코드, 상품명, 카테고리 3. 식별자(Identifier): 상품코드 (고유한 상품코드로 각 상품을 식별) 4. 인스턴스: 특정 상품의 데이터 -상품코드 : 100001 -상품명 : 새우깡 -카테고리 : 과자
💡
TIP 얘네들은 뭘 의미하는 건가?
  • 엔터티(Entity)는 테이블(Table)에 해당
  • 인스턴스(Instance)는 테이블의 행(Row), 즉 한 개의 데이터 레코드를 의미
  • 속성(Attribute)은 테이블의 열(Column)로, 엔터티의 특성들을 나타낸다.

2. 엔터티(Entity) 특징

2-1. 유일한 식별자에 의해 식별 가능

  • 각 엔터티는 사번이나 학번 같은 고유한 식별자를 가지고, 이를 통해 인스턴스를 구별할 수 있어야 함.
  • 인스턴스가 식별자에 의해 한 개씩만 존재하는 지 검증 필요
  • 유일한 식별자는 그 엔터티의 인스턴스만의 고유 이름 ex) 이름은 동명이인이 있을 수 있으므로 사번, 학번 등이 고유식별자

2-2. 해당 업무에 필요한 정보

  • 해당 시스템이나 업무에 꼭 필요한 정보를 포함해야 함. ex) 학교 시스템 구축 시 학생정보 필수. 다른 업무엔 학생 정보 불필요.

2-3. 인스턴스들의 집합

  • 영속적으로 존재하는 2 개 이상의 인스턴스의 집합
  • 엔터티는 여러 인스턴스로 이루어져 있어야 하며, 단 하나의 인스턴스로는 엔터티가 성립되지 않음.

2-4. 엔터티는 반드시 속성을 가짐

  • 각 엔터티는 최소 2 개 이상의 속성을 가짐
  • 각 인스턴스는 속성값을 하나씩 가짐
    • ex) 학생 엔터티에는 이름, 학번 같은 속성이 있음.
      한 학생의 데이터(인스턴스)의 이름(속성) 정보에는 반드시 한 값만 저장됨

2-5. 엔터티는 업무 프로세스에 의해 이용

  • 엔터티는 실제 업무 과정에서 활용되어야 하고, 사용되지 않으면 불필요한 엔터티로 간주됨.
  • 누락된 프로세스의 경우 추후 해당 프로세스 추가
  • 반대로 사용되지 않는 고립 엔터티는 제거 필요
  • 모델링 시 발견하기 어려운 경우 데이터 모델 검증이나 상관 모델링 시 단위 프로세스 교차점검으로 문제도출

2-6. 다른 엔터티와 최소 1 개 이상의 관계 성립

  • 엔터티는 다른 엔터티와 최소 하나 이상의 관계를 가져야 하며, 관계가 없는 엔터티는 잘못 설계된 것일 수 있음.
 

3. 엔터티(Entity)의 분류

3-1. 유형과 무형에 따른 분류

  1. 유형엔터티
      • 물리적 형태가 있는 실체로, 안정적이며 지속적으로 활용됨.
      • 예시: 사원, 물품, 감사 등.
  1. 개념엔터티
      • 물리적 형태가 없는 개념적 정보로, 관리의 필요성이 있는 경우 사용됨.
      • 예시: 조직, 보험상품 등.
  1. 사건엔터티
      • 업무 수행 중 발생하는 엔터티로, 통계 자료 등에 활용됨.
      • 예시: 주문, 청구, 미납 등.

3-2. 발생 시점에 따른 분류

  1. 기본엔터티
      • 업무에 원래 존재하며, 독립적으로 생성되는 엔터티로, 다른 엔터티로부터 주식별자를 상속받지 않음.
      • 예시: 사원, 부서, 고객, 상품 등.
  1. 중심엔터티
      • 기본엔터티로부터 발생하며, 업무에서 중심적인 역할을 함. 많은 데이터와 관계를 통해 다양한 행위 엔터티를 생성함.
      • 예시: 계약, 사고, 청구, 주문, 매출 등.
  1. 행위엔터티
      • 2개 이상의 부모 엔터티로부터 발생하며, 내용이 자주 변경되거나 데이터 양이 많아짐. 주로 상세 설계 단계에서 도출됨.
      • 예시: 주문 (고객과 상품 엔터티로부터 발생), 사원 변경 이력 등.

3-3. 엔터티의 명명

  • 현업 용어 사용: 실제 사용하는 용어를 사용하여 명확성을 높임.
  • 약자 자제: 약자를 사용하지 않고 이해하기 쉬운 이름을 부여함.
  • 단수 명사 사용: 엔터티 이름은 단수 명사를 사용함.
  • 유일한 이름 부여: 모든 엔터티에서 유일한 이름을 부여함.
  • 생성 의미 반영: 엔터티가 생성된 의미를 반영하여 이름을 부여함.

4. 엔터티와 인스턴스 표기법

  • 엔터티는 주로 사각형으로 표현되며, 속성은 조금씩 다름
notion image
 
Share article

Coding_study