데이터베이스에서 엔터티(데이터 단위) 간의 관계를 시각적으로 표현한 다이어그램이다. 시스템이 어떤 데이터를 저장하고, 그것들이 어떻게 연결되어 있는지를 한눈에 보여준다.
구성 요소
| 구성 요소 | 설명 | 예시 |
| Entity (엔터티) | 정보를 저장할 대상(테이블) | 사용자, 주문, 상품 |
| Attribute (속성) | 엔터티가 가진 세부 정보(컬럼) | 사용자ID, 이메일 |
| Relationship (관계) | 엔터티 간의 연결성 | 사용자 - 주문 관계 |
관계(Cardinality)의 유형
| 관계 | 설명 | 예시 |
| 1:1 (일대일) | 한 엔터티가 다른 엔터티와 1:1로 연결 | 사용자 ↔ 기본주소 |
| 1:N (일대다) | 한 엔터티가 다른 엔터티 여러 개와 연결 | 사용자 ↔ 주문 |
| N:M (다대다) | 여러 엔터티가 서로 다수와 연결 | 주문 ↔ 상품 |
N:M 관계는 직접 구현되지 않음 → 중간 테이블 생성 필수 (예: 주문상품)
| 관계 | 설명 | 예시 |
| 식별자 | 실선으로 표현 부모 자식 관계에서 자식이 부모의 주 식별자를 외래 식별자로 참조하여 자신의 주 식별자로 설정 |
학생-신체정보(학생 PK=신체정보 PK) |
| 비식별자 | 점선으로 표현 부모 자식 관계에서 부모의 주 식별자를 외래 식별자로 참조해서 일반 속성으로 사용 |
사원-사원증(각 사원은 반드시 하나의 사원증만 가짐) |
ERD 작성 방법
① 요구사항 분석
- 비즈니스 로직을 정리하고 저장해야 할 정보를 추출
- 핵심 엔터티 도출 (예: 사용자, 주문, 상품 등)
② 엔터티 도출 및 속성 정의
- 각 엔터티의 속성(컬럼)을 식별 (ID, 이름, 날짜 등)
- Primary Key, Unique, Not Null 등 제약 조건 함께 정의
③ 관계(Relationship) 설정
- 각 엔터티 간의 연관성 식별 (1:1, 1:N, N:M)
- 다대다 관계는 중간 엔터티로 분해 (예: 주문상품)
④ ERD 도식화
- 시각적 다이어그램으로 구성
- 관계선에 관계명, 방향성, 카디널리티(1:1, 1:N, N:M 등) 표시
1:1 관계 (One-to-One Cardinality)
도서의 평점,리뷰수 등은 책 한권에 한 정보만을 가진다.

1:N 관계 (One-to-Many Cardinality)
한 사용자는 여러 리뷰(1개 이상)를 작성할 수 있다.

한 도서에 대해서 여러 리뷰(0개 이상)를 가질 수 있다.

N:M 관계 (Many -to-Many Cardinality)
도서는 여러 저자(1개 이상)를 가질 수 있다.
저자 또한 여러 권의 책(1개 이상)을 쓸 수 있다

.