SQL

SQLD - 데이터 모델링의 이해 (엔터티)

taey 2024. 11. 15. 16:57

엔터티

엔터티(Entity)의 개념

  • 현실 세계에서 독립적으로 식별 가능한 객체나 사물을 나타냄
  • 엔터티는 업무상 분석해야 하는 대상(Instatnce)들로 이루어진 집합
  • 인스턴스는 엔터티의 특정한 속성 값들로 구성되며, 엔터티의 개념을 현실에서 구체적으로 나타낸 것
    예) 엔터티와 속성, 인스턴스 등의 관계

엔터티의(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. 엔터티 생성 의미대로 이름 부여

 

엔터티와 인스턴스 표기법

  • 엔터티는 사각형으로 표현, 속성은 DBMS마다 조금씩 다름
  • IE 표기법 : PK 값을 최상단에 이름만 작성
  • Baker 표기법 : PK는 이름 앞에 #, 그냥 속성은 이름 앞에 ○