tutorial

MySQL 테이블 설계 기초: 정규화와 데이터 타입 완벽 가이드

MySQL 테이블 설계의 기본 원칙. 정규화, 데이터 타입 선택, 관계 설정까지 실전 설계 가이드.

럿지 AI 팀
2025-01-15
15min 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