• [SQLD] 엔티티(Entity)

    2025. 2. 7.

    by. hyunji1109

    개념

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

    예) 학교 시스템

    • 엔티티 : 학생
    • 속성 : 학번, 이름, 학과 등
    • 식별자 : 학번 (고유한 학번으로 각 학생을 식별)
    • 인스턴스 : 특정 학생의 데이터
      • 학번 : 20210001
      • 이름 : 홍길동
      • 학과 : 컴퓨터 공학

     

    특징

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

    • 인스턴스가 식별자에 의해 한 개씩만 존재하는 지 검증 필요
    • 유일한 식별자는 그 엔티티의 인스턴스만의 고유 이름
      • 이름은 동명이이인이 있을 수 있으므로 학번 등이 고유식별자

     

    2. 해당 업무에 필요하고 관리하고자 하는 정보

    • 설계하는 업무의 시스템 구축에 필요한 정보여야 함

     

    3. 인스턴스들의 집합

    • 영속적으로 존재하는 2개 이상의 인스턴스의 집합
    • 하나의 인스턴스는 각각의 속성들에 대한 1개의 속성 값만을 가짐

     

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

    • 각 엔티티는 2개 이상의 속성을 가짐
    • 하나의 인스턴스는 각각의 속성들에 대한 1개의 속성 값만들 가짐
    • 학생 엔티티에서 한 학생의 데이터(인스턴스)의 이름(속성) 정보에는 한개의 값만 저장

     

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

    • 업무적으로 필요해 선정했지만 실제 사용되지 않으면 잘못 설계된 것
    • 모델링 시 발견하기 어려운 경우 데이터 모델 검증이나 상관 모델링 시 단위 프로세스 교차점검으로 문제 도출
    • 누락된 프로세스의 경우 추후 해당 프로세스 추가
    • 반대로 사용되지 않는 고립 엔티티는 제거 필요

     

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

    • 엔티티는 업무적 연관성을 갖고 다른 엔티티와 연관의 의미를 가짐
    • 반대로 사용되지 않는 고립 엔티티는 제거 필요

     

     

    분류

    1) 유형과 무형에 따른 분류

    • 유형엔티티
      • 물리적 형태가 있음
      • 실체가 있는 대상
      • 안정적이며 지속적으로 활용되는 엔티티
      • 업무로부터 구분하기가 가장 용이한 엔티티
      • 사원, 물품 등
    • 개념엔티티
      • 물리적 형태 없음
      • 관리해야 할 개념적 정보로부터 구분되는 엔티티
      • 조직, 보험상품 등
    • 사건엔티티
      • 업무를 수행에 따라 발생하는 엔티티
      • 발생량이 많고 각종 통계자료에 이용
      • 주문, 청구, 미납 등

     

    2) 발생 시점에 따른 분류

    • 기본엔티티
      • 그 업무에 원래 존재하는 정보
      • 다른 엔티티와 관계에 의해 생성되지 않고 독립적으로 생성
      • 타 엔티티의 부모 연할을 하는 엔티티
      • 다른 엔티티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가짐
      • 사원, 부서, 고객, 상품 등
    • 중심엔티티
      • 기본엔티티로부터 발생되고 그 업무에서 중심적인 역할
      • 많은 데이터가 발생되고 다른 엔티티와의 관계를 통해 많은 행위 엔티티를 생성
      • 계약, 사고, 청구, 주문, 매출 등
    • 행위엔티티
      • 2개 이상의 부모엔티티로부터 발생
      • 자주 내용이 바뀌거나 데이터 양이 증가
      • 분석 초기 단계보다는 상세 설계 단계나 프로세스와 상관모델링을 진행하면서 도출
      • 주문(고객과 상품 엔티티로 부터 발생하므로 행위 엔티티이기도 함), 사원변경이력, 이력 등

     

     

     

    명명

    • 현업에서 사용하는 용어 사용
    • 가능하면 약자 사용 자제
    • 단수 명사 사용
    • 유일하게 이름 부여
    • 엔티티 생성 의미대로 이름 부여

     

    엔티티와 인스턴스 표기법

    • 엔티티는 보통 사각형으로 표현, 속성 표현 방법은 조금씩 다름

     

     

    위의 엔티티와 인스턴스를 표현

    'CS > SQL' 카테고리의 다른 글

    [SQLD] 관계(Relationship)  (0) 2025.02.10
    [SQLD] 속성(Attribute)  (0) 2025.02.08
    [SQLD] 데이터 모델의 이해  (0) 2025.02.05
    SQL JOIN  (0) 2025.01.25
    SQL, NoSQL  (0) 2025.01.09

    댓글