본문으로 건너뛰기
안동민 개발노트 아이콘

안동민 개발노트

본문 시작

나 혼자 데이터베이스

회원가입·게시판 데이터를 설계하며 SQL, JOIN, 인덱스, 트랜잭션, 정규화와 운영 모델링을 단계적으로 익힙니다.

데이터베이스 학습은 SQL 문법만 외우면 실제 서비스의 테이블을 설계하는 단계에서 막히기 쉽습니다.

이 교재는 회원과 게시글 데이터를 저장하는 작은 문제에서 시작해 조회, 무결성, 성능과 운영 설계로 확장합니다.

같은 요구사항을 SQL 결과와 관계 모델 양쪽에서 확인하므로 쿼리와 설계를 따로 배우지 않습니다.

각 장의 예제는 MySQL 8.4를 기준으로 하지만 기본 키, 외래 키, 트랜잭션과 정규화의 원리는 다른 관계형 데이터베이스에도 적용됩니다.


학습 경로

1단계 · SQL 기초에서는 환경을 확인하고 테이블을 만든 뒤 데이터를 입력·변경·조회합니다.

2단계 · 관계와 성능에서는 JOIN·서브쿼리·인덱스와 실행 계획을 통해 데이터 접근 비용을 읽습니다.

3단계 · 무결성과 모델링에서는 트랜잭션, ERD, 키와 관계 소유권을 설계합니다.

4단계 · 정규화와 물리 설계에서는 중복과 갱신 이상을 줄이고 조회 요구에 맞게 구조를 조정합니다.

5단계 · 선택 심화에서는 코드·계층·이력·수명·상속·JSON처럼 운영에서 자주 만나는 모델을 비교합니다.


장별 목차

쿼리를 작성한 뒤에는 결과만 확인하지 말고 어떤 인덱스와 제약 조건이 그 결과를 지탱하는지 설명해 보세요.

완주 기준은 SQL을 빨리 쓰는 것이 아니라 요구사항을 키·관계·트랜잭션과 실행 계획으로 표현하는 능력입니다.

이 페이지의 목차