데이터베이스 설계의 핵심인 데이터 모델링과 정규화를 초급 개발자 눈높이에서 쉽게 설명합니다. ERD 작성부터 제1~3정규형, 정규화의 장단점, 비정규화 전략, 실무 설계 패턴까지 실전에서 바로 활용할 수 있는 노하우를 담았습니다. # 데이터 모델링과 정규화 완벽 가이드 데이터베이스 설계의 핵심인 데이터 모델링과 정규화를 초급 개발자 눈높이에서 쉽게 설명합니다. ERD 작성부터 제1~3정규형, 정규화의 장단점, 비정규화 전략, 실무 설계 패턴까지 실전에서 바로 활용할 수 있는 노하우를 담았습니다. --- ## 목차 1. [데이터_모델링_기초](#데이터-모델링-기초) 2. [ERD_다이어그램_이해](#erd-다이어그램-이해) 3. [제1정규형부터_제3정규형까지](#제1정규형부터-제3정규형까지) 4. [정규화의_장단점](#정규화의-장단점) 5. [비정규화가_필요한_경우](#비정규화가-필요한-경우) 6. [실무_테이블_설계_패턴](#실무-테이블-설계-패턴) --- ## 1. 데이터_모델링_기초 ### 시작하며 여러분이 쇼핑몰 앱을 만들 때 이런 상황을 겪어본 적 있나요? 고객 정보, 주문 내역, 상품 정보를 어떤 테이블에 어떻게 저장해야 할지 막막했던 경험 말이죠. 이런 문제는 실제 개발 현장에서 자주 발생합니다. 데이터를 잘못 설계하면 나중에 데이터 중복, 수정 오류, 성능 저하 등 심각한 문제가 발생할 수 있습니다. 한 번 만들어진 데이터베이스 구조를 바꾸는 것은 매우 어렵고 비용이 많이 듭니다. 바로 이럴 때 필요한 것이 데이터 모델링입니다. 데이터 모델링은 마치 집을 짓기 전에 설계도를 그리는 것처럼, 데이터베이스를 만들기 전에 어떤 데이터를 어떻게 저장할지 미리 계획하는 과정입니다. ### 개요 간단히 말해서, 데이터 모델링은 현실 세계의 정보를 데이터베이스에 저장하기 위해 구조화하는 작업입니다. 왜 이 개념이 필요한지 실무 관점에서 설명하자면, 좋은 데이터 모델은 시스템의 성능, 유지보수성, 확장성을 결정하는 핵심 요소입니다. 예를 들어, 이커머스 시스템에