엔티티

Yennie·2024년 4월 4일

JPA

목록 보기
2/19

엔티티

정의

데이터베이스의 테이블과 매핑되는 객체를 의미한다. 객체이기는 하지만, 데이터베이스에 영향을 미치눈 쿼리를 실행하는 객체이다.

  • Entity는 데이터베이스의 테이블
  • Instance는 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미
  • attribute는 구성요소로서 더 이상 분리되지 안는 단위로, 업무에 필요한 데이터 저장이 가능

적절한 엔티티의 특징

  • 업무에서 필요로 하는 정보여야 한다.
  • 엔터티는 유일한 식별자가 있어야 한다. (인스턴스가 식별자에 의해 한개씩만 존재하는지 검증 필요)
  • 두개 이상의 인스턴스 집합이어야 한다. (영속적으로 존재하는 인스턴스의 집합이 되는 것으로 집합은 한개가 아닌 두개 이상일 때)
  • 업무 프로세스에 의해 이용되어야 한다. (고립된 엔티티는 엔티티를 제거하거나 누락된 프로세스가 존재하는지 살펴보고 해당 프로세스를 추가해야한다.)
  • 반드시 속성을 포함해야 한다. (속성을 포함하지 않는 엔터티는 있어도 의미가 없음, 관계가 생략되어 있거나 업무 분석이 미진하여 속성 정보가 누락되는 경우에 주로 발생하는 것)
  • 다른 엔터티 간의 관계가 존재해야 한다. (다른 엔터티와 최소 한 개 이상의 관계, 즉 업무적인 연관성 등을 가지고 다른 엔터티와의 연관의 의미를 가지고 있음)

엔터티의 분류

물리적 형태가 존재하는가?

  • 유형 엔터티: 업무에서 도출되며 지속적으로 사용되는 엔터티 (예. 고객, 강사, 사원 등)
  • 개념 엔터티: 물리적 형태가 없는 엔터티로 개념적으로 사용됨 (예. 거래소 종목)
  • 사건 엔터티: 비즈니스 프로세스를 실행하면서 생성되는 엔터티 (예. 주문, 체결, 취소주문)

언제 발생되느냐?

  • 기본 엔터티: 키 엔터티/ 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티 (예. 고객, 상품, 부서 등)
  • 중심 엔터티: 기본 엔터티와 행위 엔터티 간의 중간에 있는 것을 말하며, 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것을 의미한다. (예. 계좌, 주문, 취소, 체결 등)
  • 행위 엔터티: 2개 이상의 엔터티로부터 발생된다 (예. 주문 이력, 체결 이력)

출처
https://coding-factory.tistory.com/870

profile
PM | Aspiring SWE | linkedin.com/in/emilyyeeun

0개의 댓글