본문 바로가기
IT/SQLD

[SQLD] 과목1_1장_2.엔터티

by 윤싱찬 2018. 8. 16.

1. 엔터티 개념

가) 엔터티 개념

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

나) 엔터티 설명

  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)
  • 엔터티는 그 집합에 속하는 개체들의 특징을 설명할 수 있는 속성(Attribute)을 가짐
  • 엔터티는 인스턴스의 집합이라고 볼 수 있으며, 인스턴스는 값의 종류로 볼 수 있음(과목 속성에는 국어, 영어, 수학같은 인스턴스가 있음)
    • 물리 데이터 모델에서 엔터티는 테이블로 정의되며, 인스턴스는 테이블의 로우(Rows)로 저장됨

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

3. 엔터티 특징

  • 엔터티는 아래와 같은 특징을 가지며, 조건을 만족하지 못 할 경우 적절하지 못한 엔터티일 확률이 높음
    • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보(예. 환자, 토익의 응시횟수, ...)
    • 유일한 식별자에 의해 식별이 가능해야 함.
    • 영속적으로 존재하는 인스턴스의 집합('한 개'가 아니라 '두 개 이상')
    • 엔터티는 업무 프로세스에 의해 이용되야 함.
    • 엔터티는 반드시 속성이 있어야 함.
    • 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함.

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

  • 엔터티는 반드시 시스템을 구축하고자 하는 업무에서 필요로 하고 관리하고자 하는 정보여야 함.

나) 식별이 가능해야 함

  • 엔터티는 식별자에 의해 식별이 가능해야 함.
  • 엔터티 도출 시 업무적으로 의미를 가지는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증 필요.
  • 두 개 이상의 엔터티를 대변하면 그 식별자는 잘 못 설계된 것.

다) 인스턴스의 집합

  • 엔터티는 영속적으로 존재하는 인스턴스의 집합이 되어야 함.

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

  • 업무 프로세스에서 그 엔터티를 반드시 이용해야 함.
  • 업무 프로세스에 의해 'C/R/U/D'가 발생하지 않는 엔터티는, 제거하거나 누락된 엔터티가 존재하는지 검증 필요

마) 속성을 포함

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

바) 관계의 존재

  • 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 존재해야 함.
  • 단 아래의 경우는 예외
    • 통계를 위한 엔터티의 경우, 업무진행 엔터티로부터 통계업무만(Read Only)을 위해 별도로 엔터티를 다시 정의하게 되므로 엔터티간의 관계가 생략되는 경우
    • 코드를 위한 엔터티의 경우 너무 많은 엔터티와 엔터티간의 관계 설정으로 인해 데이터 모델의 읽기효율성(Readability)이 저하되어 관계를 생략하는 경우
    • 시스템 처리시 내부 필요에 의한 엔터티(예를 들어, 트랜잭션 로그 테이블 등)의 경우, 시스템 내부에 필요한 정보이므로 생략하는 경우

4. 엔터티 분류

가) 유무(有無)형에 따른 분류

유형 엔터티(Tangible Entity)물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티(사원, 물품, 강사 등)
개념 엔터티(Conceptual Entity)물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보(조직, 보험상품 등)
사건 엔터티(Event Entity)업무를 수행함에 따라 발생되는 엔터티(주문, 청구, 미납 등)

나) 발생시점(發生時點)에 따른 분류

기본엔터티
  • 그 업무에 원래 존재하는 정보.
  • 다른 엔터티와 관계에 의해 생성되지 않고, 독립적으로 생성 가능.
  • 자신은 타 엔터티의 부모의 역할.
  • 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가짐.
중심엔터티
  • 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할을 함.
행위엔터티
  • 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가됨

다) 엔터티 분류 방법의 예

5. 엔터티 명명

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

문서에 대하여

문서정보


'IT > SQLD' 카테고리의 다른 글

[SQLD] 과목1_1장_5.식별자  (0) 2018.11.28
[SQLD] 과목1_1장_4.관계  (0) 2018.11.28
[SQLD] 과목1_1장_3.속성  (0) 2018.11.28
[SQLD] 과목1_1장_1.데이터 모델의 이해  (0) 2018.08.10