35분
Day 2 실습: 이커머스 모델링
노드/관계 타입 설계 (도메인 모델링)
Day 2 실습: 이커머스 모델링
Cypher 심화 & 데이터 모델링 > 노드/관계 타입 설계 (도메인 모델링)
학습 목표
스키마 설계 및 제약조건 카테고리 계층 구현 OrderItem 패턴 적용
Day 2 실습: 이커머스 도메인 모델링
실습 목표
이커머스 플랫폼의 그래프 스키마를 설계하고 구현합니다.
비즈니스 요구사항
핵심 기능
- 상품 탐색: 카테고리별 상품 목록
- 주문 관리: 주문 생성, 상태 추적
- 리뷰 시스템: 상품 리뷰 및 평점
- 추천 시스템: "함께 구매한 상품" 추천
- VIP 분석: 우수 고객 식별
데이터 규모 (예상)
- 고객: 10만 명
- 상품: 5만 개
- 주문: 100만 건
- 리뷰: 50만 개
과제 1: 스키마 설계
다음 Object Type을 정의하세요:
1.1 고객 (Customer)
- 필수 속성: customerId, name, email, tier
- 선택 속성: phone, birthDate
1.2 상품 (Product)
- 필수 속성: productId, name, price
- 선택 속성: description, stockQuantity
1.3 주문 (Order)
- 필수 속성: orderId, orderDate, totalAmount
- 선택 속성: status, shippingAddress
1.4 주문 항목 (OrderItem) - Intermediate Node
- 필수 속성: quantity, unitPrice
1.5 카테고리 (Category)
- 필수 속성: categoryId, name
- 선택 속성: description, level
1.6 리뷰 (Review)
- 필수 속성: reviewId, rating, createdAt
- 선택 속성: text
과제 2: 관계 정의
다음 관계를 정의하세요:
| 시작 노드 | 관계 | 종료 노드 | 카디널리티 |
|---|---|---|---|
| Customer | PLACED | Order | 1:N |
| Order | CONTAINS | OrderItem | 1:N |
| OrderItem | FOR_PRODUCT | Product | N:1 |
| Product | IN_CATEGORY | Category | N:1 |
| Category | PARENT_OF | Category | 1:N (자기참조) |
| Customer | WROTE | Review | 1:N |
| Review | FOR_PRODUCT | Product | N:1 |
과제 3: 제약조건 및 인덱스
- 각 노드의 ID에 UNIQUE 제약조건
- 자주 검색하는 속성에 인덱스
- 이메일에 UNIQUE 제약조건
과제 4: 샘플 데이터 생성
- 고객 5명
- 상품 10개 (3개 카테고리)
- 주문 8건
- 리뷰 6개
에디터 로딩 중...
힌트 보기
- • 💡 IF NOT EXISTS로 중복 생성 방지
- • 💡 OrderItem은 Order와 Product 사이의 중간 노드
- • 💡 카테고리는 PARENT_OF 자기 참조로 계층 구현
정답 보기
에디터 로딩 중...