피드로 돌아가기
Dev.toDatabase
원문 읽기
Simple MySQL example for E-commice
E-커머스 플랫폼을 위해 8개 테이블(role, user, producer, category, product, address, order, order_item)로 구성된 MySQL 스키마 설계
AI 요약
Technical Solution
- Role 테이블 도입: admin, customer, staff, vendor 4가지 역할을 정의하고 user 테이블의 외래키로 연결
- User-Producer 일대일 관계 구현: user_id에 UNIQUE 제약을 설정하여 한 사용자당 최대 1개의 producer 레코드만 허용
- Product 다중 외래키 구조: producer_id와 category_id를 통해 생산자와 카테고리에 연결하고 stock_qty, is_organic, is_available 속성 포함
- Address 다중 주소 관리: user_id 외래키로 사용자당 여러 주소 저장 가능하며 is_default 필드로 기본 배송지 지정
- Order 상태 관리: ENUM 타입으로 pending, confirmed, processing, shipped, delivered, cancelled 6가지 상태와 payment_status(unpaid, paid, refunded) 2가지 상태를 분리
- Order-OrderItem 정규화: order 테이블과 order_item 테이블을 분리하여 주문당 여러 상품 저장 가능
실천 포인트
E-커머스 플랫폼 개발 시 이 스키마 구조를 참고하여 역할 기반 접근 제어, 생산자-상품 계층 구조, 주문-주문항목 정규화 패턴을 적용하면 멀티테넌트 환경과 복잡한 주문 처리 로직을 체계적으로 관리할 수 있다.