본문 바로가기
study_db

데이터모델링의 3가지 요소 : 엔터티(Entity)에 대한 이해

by developer_j 2021. 2. 7.
728x90
반응형

책에는 엔터티라고 나와있는데, 나는 이때까지 엔티티라고 불러와서 그런가 엔티티가 더 편하다...


1. 엔터티와 인스턴스

엔터티는 ERD에서 사각형으로 표현되는, 업무프로세스에 사용되는 "어떤 것"이다. 어떤 것이라고 부르는 만큼 엔터티는 학교나 학생처럼 현실 세계에서 눈에 보이는 개념일 수도 있고, 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있다.

엔터티가 인스턴스의 집합이라면, 반대로 인스턴스는 엔터티 안의 하나의 값에 해당한다. 엔터티가 테이블이라면, 인스턴스는 테이블 안 하나의 행(row)을 의미한다고 볼 수 있다.

 

2. 적절한 엔터티의 특징

  • 시스템을 구축하려는 회사 업무 프로세스에 필요한 정보로 구성되어야 한다.
  • 유일한 식별자에 의한 식별이 가능해야 한다. (예 - 사원번호 O, 사원이름 X : 이름이 식별자일 때 동명이인일 경우 식별이 불가능)
  • 두 개 이상의 인스턴스 집합이어야 한다.
  • 엔터티는 업무 프로세스에 이용되어야 한다.
  • 반드시 속성이 있어야 한다(관계엔터티 제외). 관계엔터티라 함은, "주문하다", "결제하다", "저장하다", "등록하다" 등의 관계를 엔터티화 한 것을 의미한다.
  • 다른 엔터티와의 최소 한 개 이상의 관계가 있어야 한다.

이와 같은 특징들을 만족하지 못한다면 부적절한 엔터티일 수 있으며, 엔터티 도출 프로세스의 재검토를 고려해야한다.

 

2-1. 관계를 생략해야 하는 경우(중요)

관계 엔터티가 아니라, 그냥 엔터티인데 관계를 생략해야 되는 경우가 있다. (그런 경우가 있는지 나는 몰랐다^^)

통계성 엔터티, 코드성 엔터티, 데이터 처리시 내부적으로 필요에 의한 엔터티가 그것이다.

통계업무를 위한 데이터를 포함하고 있는 통계성 엔터티, 코드의 효율성을 높이는 코드성 엔터티, 내부 시스템 상 처리에 필요한 데이터로 구성된 엔터티를 의미한다.

이런 엔터티들은 개념적으로는 알 것 같은데, 실무적으로는 어떤 테이블을 의미하는지 사실 감이 잘 안온다. 구글링 해도 비슷비슷한 설명에 그친다. 나중에 더 정확하게 알게 되면 이 글에 세부설명으로 덧붙여야 겠다.

 

 

일부 출처 : SQL 전문가 가이드(한국데이터베이스진흥원, 2013 Edition)

 

728x90
반응형