Web, Django, DB

DB : Entity

Disciple428 2024. 7. 27. 17:35
  • Entity

그대로 번역하면 실제, 독립체라는 뜻으로 데이터 모델링에서 사용되는 객체이다. 즉 엔터티(Entity)는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 "어떤 것(Thing)"이라고 말할 수 있다. "어떤 것"이라고 부르는 것처럼 엔터티는 추상적인 의미를 가지며, 학교나 학생처럼 현실 세계에서 눈에 보이는 개념일 수도 있고 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있다.

엔터티(Entity) ⇒ 데이터베이스의 테이블

인스턴스(Instance) ⇒ 데이터베이스에 저장된 데이터 내용의 전체 집합

속성(Attribute) ⇒ 인스턴스의 구성요소로써 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있음

 

  • 적절한 Entity 의 특징
  1. 업무에서 필요로 하는 정보여야 한다.
  2. 유일한 식별자가 있어야 한다.
  3. 두 개 이상의 인스턴스의 집합이어야 한다.
  4. 업무 프로세스에 의해 이용되어야 한다.
  5. 반드시 속성을 포함해야 한다.
  6. 다른 Entity 간의 관계가 존재해야 한다.

 

  • Entity 의 분류

1. 유무형에 따른 분류

유형 엔터티 ⇒ 업무에서 도출되며 지속적으로 사용되는 엔터티 예) 고객, 강사, 사원 등

개념 엔터티 ⇒ 유형 엔터티는 물리적 형태가 있지만 개념 엔터티는 물리적 형태가 없다. 개념적으로 사용되는 엔터티 예) 거래소 종목, 코스닥 종목, 생명보험 상품

사건 엔터티 ⇒ 비즈니스 프로세스를 실행하면서 생성되는 엔터티 예) 주문, 체결, 취소주문, 수수료 청구 등

 

2. 발생 시점에 따른 엔터티 종류

기본 엔터티(Basic Entity) ⇒ 키 엔터티라고도 하며, 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티 예) 고객, 상품, 부서 등

중심 엔터티(Main Entity) ⇒ 기본 엔터티와 행위 엔터티 간의 중간에 있는 것 즉, 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것을 말한다. 예) 계좌, 주문, 취소, 체결 등

행위 엔터티(Active Entity) ⇒ 2개 이상의 엔터티로부터 발생 예) 주문 이력, 체결 이력 등