2-1. 엔티티 정의
엔티티(Entity) 는 데이터베이스에서 업무상 관리해야 하는 중요한 객체(대상) 를 의미한다.
- 사람: 회원, 관리자, 직원, 강사, 학생 등
- 사물: 상품, 계좌, 차량, 강의실 등
- 개념: 부서, 카테고리, 권한, 등급 등
- 사건/행위: 주문, 결제, 수강 신청, 출석 기록 등
엔티티는 보통 물리적으로는 테이블로 구현된다고 생각하면 된다.
“업무적으로 구분해서 관리해야 하고, 고유 식별자를 통해 각 인스턴스를 구분할 수 있는 대상”을 엔티티라고 부른다.
2-2. 엔티티의 특징
엔티티는 보통 다음과 같은 특징을 가진다.
- 업무에서 필요하다
- 실제 비즈니스 프로세스에서 중요하게 다루는 대상이다.
- 여러 개의 인스턴스를 가진다
- 회원이 한 명만 있다면 굳이 엔티티로 만들 이유가 없다.
- 여러 명의 회원, 여러 개의 주문처럼 반복해서 발생/누적되는 데이터가 엔티티가 된다.
- 고유하게 식별할 수 있다
- 회원번호, 주문번호, 상품코드처럼 각 인스턴스를 구분하는 식별자(Primary Key) 가 존재한다.
- 속성을 가진다
- 엔티티는 자신의 상태를 나타내는 여러 속성을 가진다.
- 예: 회원(회원번호, 이름, 전화번호, 이메일, 가입일자 …)