본문 바로가기
DataBase

[SQLD] 1. 엔터티에 대해서

by bkuk 2022. 10. 14.

1. 엔터티의 개념

엔터티에 대해서 에티어 모델과 데이터베이스의 권위자가 정의한 사항 중 공통점은 아래와 같다.

  • 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당된다.
  • 엔터티는 업무상 관리가 필요한 관심사에 해당한다.
  • 엔터티는 저장이 되기 위한 어떤 것(Thing)이다.

엔터티란 "업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)"으로 설명할 수 있다.

 

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

위 사진과 같이 과목, 강사, 사건은 엔터티에 해당하고 수학, 영어는 과목이라는 엔터티의 인스턴스이고 이춘식, 조시형은 강사라는 엔터티의 인스턴이며 사건번호인 2010-001, 2010-002는 사건 엔터티에 대한 인스턴스에 해당된다.

3. 엔터티의 특징

  1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.(ex. 환자, 토익의 응시횟수 ...)
  2. 유일한 식별자에 의해 식별이 가능해야 한다.
  3. 영속적으로 존재하는 인스턴스의 집합이어야 한다.( '한 개'가 아니라 '두 개 이상')
  4. 엔터티는 업무 프로세스에 의해 이용되어야 한다.
  5. 엔터티는 반드시 속성이 있어야 한다.
  6. 엔터티는 다른 엔터티와 최소 한개 이상의 관계가 있어야 한다.

 

가. 업무에서 필요로 하는 정보

반드시 시스템을 구축하고자 하는 업무에서 필요로 하고 관리하고자 하는 정보여야 한다는 점

 

나. 식별이 가능해야 함

유일한 식별자는 그 엔터티의 인스턴스만의 고유한 이름이다. 두 개 이상의 엔터티를 대변하면 그 식별자는 잘못 설계된 것이다.

 

다. 인스턴스의 집합

엔터티의 특징 중 "한 개"가 아니라 "두 개 이상"이라는 집합개념은 매우 중요한 개념이다. 따라서 영속적으로 존재하는 인스턴스의 집합이 되어야 한다는 점이다.

 

라. 업무프로세스에 의해 이용

업무에서 반드시 필요하다고 생각하여 엔터티로 선정하였는데 업무 프로세스에 의해 전혀 이용되지 않는다면 업무 분석이 정확하게 되지 않아서 엔터티가 잘못 선정되었거나 업무 프로세스 도출이 적절하게 이루어지지 않았음을 의미한다.

 

마. 속성을 포함

속성을 포함하지 않고 엔터티의 이름만 가지고 있는 경우는 관계가 생략되어 있거나 업무 분석이 미진하여 속성정보가 누락되는 경우에 해당된다. 단, 예외적으로 관계엔터티(Associative Entity)의 경우는 주식별자 속성만 가지고 있어도 엔터티로 인정한다.

 

바. 관계의 존재

기본적으로 엔터티가 도출되었다는 것은 해당 업무내에서 업무적인 연관성(존재적 연관성, 행위적 연관성)을 가지고 다른 엔터티와의 연관의 의미를 가지고 있음을 나타낸다. 그러나 관계가 설정되지 않은 엔터티의 도출은 부적절한 엔터티가 도출되었거나 아니면 다른 엔터티와 적절한 관계를 찾지 못했을 가능성이 크다.

 

4. 엔터티의 분류

  • 유무형에 따른 분류: 유형 엔터티. 개념 엔터티, 사건 엔터티로 구분됩니다.
    • 유형 엔터티: 물리적인 형태가 있고, 안정적이며 지속적으로 활용되는 엔터티로 업무로부터 엔터티를 구분하기 가장 용이함. (ex. 사원, 물품, 강사 등..)
    • 개념 엔터티: 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분됨. (ex. 조직, 보험상품)
    • 사건 엔터티 : 업무를 수행함에 따라 발생되는 엔터티로서 비교적 발생량이 많고 통계자료에 이용될 수 있음. (ex. 주문, 청구, 미납 등..)
  • 발생시점에 따른 분류
    • 기본 엔터티: 원래 존재하는 정보로서 다른 엔터티와 관계에 의해 생성되지 않고, 독립적인 생성이 가능하고 자신은 타 엔터티의 부모의 역할을 함. (ex. 사원, 부서, 고객, 상품 등. ..)
    • 중심 엔터티: 기본 엔티터로부터 발생되며, 중심적인 역할을 하게됨으로, 데이터의 양이 많이 발생됨. (ex. 계약, 사고, 주문, 청구)
    • 행위 엔터티: 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가한다. (ex. 주문목록, 사원변경이력 등 ...)

 

  • 엔터티 분류 방법의 예

5. 엔터티의 명명

  1. 현업업무에서 사용하는 용어를 사용한다.
  2. 약어를 사용하지 않는다.
  3. 단수명사를 사용한다.
  4. 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
  5. 엔터티 생성의미대로 이름을 부여한다.