캡스톤: 완전한 데이터베이스 프로젝트
모든 것을 통합 — AI를 활용해 스키마 설계, 구축, 데이터 적재, 최적화, 보안까지 완전한 데이터베이스 프로젝트를 완성.
프리미엄 강좌 콘텐츠
이 레슨은 프리미엄 강좌의 일부예요. Pro로 업그레이드하면 모든 프리미엄 강좌와 콘텐츠를 이용할 수 있어요.
- 모든 프리미엄 강좌 이용
- 1000개 이상의 AI 스킬 템플릿 포함
- 매주 새로운 콘텐츠 추가
🔄 Quick Recall: 7개 레슨에 걸쳐 AI로 모든 데이터베이스 스킬을 쌓았어요: 쿼리 작성, 스키마 설계, 데이터 클리닝, 성능 최적화, 리포트 구축, 보안 구현. 이제 모든 걸 하나의 완전한 프로젝트로 통합해요.
캡스톤 프로젝트
다음 시나리오 중 하나를 선택하세요 (또는 본인 프로젝트 사용):
A) 이커머스 분석 플랫폼 — 주문, 고객, 제품, 재고를 추적. 매출 대시보드와 고객 세그먼테이션 리포트 구축.
B) SaaS 애플리케이션 DB — 사용자, 구독, 기능 사용량, 빌링 관리. 이탈 예측 쿼리와 사용량 리포트 구축.
C) 콘텐츠 관리 시스템 — 기사, 저자, 카테고리, 댓글, 페이지뷰 저장. 편집 대시보드와 콘텐츠 성과 리포트 구축.
시나리오 A로 전체 라이프사이클을 진행해요. 선택한 프로젝트에 맞게 단계를 조정하세요.
1단계: 요구사항과 스키마
AI에게 완전한 비즈니스 컨텍스트를 설명하세요:
PostgreSQL로 이커머스 분석 데이터베이스를 구축해요.
비즈니스 엔터티:
- 고객 (개인, 기업 계정)
- 제품 (카테고리, 서브카테고리 포함)
- 주문 (주문당 여러 항목)
- 재고 (재고 수준, 재주문 시점)
- 리뷰 (평점, 텍스트 피드백)
필요한 핵심 쿼리:
- 제품/카테고리/지역별 일간·월간 매출 리포트
- 고객 생애 가치와 세그먼테이션 (RFM 분석)
- 재고 알림 (재고 부족, 과잉 재고)
- 제품 성과 랭킹
- 고객 리텐션과 이탈 분석
완전한 스키마를 설계해주세요:
- 적절한 타입과 제약조건이 포함된 CREATE TABLE
- 외래 키와 관계 정의
- 위 핵심 쿼리를 위한 인덱스
- 설계 결정을 설명하는 코멘트
AI의 스키마를 레슨 3의 원칙과 대조해서 검토하세요. 관계가 맞나요? 데이터 타입이 적절한가요? 인덱스가 쿼리 패턴과 일치하나요?
2단계: 샘플 데이터
현실적인 테스트 데이터를 생성하세요:
이커머스 스키마에 현실적 데이터를 INSERT하세요:
- 고객 500명 (개인·기업 혼합, 다양한 지역)
- 제품 50개 (5개 카테고리)
- 최근 12개월 주문 2,000건 (계절 패턴 — 11·12월 높게)
- 현실적 주문 금액 (15,000원 ~ 500,000원)
- 클리닝 테스트용 데이터 품질 이슈: 전화번호 5% NULL, 중복 이메일 몇 건
현실적으로: 다양한 배경의 고객명, 말이 되는 제품명, 실제 이커머스 행동을 반영하는 주문 패턴.
3단계: 핵심 쿼리
레슨 2의 기법으로 프로젝트에 맞는 핵심 쿼리를 구축하세요:
이커머스 스키마로 프로덕션 수준 쿼리를 작성해주세요:
1. 월간 매출 대시보드
- 월별 매출, 주문 수, 평균 주문 금액
- 전월 대비 성장률
- 동적 날짜 (하드코딩 금지)
2. 고객 RFM 분석
- Recency(마지막 주문 이후 일수), Frequency(총 주문 수), Monetary(총 지출)
- 고객 세그먼트: 챔피언, 충성, 위험, 이탈
3. 제품 성과
- 제품별 매출, 판매량, 평균 평점
- 카테고리 내 순위
- 재고 상태 (잔여 재고일)
4. 재고 알림
- 재주문 시점 미만 제품
- 30일 판매 속도 기반 재고 소진 예상일
모든 쿼리 요건:
- 가독성 위해 CTE 사용
- NULL과 엣지 케이스 처리
- 의미 있는 칼럼 별칭
- 샘플 데이터셋에서 효율적 실행
✅ Quick Check: 캡스톤 과제가 단순히 “작동하는 쿼리"가 아닌 “프로덕션 수준 쿼리"를 요구하는 이유는? 작동하는 쿼리와 프로덕션 쿼리 사이의 간격이 대부분의 DB 문제가 사는 곳이기 때문이에요. 작동하는 쿼리는 오늘 맞는 답을 반환해요. 프로덕션 쿼리는 매일 맞는 답을 반환해요 — NULL, 0 나누기, 날짜 경계, 새로운 데이터 패턴을 우아하게 처리하면서요.
4단계: 최적화
레슨 5 기법으로 쿼리를 테스트하고 최적화하세요:
- 각 핵심 쿼리에 EXPLAIN ANALYZE 실행
- 실행 계획을 AI에 붙여넣어 분석
- 추천에 따라 인덱스 추가·조정
- 재실행해서 전후 성능 비교
- 비싼 대시보드 쿼리에 구체화된 뷰 생성
목표: 모든 대시보드 쿼리가 1초 이내 실행.
5단계: 리포팅 레이어
레슨 6의 리포팅 시스템으로 쿼리를 변환하세요:
- 각 핵심 리포트에 뷰 생성
- 비싼 쿼리에 구체화된 뷰 + 갱신 스케줄
- 대시보드 요약 카드용 KPI 쿼리 구축
- 시간 인텔리전스 추가: 전년 동기, 롤링 평균
6단계: 보안과 프로덕션 준비
레슨 7의 보안 실천을 적용하세요:
- 역할 생성:
app_role(읽기/쓰기),reporting_role(읽기 전용),admin_role(전체) - 각 역할에 최소 필요 권한 부여
- 백업 스크립트 설정 (pg_dump → 로컬 디렉토리)
- 유지보수 스크립트 생성 (VACUUM ANALYZE, 블로트 점검)
- 모니터링 쿼리 작성 (느린 쿼리, 연결 수, 디스크 사용량)
프로젝트 검증 체크리스트
프로젝트 완료 전에 이 체크리스트를 통과하세요:
| 구성요소 | 검증 | 상태 |
|---|---|---|
| 스키마 | 적절한 제약조건으로 모든 테이블 생성 | ☐ |
| 샘플 데이터 | 현실적 데이터 적재, 품질 이슈 포함 | ☐ |
| 핵심 쿼리 | 4개 쿼리 세트 모두 올바른 결과 반환 | ☐ |
| 데이터 클리닝 | 품질 이슈 식별·클리닝 완료 | ☐ |
| 최적화 | 모든 쿼리 1초 이내 실행 | ☐ |
| 뷰 | 리포팅 뷰 생성·테스트 완료 | ☐ |
| 보안 | 최소 권한으로 역할 생성 | ☐ |
| 백업 | 백업 스크립트 정상 실행 | ☐ |
| 복원 | 백업을 테스트 DB에 복원 가능 | ☐ |
| 모니터링 | 건강 점검 쿼리가 의미 있는 결과 반환 | ☐ |
코스 리뷰: AI 데이터베이스 툴킷
8개 레슨에 걸쳐 구축한 것:
| 스킬 | 레슨 | 이제 할 수 있는 것 |
|---|---|---|
| SQL 작성 | 2 | 자연어를 스키마 우선 패턴으로 정확한 쿼리로 변환 |
| 스키마 설계 | 3 | 비즈니스 요구사항에서 정규화된 스키마 설계 |
| 데이터 클리닝 | 4 | AI 생성 스크립트로 데이터셋 프로파일·클리닝·검증 |
| 최적화 | 5 | 실행 계획 읽기, 전략적 인덱스, 느린 쿼리 재작성 |
| 리포팅 | 6 | 뷰와 시간 인텔리전스로 프로덕션 수준 대시보드 구축 |
| 보안 | 7 | RBAC, 인젝션 방지, 백업·모니터링 구현 |
검증 마인드셋이 모든 것을 연결해요: AI 출력을 알려진 데이터와 항상 대조하고, 현실적 볼륨에서 테스트하고, 프로덕션 전에 검증하세요.
핵심 정리
- 완전한 DB 프로젝트는 명확한 순서를 따라요: 요구사항 → 스키마 → 데이터 → 쿼리 → 최적화 → 리포팅 → 보안
- 현실적 샘플 데이터(볼륨과 품질 이슈 포함)가 빈 테이블이 숨기는 문제를 드러내요
- 프로덕션 수준은 방어적 코딩: NULL 처리, 엣지 케이스, 동적 날짜, 명확한 별칭
- 캡스톤이 모든 스킬의 통합을 검증 — 스키마가 쿼리를 지원하고, 쿼리가 최적화되고, 리포트가 신뢰할 수 있고, 보안이 보호
- 레슨 1의 검증 마인드셋이 모든 단계에 적용: 결과 확인, 복원 테스트, 권한 검증
- AI 데이터베이스 툴킷이 모든 단계에서 속도를 극적으로 높이고, 여러분의 판단이 결과를 신뢰할 수 있게 해요
이 코스를 완료하신 것을 축하해요. 자연어 쿼리부터 프로덕션 시스템까지, AI와 함께하는 체계적인 데이터베이스 작업 접근법을 갖추셨어요.
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!