Nothing close enough? Start from a blank erd → Describe it in one paragraph.
How to use an erd template.
- 01User 및 Product 엔터티 정의
User(user_id, email, name, address)와 Product(product_id, name, description, price, stock)부터 시작하세요. 이 두 엔터티는 모든 전자상거래 스키마의 중심입니다.
- 02Order와 OrderItems 관계 모델링
Order를 User와 연결하고(한 사용자가 여러 주문 보유), Order와 Product 사이에 연결 테이블인 OrderItems를 만드세요. OrderItems에는 구매 당시의 수량과 단가를 저장합니다.
- 03Cart와 CartItems 추가
Cart를 User와 연결된 임시 주문 엔터티로 모델링하고, CartItems가 Cart와 Product를 연결하도록 구성하세요. 장바구니에서 주문으로 전환되는 흐름도 반드시 표현해야 합니다.
- 04Payment와 Shipping 포함
Order에 연결된 Payment(payment_method, status, amount, transaction_id)와 Shipping(carrier, tracking_number, estimated_delivery, status)을 추가해 전체 거래 흐름을 완성하세요.
- 05Reviews와 Discounts로 확장
Review 엔터티(user_id FK, product_id FK, rating, text, date)와 Discount 또는 Coupon 엔터티(code, discount_type, amount, expiry)를 추가해 완전한 커머스 플랫폼을 모델링하세요.
Questions about erd templates
전자상거래 데이터베이스의 핵심 엔터티는 무엇인가요?
핵심 엔터티는 User, Product, Order, OrderItems(연결 엔터티), Cart, CartItems, Payment, ShippingAddress입니다. 확장 엔터티로는 ProductVariant, Review, Category, Discount, Inventory를 추가할 수 있습니다.
ER 다이어그램에서 상품 변형(size, color)은 어떻게 모델링하나요?
Product와 연결되는 ProductVariant 엔터티를 만들고, 각 변형 기준(size, color, SKU, stock_qty, price_modifier)에 대한 속성을 추가하세요. 그런 다음 OrderItems와 CartItems가 Product가 아니라 ProductVariant를 참조하도록 구성합니다.
Cart와 Order는 별도 엔터티로 만들어야 하나요?
대부분의 설계에서는 분리하는 것이 좋습니다. Cart는 버려지거나 수정·만료될 수 있는 임시 데이터인 반면, Order는 영구적인 거래 기록입니다. 분리하면 장바구니 이탈률을 분석하고 주문 이력의 무결성을 유지하기 쉽습니다.
사용자별 여러 배송 주소는 어떻게 처리하나요?
User와 연결되는 별도의 Address 엔터티를 만드세요(한 사용자가 여러 주소 보유). 그런 다음 Order가 shipping_address_id 외래 키로 Address를 참조하도록 구성하면, 사용자가 이후 프로필을 수정해도 구매 당시 주소가 보존됩니다.
전자상거래 스키마에서 할인 코드는 어떻게 모델링하나요?
Discount 엔터티(code, type: percentage/fixed, value, min_order_amount, expiry, max_uses)를 만드세요. applied_discount_id FK를 통해 Order와 연결하면 결제 시 각 주문에 적용된 할인 정보를 기록할 수 있습니다.