1과목 · 데이터 모델링의 이해·2장
엔터티-관계 모델 (ER)
엔터티의 정의와 분류, 표기법, 관계의 기본 개념까지 ER 모델의 뼈대를 다룹니다.
1. 엔터티란
엔터티(Entity) 는 업무에서 관리해야 하는 의미 있는 정보 덩어리. 사람·사물·개념·사건 어떤 것이든 "구별 가능하고 속성을 가지며 업무적으로 여러 번 등장"하면 엔터티입니다.
엔터티가 되기 위한 5가지 조건
- 업무에서 필요하고 관리되어야 할 정보.
- 유일한 식별자로 각 인스턴스를 구분할 수 있어야 함.
- 2개 이상의 인스턴스 (집합).
- 속성(Attribute) 을 가진다.
- 다른 엔터티와 관계(Relationship) 를 가질 수 있어야 함.
2. 엔터티 분류
유형에 따른 분류
| 구분 | 설명 | 예 |
|---|---|---|
| 유형 엔터티 | 물리적 형태가 있다 | 사원, 상품 |
| 개념 엔터티 | 개념으로만 존재 | 부서, 계약 |
| 사건 엔터티 | 시점에 발생하는 행위 | 주문, 결제 |
발생 시점에 따른 분류
| 구분 | 설명 | 예 |
|---|---|---|
| 기본 엔터티 | 독립적으로 먼저 생성 | 사원, 부서 |
| 중심 엔터티 | 기본에서 파생, 업무의 중심 | 주문, 계약 |
| 행위 엔터티 | 중심 간의 행위로 발생 | 주문상세, 결제내역 |
3. ERD 표기법
바커(Barker)
- 엔터티: 둥근 모서리 사각형 + 대문자 복수 이름
- 관계: 실선(필수)/점선(선택), 까마귀 발(Crow's foot)로 차수 표시
IE(Information Engineering)
- 사각형 + 선 끝 기호(∞, 1, 0..1)로 차수 표시
4. 관계의 기본
- 관계명: "발주한다", "소속된다" 같이 동사형
- 차수(Cardinality): 1:1 / 1:M / M:N
- 선택성(Optionality): 필수 / 선택
CREATE TABLE emp (
emp_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
dept_id INT NOT NULL REFERENCES dept(dept_id)
);
5. 자주 출제되는 포인트
- 엔터티 5가지 조건.
- 기본 → 중심 → 행위 순서.
- 엔터티 이름을 대문자 복수로 쓰는 이유: 집합.
- 엔터티는 속성 없으면 엔터티가 아님.
6. 요약 체크리스트
- 엔터티 5조건을 열거할 수 있다.
- 유형·개념·사건 엔터티 예를 각각 든다.
- 기본·중심·행위 관계를 설명한다.
- ERD에서 차수와 선택성을 구분해 읽는다.