엔티티란?
•
데이터베이스에서 데이터를 저장하는 기본 단위
•
데이터의 집합을 의미한다.
•
저장되고 관리되어야하는 데이터
•
현실 세계의 객체나 사건을 추상화한 것
•
유형 또는 무형의 대상을 가리킨다.
적절한 엔티티의 특징 (업무적인 측면에서, ER모델 설계 시)
ER 모델?
•
식별자
◦
유일한 식별자를 가지고 있어야 한다.
◦
ex) ID, 주민번호 등
•
인스턴스 집합
◦
2개 이상의 인스턴스가 있어야 한다.
•
속성
◦
반드시 속성을 가지고 있어야 한다.
◦
ex) 사용자 - 이름, 아이디, 주소, 전화번호, 이메일 등
•
관계
◦
다른 엔티티와 최소 한 개 이상 관계가 있어야 한다.
•
업무
◦
업무에서 관리되어야 하는 집합이다.
엔티티의 종류
•
엔티티는 유형, 무형에 따른 종류, 발생하는 시점 혹은 독립성과 식별 가능성에 따라 나뉘어 진다.
유형과 무형에 따른 종류
•
유형 엔티티
◦
지속적으로 사용 되는 엔티티
◦
ex) 고객, 강사, 사원 등
•
개념 엔티티
◦
물리적 형태가 없는 엔티티
◦
개념적으로 사용되는 엔티티
◦
ex) 거래소 종목, 코스닥 종목, 생명보험 상품
•
사건 엔티티
◦
비즈니스 프로세스를 실행하면서 생성되는 엔티티
◦
ex) 주문, 체결, 취소주문, 수수료 청구 등
발생 시점에 따른 종류
•
기본 엔티티 (Basic Entity)
◦
키 엔티티라고도 한다.
◦
다른 엔티티에 영향을 받지 않는 독립적으로 생성되는 엔티티
◦
ex) 고객, 상품 등
•
중심 엔티티 (Main Entity)
◦
기본 엔티티와 행위 엔티티의 중간에 있는 것
◦
기본 엔티티로부터 발생되고 행위 엔티티를 생성한다.
◦
ex) 주문, 취소, 결제 등
•
행위 엔티티 (Active Entity)
◦
2개 이상의 엔티티로부터 발생된다
◦
ex) 주문 내역, 취소 내역 등
독립성과 식별 가능성에 기반한 분류
•
강한 엔티티
◦
독립적으로 존재하며, 다른 엔티티의 도움 없이 식별할 수 있는 엔티티
◦
고유한 식별자(Primary Key)를 가진다.
◦
ex) 학생(학번), 직원(사번) 등
•
약한 엔티티
◦
다른 엔티티에 종속적이며, 자체적으로는 식별할 수 없는 엔티티이다.
◦
강한 엔티티의 식별자를 빌려와서, 그와 조합하여 식별할 수 있다.
◦
ex) 강좌(강의실 번호 + 시간), 주문 항목(주문 번호 + 항목 번호)