채널톡 아이콘

정규화는 아는데 주문·환불·정산 테이블은 막막하다면 — 요구사항 1/38에서 38/38까지, 커머스 데이터 모델링 실전

DB 설계 원칙은 배웠는데, 주문·환불·정산은 어떻게 테이블로 만들죠? 주문 하나가 결제·부분 취소·반품·환불·정산까지 흘러가도록 스키마를 41단계로 바꾸며 요구사항 38개를 하나씩 통과시킵니다.

1명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

수강 후 이런걸 얻을 수 있어요

  • 가격·옵션·공급사·수수료율이 바뀌어도 지난 주문과 정산이 바뀌지 않도록 스냅샷 칸을 설계합니다.

  • 주문 1 : 결제 N, 부분 취소, 멱등키, 결제대행사 대사로 결제 기록을 맞춥니다.

  • 취소·반품·교환을 클레임과 클레임 항목으로 모델링하고 상태 전이 규칙을 데이터로 강제합니다.

  • 쿠폰 할인과 적립금을 상품별로 안분하고 끝전 규칙을 정해 환불 금액의 계산 근거를 남깁니다.

  • 부분 출고·공급사 직배송·반품 회수를 한 출고 구조로 추적하고 출고 수량을 검증합니다.

  • 구매확정 기준 매출 인식, 공급사 정산, 마감 뒤 조정 행, 감사 로그를 설계합니다.

  • 금액·수량 정합성 검증 SQL 열두 가지를 매일 돌리고, 새 요구사항을 회귀 검사와 함께 스키마 변경으로 받습니다.

DB 설계 원칙은 배웠는데, 주문·환불·정산은 어떻게 테이블로 만들죠?

주문 한 건이 결제·부분 취소·반품·환불·구매확정·정산까지 흘러가도록, 가상 쇼핑몰의 스키마를 마이그레이션 41단계로 바꿔 가며 요구사항 38개를 하나씩 통과시킵니다. 모든 SQL 을 Docker MySQL 에서 직접 실행합니다.

설계 강의에서 배운 정규화를 그대로 적용하면 주문 데이터에서는 오히려 문제가 생깁니다. 상품 가격을 올렸더니 지난 주문 금액이 바뀌고, 쿠폰을 쓴 주문의 양말 한 켤레를 취소했더니 455원을 더 돌려주고, 마감한 정산서가 재계약 뒤에 다시 계산됩니다. 이 강의는 이런 장면을 매 강 실제 SQL 실행으로 먼저 보여 주고, 그 요구를 담는 스키마 변경을 단계 파일로 적용한 뒤, 요구사항 검사와 정합성 검증 SQL 로 확인합니다. 스키마 하나와 주문 하나의 이야기로 처음부터 끝까지 이어집니다.

이 강의를 마치면

  • 가격·옵션·공급사·수수료율이 바뀌어도 지난 주문과 정산이 바뀌지 않도록 스냅샷 칸을 설계합니다.

  • 주문 1 : 결제 N, 부분 취소, 멱등키, 결제대행사 대사로 결제 기록을 맞춥니다.

  • 취소·반품·교환을 클레임과 클레임 항목으로 모델링하고 상태 전이 규칙을 데이터로 강제합니다.

  • 쿠폰 할인과 적립금을 상품별로 안분하고 끝전 규칙을 정해 환불 금액의 계산 근거를 남깁니다.

  • 부분 출고·공급사 직배송·반품 회수를 한 출고 구조로 추적하고 출고 수량을 검증합니다.

  • 구매확정 기준 매출 인식, 공급사 정산, 마감 뒤 조정 행, 감사 로그를 설계합니다.

  • 금액·수량 정합성 검증 SQL 열두 가지를 매일 돌리고, 새 요구사항을 회귀 검사와 함께 스키마 변경으로 받습니다.

이런 분께 추천합니다

  • DB 설계 강의를 들었지만 주문·결제·환불·정산 테이블을 직접 설계해 본 적 없는 백엔드 개발자

  • 커머스 회사에 새로 합류해 주문 데이터 구조부터 파악해야 하는 개발자

  • 매출·환불 숫자가 왜 안 맞는지 테이블 구조로 이해하고 싶은 데이터 분석가

  • 주문·클레임 기획을 하며 데이터가 어떻게 남는지 알고 싶은 PM

