**정규화(normalization)**는 데이터를 연관된 테이블로 분할하여 중복을 줄이고 무결성을 향상시키는 과정으로, 일련의 "정규형(normal form)"을 따릅니다. 목표는 각 데이터가 한 번만 저장되어 중복과 그로 인한 이상(anomaly)을 피하는 것입니다.
문제: 비정규화된(중복된) 테이블
❌ 모든 것이 한 곳에 있는 orders 테이블 — 데이터가 중복됨:
order_id | customer_name | customer_email | product | price
1 | Ann | [email protected] | Phone | 999
2 | Ann | [email protected] | Case | 20 ← Ann의 정보 반복!
문제 (이상):
✗ UPDATE 이상 — Ann의 email 변경 → 그녀의 모든 order를 갱신해야 함
✗ INSERT 이상 — order 없이는 customer를 추가할 수 없음
✗ DELETE 이상 — Ann의 마지막 order 삭제 시 그녀의 정보가 완전히 사라짐
✗ 저장 공간 낭비와 불일치 위험
