본문 바로가기

Data Science/SQLD

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

반응형

1. 엔터티의 개념

: 실체, 객체

 

-> 사람, 장소, 물건, 사건, 개념 등의 명사

-> 업무상 관리가 필요한 관심사

-> 저장이 되기 위한 어떤 것

 

즉, 업무에 필요하고 유용한 정보를 저장, 관리하기 위한 집합적인 것

 

엔터티

: 동질성을 가진 인스턴스들이나 그들이 행하는 행위의 집합

-> 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는다.

 

속성

: 전체가 공유하는 공통속성

: 일부만 해당하는 개별속성

 

엔터티    : 인스턴스의 집합

인스턴스 : 엔터티의 하나의 값

 


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

 

과목, 강사, 사건 : 엔터티

 

수학, 영어              : 과목의 인스턴스

이춘식, 조시형        : 강사의 인스턴스

2010-001, 2010-002 : 사건의 인스턴스

 

[오브젝트 모델링 : 클래스 =엔터티 / 오브젝트 = 인스턴스]

 


3. 엔터티의 특징

  • 해당 업무에서 필요하며 관리하고자 하는 정보
  • 유일한 식별자에 의해 식별이 가능
  • 영속적으로 존재하는 인스턴스의 집합
  • 업무 프로세스에 의해 이용되어야 한다
  • 반드시 속성이 존재
  • 다른 엔터티와 최소 한 개 이상의 관계가 필요

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

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

 

즉, 시스템 구축 대상인 해당업무에서 그 엔터티를 필요로 하는가 판단.

-> 업무 영역 내에서 관리할 필요가 있는지를 먼저 판단

 

나. 식별이 가능해야 함

식별자에 의해 식별이 가능해야 함.

-> 각각의 업무적으로 의미를 가지는 인스턴스가 식별자에 의해 한개씩만 존재하는지 검증

 

즉, 유일한 식별자는 그 엔터티의 인스턴스의 고유한 이름

 

다. 인스턴스의 집합

영속적으로 존재하는 인스턴스의 집합이 되어야 한다.

한 개가 아니라 두 개 이상

-> 하나의 엔터티는 여러 개의 인스턴스를 포함

 

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

업무프로세스가 그 엔터티를 반드시 이용해야 함.

 

그렇지 않으면

(1) 프로세스 모델링을 하면서 데이터 모델과 검증

(2) 상관 모델링을 할 때 엔터티와 단위프로세스를 교차점검하면서 문제점이 도출

 

-> CRUD가 발생하지 않는 고립된 엔터티의 경우 엔터티를 제거하거나 누락된 프로세스가 존재하는지 보고 해당 프로세스를 추가해야 한다.

 

마. 속성을 포함

엔터티는 반드시 속성을 포함해야 함 / 주식별자만 존재하고 일반속성이 없는 경우에도 적절한 엔터티가 아니다.

단, 관계엔터티의 경우 주식별자 속성만 가지고 있어도 엔터티로 인정

 

바. 관계의 존재

엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 존재해야 함.

 

엔터티의 도출 -> 해당 업무내에서 업무적인 연관성 (존재적 연관성, 행위적 연관성)을 가지고 다른 엔터티와의 연관의 의미를 가지기 때문

 

#관계를 생략하는 경우

(1) 통계성 엔터티 도출

: 통계업무만 위해 엔터티 정의

(2) 코드성 엔터티 도출

: 너무 많은 엔터티와 엔터티간의 설정에 의해 읽기효율성 저하 방지를 위함

: 참조무결성을 체크하기 위한 규칙을 맡기지 않기 때문에 관계 설정 이유가 없다

(3) 시스템 처리시 내부 필요에 의한 엔터티 도출

: 시스템 내부 필요에 의한 엔터티이기 때문에 관계 생략


4. 엔터티의 분류

 

가. 유무형에 따른 분류

 

유형 엔터티 [사원, 물품, 강사]

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

개념 엔터티 [조직, 보험상품]

: 물리적 형태가 존재하지 않고 관리해야할 개념적 정보

사건 엔터티 [주문, 청구, 미납]

: 업무 수행함에 따라 발생하는 엔터티

 

나. 발생시점에 따른 분류

(1) 기본엔터티 / 키엔터티 [사원, 부서, 고객, 상품, 자재]

: 업무에 원래 존재하는 정보

-> 독립적 생성 가능, 타 엔터티의 부모의 역할 수행, 자신의 고유한 주식별자를 가짐

 

(2) 중심엔터티 [계약, 사고, 예금원장, 청구, 주문, 매출]

: 기본엔터티에서 발생되고 그 업무에 있어서 중심적인 역할 수행,데이터 양이 많이 발생되고, 많은 행위엔터티 생성

 

(3) 행위 엔터티 [주문목록, 사원변경이력]

: 두 개 이상의 부모엔터티로부터 발생, 자주 내용이 바뀌거나 데이터양이 증가

 

다. 엔터티 분류 방법의 예

유무형 -> 유형 : 사원, 물풍 / 사건 : 주문, 창구 / 개념 : 조직, 장소

발생시점 -> 중심 : 접수, 계약 / 기본/키 : 사원, 부서 / 행위 : 주문내역, 계약진행

 

또한, 스스로 생성 가능 여부 : 독립엔터티 / 의존엔터티

 


5. 엔터티의 명명

(1) 실무에서 사용하는 용어

(2) 약어를 사용하지 않음

(3) 단수명사 사용

(4) 유일하게 이름이 부여

(5) 생성의미대로 이름을 부여

 

반응형