ERD = 데이터베이스 테이블(=엔티티) 간의 관계를 시각적으로 표현한 다이어그램
1단계: 요구사항 분석
2단계: 엔티티(테이블) 도출
3단계: 속성(컬럼) 정의
4단계: 관계(Relationship) 정의
5단계: 키(PK, FK) 설정
6단계: 정규화(중복 제거, 관계 분리)
7단계: ERD 툴로 시각화
어떤 기능이 있는지, 어떤 정보가 저장되어야 하는지 파악
예시:
요구사항을 보고 “무슨 테이블이 필요하지?” 고민해서 추림
member (회원)
order (주문)
각 테이블에 들어갈 필드들을 정리
🔹 member 테이블
| 컬럼명 | 타입 | 설명 |
|---|---|---|
| id | BIGINT, PK | 회원 고유 ID |
| name | VARCHAR | 이름 |
| VARCHAR | 이메일 | |
| password | VARCHAR | 비밀번호 |
| phone | VARCHAR | 전화번호 |
🔹 order 테이블
| 컬럼명 | 타입 | 설명 |
|---|---|---|
| id | BIGINT, PK | 주문 고유 ID |
| product_name | VARCHAR | 상품명 |
| quantity | INT | 수량 |
| price | INT | 가격 |
| member_id | BIGINT, FK | 주문한 회원의 ID (member.id와 연결) |
| 관계 | 의미 | 예시 |
|---|---|---|
| 1:1 (일대일) | 한 행이 다른 테이블의 한 행과만 연결됨 | 주문 1건 ↔ 결제 내역 1건 |
| 1:N (일대다) | 한 행이 여러 행과 연결됨 | 회원 1명 ↔ 여러 개 주문 |
| N:M (다대다) | 여러 행이 서로 여러 행과 연결됨 | 주문 1건 ↔ 여러 상품, 상품 1개 ↔ 여러 주문 |