[SQLD]1장 데이터 모델링의 이해-2. 엔터티

Yu River·2022년 7월 1일
0

SQL전문가가이드

목록 보기
2/34

[1] 엔터티의 개념

  • 변별할 수 있는 사물
  • 데이터베이스 내에서 변별 가능한 객체
  • 정보를 저장할 수 있는 어떤 것
  • 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등

(1) 엔터티 정의의 공통점

  • 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
  • 업무상 관리가 필요한 관심사에 해당
  • 저장이 되기 위한 어떤 것(Thing)
  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것

[2] 엔터티와 인스턴스에 대한 내용과 표기법

  • 대부분 사각형으로 표현

3.⭐️ 엔터티의 특징

  • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
    • 시스템 구축 대상인 해당 업무에서 그 엔터티를 필요로 하는가를 판단하는 것이 중요
  • 유일한 식별자에 의해 식별이 가능
    • 엔터티를 도출하는 경우에 각각의 업무적으로 의미를 가지는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증해 보아야 함
  • 영속적으로 존재하는 인스턴스의 집합('두 개 이상')
    • 인스턴스가 한 개 밖에 없는 엔터티는 집합이 아니므로 엔터티 성립이 안 됨
  • 업무 프로세스에 의해 이용되어야 함
    • 고립된 엔터티의 경우는 엔터티를 제거하거나 아니면 누락된 프로세스가 존재하는지 살펴보고 해당 프로세스를 추가해야 함
  • 반드시 속성이 있어야 함
    • 주식별자만 존재하고 일반 속성은 전혀 없는 경우도 적절한 엔터티라고 할 수 없음
    • 단, 예외적으로 관계 엔터티의 경우는 (?) 주식별자 속성만 가지고 있어도 엔터티로 인정
  • 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
    • 엔터티가 도출되었다는 것은 해당 업무 내에서 업무적인 연관성을 가지고 다른 엔터티와의 연관성이 있음을 나타낸냄
    • 관계가 설정되지 않은 엔터티는 부적절한 엔터티가 도출되었거나 아니면 다른 엔터티와 적절한 관계를 찾지 못했을 가능성이 큼

      ✅ 관계를 생략하여 표현하는 경우

      • 통계성 엔터티
      • 코드성 엔터티
      • 시스템 처리시 내부 필요에 의한 엔터티 (예: 트랜잭션 로그 테이블)

4. 엔터티 분류

(1) 유무형에 따른 분류

  • 유형 엔터티 :물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티

    • (사원, 물품 등)
  • 개념 엔터티 : 물리적 형태 없고 관리해야 할 개념적 정보로 구분되는 엔터티

    • (조직 , 보험상품)
  • 사건 엔터티 :: 업무 수행에 따라 발생되는 엔터티로 비교적 발생량이 많으며 각종 통계에 이용됨

    • (주문 , 청구 , 미납)

(2) ⭐️ 발생시점에 따른 분류

  • 기본/키 엔터티

    • "관계"에 의해 생성되지 않고 "독립적으로 생성"이 가능
    • 자신의 고유한 "주식별자"를 가짐
    • (사원 , 고객 , 부서 , 상품)
  • 중심 엔터티

    • "기본 엔터티"로부터 발생
    • 업무에서 중심적인 역할
    • 데이터의 양이 많음
    • 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성
    • ( 계약 , 주문 , 매출 , 청구 )
  • 행위 엔터티

    • "두 개" 이상의 부모 엔터티로부터 발생
    • 자주 내용이 바뀌거나 데이터량이 "증가"
    • 상세 설계 단계나 프로세스와 상관모델링을 "진행하면서" 도출됨
    • (주문목록 , 사원 변경 이력)

(3) 엔터티 분류 방법의 예

이 밖에도 엔터티가 스스로 생성될 수 있는지 여부에 따라 독립 엔터티 vs. 의존 엔터티로 구분할 수 있다.

5.⭐️ 엔터티의 명명

  • 가능하면 현업에서 사용하는 용어를 사용
  • 가능하면 약어를 사용하지 않음
  • 단수명사를 사용
  • 모든 엔터티에서 유일하게 이름이 부여되어야 함
  • 엔터티 생성 의미대로 이름을 부여
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글