1-1장 데이터 모델링의 이해 - 2절 엔터티

Study/SQLD

1-1장 데이터 모델링의 이해 - 2절 엔터티

tnddj1219 2022. 6. 11. 10:57
728x90

1. 엔터티란?

개념
업무에서 관리해야 할 데이터 집합. 명사형, 인스턴스의 집합
데이터 모델을 이해할 때 가장 명확하게 이해해야 할 개념. 우리말로 실체, 객체라고도 함
엔터티는 인스턴스의 집합이라고 말할 수 있고, 인스턴스라는 것은 엔터티의 하나의 값에 해당
그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성을 가짐
- 공통속성: 엔터티 인스턴스 전체가 공유할 수 있음
- 개별속성: 엔터티 인스턴스 중 일부에만 해당

엔터티와 인스턴스에 대한 내용과 표기법
엔터티를 표현하는 방법은 각각의 표기법에 따라 조금씩 차이는 있지만 대부분 사각형으로 표현함

2. 엔터티의 특징

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

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

인스턴스 결합
영속적으로 존재하는 인스턴스의 집합이 되어야 한다. 엔터티는 두 개 이상의 인스턴스를 가진다.

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

속성을 포함
엔터티에는 반드시 속성이 포함되어야 한다.
속성을 포함하지 않고 엔터티의 이름만 가지고 있는 경우는 관계가 생략되어 있거나, 업무 분석이 미진하여 속성정보가 누락되는 경우에 해당한다.
주식별자만 존재하고 일반속성은 전혀 없는 경우도 마찬가지로 적절한 엔터티라고 할 수 없다.
*예외: 관계엔터티의 경우 주식별자 속성만 가지고 있어도 엔터티로 인정

관계의 존재
엔터티는 다른 엔터티와 최소 한 개이 상의 관계가 존재해야 한다. 기본적으로 엔터티가 도출되었다는 것은 해당 업무내에서 업무적인 연관성을 가지고 다른 엔터티와 연관의 의미를 가지고 있음을 나타낸다.
관계 생략하여 표현해야 하는경우: 통계성 엔터티 도출, 코드성 엔터티 도출, 시스템 처리시 내부 필요에 의한 엔터티 도출

3. 엔터티 분류

유무형에 따른 분류

종류 내용 및 예시
유형엔터티 물리적인 형태 있음. 안정적. 지속적으로 활용
ex) 사원, 물품, 강사
개념엔터티 물리적인 형태 없음. 관리해야 할 개념적 정보
ex) 조직, 보험상품
사건엔터티 업무를 수행함에 따라 발생되는 엔터티. 비교적 발생량이 많음. 통계자료에 이용
ex) 주문, 청구, 미납


발생시점에 따른 분류

종류 내용 및 예시
기본엔터티 업무에 원래 존재하는 정보. 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성 가능.
타 엔터티의 부모의 역할을 함. 자신의 고유한 주 식별자를 가지게 됨
ex) 사원, 부서, 고객, 상품, 자재
중심엔터티 기본엔터티로부터 발생. 업무에 있어서 중심적인 역할. 기본엔터티와 행위 엔터티 중간에 존재
데이터 양이 많이 발생. 다른 엔터티와 관계를 통해 행위 엔터티 생성
ex) 계약, 사고, 예금원장, 청구, 주문, 매출
행위엔터티 두 개 이상의 부모 엔터티로부터 발생. 자주 바뀌거나 데이터량 증가
분석 초기단계에는 나타나지 않음. 상세 설계단계나 프로세스와 상관 모델링 진행하면서 도출
ex) 주문목록, 사원변경 이력

4. 엔터티의 명명

현업업무에서 사용하는 용어
약어를 사용하지 않음
단수명사 사용
모든 엔터티에서 유일하게 이름이 부여(유일성 보장)
엔터티 생성 의미대로 이름 부여(명확성)

728x90