나 혼자 데이터베이스
회원가입·게시판 데이터를 설계하며 SQL, JOIN, 인덱스, 트랜잭션, 정규화와 운영 모델링을 단계적으로 익힙니다.
데이터베이스 학습은 SQL 문법만 외우면 실제 서비스의 테이블을 설계하는 단계에서 막히기 쉽습니다.
이 교재는 회원과 게시글 데이터를 저장하는 작은 문제에서 시작해 조회, 무결성, 성능과 운영 설계로 확장합니다.
같은 요구사항을 SQL 결과와 관계 모델 양쪽에서 확인하므로 쿼리와 설계를 따로 배우지 않습니다.
각 장의 예제는 MySQL 8.4를 기준으로 하지만 기본 키, 외래 키, 트랜잭션과 정규화의 원리는 다른 관계형 데이터베이스에도 적용됩니다.
학습 경로
1단계 · SQL 기초에서는 환경을 확인하고 테이블을 만든 뒤 데이터를 입력·변경·조회합니다.
2단계 · 관계와 성능에서는 JOIN·서브쿼리·인덱스와 실행 계획을 통해 데이터 접근 비용을 읽습니다.
3단계 · 무결성과 모델링에서는 트랜잭션, ERD, 키와 관계 소유권을 설계합니다.
4단계 · 정규화와 물리 설계에서는 중복과 갱신 이상을 줄이고 조회 요구에 맞게 구조를 조정합니다.
5단계 · 선택 심화에서는 코드·계층·이력·수명·상속·JSON처럼 운영에서 자주 만나는 모델을 비교합니다.
장별 목차
1장 MySQL 환경과 관계형 기초
2장 데이터 입력·변경과 운영 DDL
3장 조회·필터·정렬
4장 값 가공·집계
5장 관계를 읽는 JOIN
6장 서브쿼리·집합·조건식
7장 인덱스와 실행 계획
8장 무결성과 트랜잭션
9장 개념 모델과 ERD
10장 키와 관계 모델
11장 관계 소유권과 식별
12장 정규화와 물리 설계
13장 공통 코드 설계
14장 계층형 데이터
15장 변경 이력과 시간 모델
16장 데이터 수명과 집계
17장 상속 모델과 동적 속성
18장 JSON과 운영 설계
쿼리를 작성한 뒤에는 결과만 확인하지 말고 어떤 인덱스와 제약 조건이 그 결과를 지탱하는지 설명해 보세요.
완주 기준은 SQL을 빨리 쓰는 것이 아니라 요구사항을 키·관계·트랜잭션과 실행 계획으로 표현하는 능력입니다.