tutorial
MySQL 테이블 설계 기초: 정규화와 데이터 타입 완벽 가이드
MySQL 테이블 설계의 기본 원칙. 정규화, 데이터 타입 선택, 관계 설정까지 실전 설계 가이드.
럿지 AI 팀2025-01-1515min read
NF
정규화 목표
PK
테이블당 기본키
NULL
권장 NULL 수
%
무결성 보장
데이터 타입 선택
INT / BIGINTID, 카운터
UNSIGNED 사용 권장VARCHAR(n)가변 길이 문자열
적절한 길이 지정DATETIME날짜 + 시간
TIMESTAMP는 2038년 문제DECIMAL(p,s)정확한 숫자 (금액)
FLOAT 대신 사용ENUM제한된 선택지
변경 시 ALTER 필요JSON유연한 데이터
인덱싱 제한적정규화 단계
정규화 단계
1NF원자값만 저장
배열 X, 개별 컬럼으로
2NF부분 종속 제거
복합키 일부에만 의존 X
3NF이행적 종속 제거
A→B→C 관계 분리
테이블 관계
1:1
사용자 - 프로필
UNIQUE FK
1:N
사용자 - 주문
FK
N:M
상품 - 카테고리
중간 테이블
설계 베스트 프랙티스
☑AUTO_INCREMENT PK 사용
☑컬럼명 snake_case 통일
☑created_at, updated_at 추가
☑NOT NULL 기본 적용
☑FK 제약조건 설정
☑적절한 인덱스 생성
MySQL 테이블 설계 마스터
김영한의 실전 데이터베이스#MySQL
#Table Design
#Database
#Normalization
#SQL