커리큘럼 (7섹션 · 40강 · 약 307분)

  • 섹션 1. 시작: 주문 하나와 처음 스키마 — 완성 데모: 주문 하나가 정산까지, 5분 만의 첫 주문, 요구사항 36개와 처음 스키마, 마이그레이션 체크포인트, 주문과 주문 항목 나누기, 돈은 FLOAT에 담지 않는다

  • 섹션 2. 상품·가격·상태 — 상품·옵션·SKU, 가격 스냅샷, 옵션 이름과 추가금 스냅샷, 결제할 금액의 구성 저장, 상태는 주문이 아니라 항목에, 상태 이력: 언제 바뀌었나

  • 섹션 3. 결제 — 주문 하나, 결제 여럿, 적립금 원장, 부분 취소: 승인을 덮어쓰지 않는다, 멱등키: 두 번 눌러도 결제는 한 번, 결제대행사 대사, 결제 정합성 검증 SQL

  • 섹션 4. 클레임과 환불 — 클레임 모델: 수량을 고치지 않는다, 클레임 상태 전이표, 교환: 무엇을 무엇으로, 쿠폰 할인 안분과 455원, 적립금 안분과 끝전, 환불 테이블: 계산 근거 남기기

  • 섹션 5. 배송 — 부분 출고: 출고와 출고 항목, 공급사 직배송, 배송 이벤트와 시각, 반품 회수도 출고처럼, 반품 배송비 정책, 출고 수량 정합성

  • 섹션 6. 쿠폰과 정산 — 쿠폰 정책·발급·사용, 쿠폰 조건을 데이터로, 매출은 언제 잡나: 구매확정, 공급사 정산과 수수료율 스냅샷, 마감 뒤 반품: 조정 행

  • 섹션 7. 운영과 캡스톤 — 감사 로그, 일일 정합성 점검과 알려진 예외, 조회용 요약 테이블, 캡스톤 ①: 새 요구와 선물 주문, 캡스톤 ②: 적립금 유효기간과 전체 회귀

실습 환경

Docker 로 MySQL 8.4 를 띄우고, 가상 스포츠·아웃도어 전문몰 「루프마켓」의 스키마를 강마다 단계 파일 하나씩 바꿉니다. ./db.sh reset N 으로 어느 강에서든 그 강을 시작하는 상태로 돌아가고, ./reqs.sh 가 처리 가능한 요구사항 수를, ./verify.sh 가 금액·수량 정합성 검증 결과를 보여 줍니다. 강의 화면의 모든 숫자와 오류 메시지는 이 실습을 실제로 실행한 결과입니다.

선수 지식

  • 정규화의 기본 개념

  • SQL 조인(JOIN)과 GROUP BY

  • Docker 가 설치된 컴퓨터(실습 DB 실행용)

이 강의에서 다루지 않는 것

  • 재고 차감 동시성·락 처리

  • 쿼리 튜닝·실행계획

  • 분산 트랜잭션·메시지 큐

  • 특정 결제대행사 연동 방법

  • ORM 매핑

안내

슬라이드 내레이션은 합성 음성입니다. 모든 데이터는 교육용 가상 데이터이며, 숫자는 실행 환경에 따라 달라질 수 있습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • DB 설계 강의를 들었지만 주문·결제·환불·정산 테이블을 직접 설계해 본 적 없는 백엔드 개발자

  • 커머스 회사에 새로 합류해 주문 데이터 구조부터 파악해야 하는 개발자

  • 매출·환불 숫자가 왜 안 맞는지 테이블 구조로 이해하고 싶은 데이터 분석가

  • 주문·클레임 기획을 하며 데이터가 어떻게 남는지 알고 싶은 PM

선수 지식,
필요할까요?

  • 정규화의 기본 개념

  • SQL 조인(JOIN)과 GROUP BY

  • Docker 가 설치된 컴퓨터(실습 DB 실행용)

안녕하세요
데이터장인입니다.

커리어인증

20년 이상 데이터베이스와 IT 분야에서 경력을 쌓아온 데이터장인입니다. DBA 및 DB Platform 팀 매니저로 데이터베이스 플랫폼을 다루며, MySQL·PostgreSQL·Oracle·MongoDB와 SQL 튜닝, AWS·Terraform·Python을 전문 분야로 삼고 있습니다. 게임·금융·IT 서비스 분야의 경력을 바탕으로 데이터베이스와 클라우드 아키텍처를 설명합니다. 『오라클 실무튜닝 SQL 패턴 학습』과 『Oracle Pro*C 실무프로젝트 활용서』를 출간했으며, AWS Summit 2018·2019와 데이터야 놀자 2020에서 서버리스·데이터베이스 선택·멀티데이터베이스 전략을 발표했습니다. 최근에는 Bedrock LLM을 이용한 슬로우 쿼리 분석·튜닝 권고, DB 스펙 산정 자동화, DB 메타 MCP 서버와 Slack 봇을 통한 조회 흐름을 다루고 있습니다. 개발자를 위한 데이터베이스 자동화와 비개발자를 위한 AI 업무 활용을 각 과정의 대상과 목적에 맞는 실습으로 설명합니다. AI 제안을 그대로 적용하기보다 결과 동일성·실행 계획·관측 조건을 확인하고, 근거가 부족하면 보류하는 판단 기준을 전달합니다. 회사 운영 데이터와 인증값은 강의 자료에 포함하지 않습니다.

더보기

커리큘럼

전체

40개 ∙ (5시간 8분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

데이터장인님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩49,280

30%

₩70,400

평생교육이용권 지원 강의