SQL 기초집LESSON 04
CREATE TABLE과 제약 조건
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
4강. CREATE TABLE과 제약 조건
1. 이번 강의에서 해결할 문제
애플리케이션 검증만 믿으면 다른 도구나 버그가 잘못된 값을 저장할 수 있습니다. 데이터베이스 스키마 자체가 최소 규칙을 지키게 합니다.
2. 학습 목표
3. 핵심 개념
제약 조건은 모든 입력 경로에 적용되는 데이터 규칙입니다. 기본 키는 행을 식별하고 UNIQUE는 후보 키의 중복을 막습니다. NOT NULL은 누락, CHECK는 값의 도메인을 제한합니다.
4. 단계별 SQL 예시
대상 테이블: players, games
파일 경로: C:\dev\game-ranking-db\sql\04-schema.sql
sql/04-schema.sql
CREATE TABLE IF NOT EXISTS players (
player_id INTEGER PRIMARY KEY,
username TEXT NOT NULL UNIQUE,
region TEXT NOT NULL CHECK (region IN ('KR', 'JP', 'NA', 'EU')),
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
) STRICT;
CREATE TABLE IF NOT EXISTS games (
game_id INTEGER PRIMARY KEY,
mode TEXT NOT NULL CHECK (mode IN ('ranked', 'normal')),
started_at TEXT NOT NULL,
duration_seconds INTEGER NOT NULL CHECK (duration_seconds > 0)
) STRICT;
PowerShell · 실행 순서
sqlite3 .\data\game_ranking.db ".read .\sql\04-schema.sql"
sqlite3 .\data\game_ranking.db ".schema players"
sqlite3 .\data\game_ranking.db ".schema games"
5. 쿼리가 동작하는 이유
SQLite의 INTEGER PRIMARY KEY는 rowid의 별칭으로 자동 정수 키를 생성할 수 있습니다. DEFAULT는 INSERT에서 열을 생략할 때 사용됩니다. CHECK는 각 행이 저장되기 전에 참인지 검사합니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2CREATE TABLE과 제약 조건 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
4강. CREATE TABLE과 제약 조건 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.