상세 컨텐츠

본문 제목

[DB] 데이터 모델링 - 엔티티(Entity) 란?

DevOps/DB-데이터베이스설계

by 사랑짱 2021. 5. 25. 11:00

본문

Entity란?

- 업무에 필요하고 유용한 정보를 관리하기 위한 것
- 동일한 성격의 엔티티의 인스턴스(테이블의 행)들을 보관하는 논리적인 저장 장소
- 영속적으로 존재하는 단위

 

Entity의 특징

- 반드시 업무에 필요하고 관리해야하는 정보여야 한다.
- 영속적으로 존재하는 인스턴스들(ROW)의 집합이여야 한다(두개 이상의 인스턴스).
- 유일한 식별자에 의해 각 인스턴스들을 식별 가능해야 한다.
- 업무 프로세스에 의해 이용되어야 한다.
- 반드시 속성(Attribute)이 있어야 한다.
- 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다.

→ 이러한 특징을 반영하여 엔티티를 도출해야 한다.

 

Entity의 이름 짓는 방법

- 약어보다 명확한 단어 사용(Full Name)
- 논리적으로 사물을 반영
- 최소한의 어휘 사용
- 단수명사 사용

 

Entity의 종류

◆ 기본(FUNDAMENTAL ENTITY)
- 해당 업무에 기본적으로 존재하는 정보
- KEY 엔티티라고 부르기도 함.

◆ 중심(MAIN ENTITY)
- 독자적으로 들어가진 않지만 업무에 핵심적인 역할을 하는 정보

◆ 행위(ACTION ENTITY)
- 기본과 중심 엔티티를 근간으로 업무가 흘러가면서 발생되는 정보
(EX. 로그, 이력 등 나중에 생각해도 되는 정보)

(+) 종속Entity : 고유한 식별자가 없는 것
- 상위(부모) 엔티티가 존재하지 않으면 존재할 수 없는 엔티티




엔티티에 대한 개념을 상기하며 아래 내용을 살펴보자.

인터넷 도서구매 쇼핑목을 구축하려고 한다. 업무 담당자와 인터뷰 후 다음과 같은 업무 시나리오가 작성되었다.

# 인터넷에서 도서를 구입하기 위해서는 반드시 우리 회사에 회원으로 등록해야 구매가 가능하다.
# 인터넷에 회원 등록하는 정보로는 회원번호, 주민등록번호, 주소, 전화번호, 메일, 휴대폰번호, 결제방법이 있다.
# 인터넷을 통해 등록된 회원은 구매하기 위한 도서목록을 선택하고 인터넷 주문서 양식에 주문 내용을 입력하여 주문한다.
# 주문서 양식에는 주문목록에 대한 상세 정보와 주문일자, 배송지주소, 배송지 전화번호, 배송방법, 결제방법이 있다.
# 주문목록에 대한 상세 정보로는 구매가격, 개수가 있다.
# 한번 등록된 회원에 대해서는 도서를 구매하는 실적에 따라 구매 포인트를 부여하여 다음 구매 시 혜택을 보게한다.

 

여기서 엔티티를 찾아보자.


◇ 엔티티(Entity)
- 도서, 회원, 주문, 주문목록

◇ 엔티티의 속성(Attribute)
- 도서 : 도서번호, 도서명
- 회원 : 회원번호, 주민등록번호, 주소, 전화번호, 메일, 휴대폰번호, 결제방법, 구매포인트
- 주문 : 주문일자, 배송지주소, 배송지 전화번호, 배송방법, 결제방법
- 주문목록 : 구매가격, 개수

Q. 여기서 회사는 왜 엔티티가 아닐까?
A. ROW가 하나이기 때문에




관련글 더보기