배경
coupon-DB는 쿠폰 시스템의 기초 데이터베이스 환경을 제공하며, 카카오 쇼핑 서비스와의 연동을 위해 필요한 데이터와 구조를 준비한다. 이를 통해 쿠폰 발급 및 관리 기능이 원활하게 동작할 수 있도록 지원한다. 쿠폰 시스템의 데이터베이스를 초기화하고 카카오 쇼핑 서비스와의 연결을 위해 상품, 옵션, 주문 데이터를 준비하였다. 데이터 저장 시 한글 인코딩 문제를 방지하기 위해 utf8mb4 설정을 적용한다.
coupon-DB
구조 및 구현
coupon-project/
├── coupon-DB/
│ ├── backup
│ │ ├── 05-user30000.sql
│ │ ├── coupon.sql
│ │ └── shop.sql
│ ├── init-scripts
│ │ ├── 01-schema.sql
│ │ ├── 02-user.sql
│ │ ├── 03-coupon.sql
│ │ └── 04-product.sql
│ └── docker-compose.yml // 개별 도커컴포즈
Java
복사
파일명 | 역할 및 내용 |
01-schema.sql | 데이터베이스 스키마를 정의하고, 각종 테이블(유저, 쿠폰, 발급 내역 등) 생성 |
02-user.sql | 초기 사용자 데이터 삽입 및 사용자 테이블 상태 확인 |
03-coupon.sql | 쿠폰 정책에 대한 기본 쿠폰 데이터를 삽입 |
04-product.sql | 제품, 옵션, 장바구니 및 주문 관련 데이터를 초기화하여 시스템에 입력 |
05-user30000.sql | 3만 개의 사용자 계정을 대량으로 생성하는 프로시저 구현 및 실행 |
소스코드
01-schema.sql
02-user.sql
03-coupon.sql
04-product.sql
05-user30000.sql
결론
해당 SQL 스크립트는 쿠폰 발급 시스템의 기초 인프라를 구성한다. 사용자 데이터, 쿠폰 정책, 제품 및 주문 데이터를 효율적으로 정의하고, 대량의 사용자 데이터를 생성함으로써 대규모 트래픽 환경에서의 성능 검증이 가능하다. 각 테이블 간의 관계를 참조 무결성으로 관리하여 데이터 안정성과 일관성을 유지한다.
Q&A
Q. 스크립트 앞에 숫자가 있는 이유는?
Q. 05-user30000.sql 스크립트는 왜 bakcup 에 있나요?
Related Posts
Search