inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

속성과 식별자

쇼핑몰 주문 테이블 관련 문의

82

Rorschach

작성한 질문수 17

0

교육용이라 아직 요구사항이 명확히 없는 상태에서 테이블구조가 나오는 것 같은데 만약 하나의 주문에 여러 상품이 들어올 수 있고 각각의 상품을 취소할 수 있게 되야한다고 한다면 어떻게 변경하게 될까요?

sql mysql dbms/rdbms software-design SQLD

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Rorschach님.

쇼핑몰 주문 시스템에서 한 주문에 여러 상품이 포함되고, 각 상품에 대한 개별적인 취소가 가능해야 한다면, 다음과 같은 테이블 구조를 고려할 수 있습니다.

  1. 주문 테이블(Order Table): 기본 주문 정보를 담습니다. 주문 번호, 주문 날짜, 주문 상태(예: 진행 중, 완료, 취소), 총 주문 금액 등을 포함할 수 있습니다.

  2. 주문 상품 테이블(Order_Item Table): 주문과 다수의 상품 간의 관계를 관리합니다. 이 테이블은 각 상품에 대한 정보를 기록하고, 주문 번호와 상품 ID를 외래 키로 가질 것입니다. 이 테이블에 각 상품의 상태(예: 취소 여부, 수량, 가격)를 추가하여 각 상품의 취소 및 상태 관리가 가능하게 설계할 수 있습니다.

  3. 상품 테이블(Item Table): 개별 상품에 대한 세부 정보를 담습니다. 상품 ID, 상품명, 가격, 설명 등이 포함될 수 있습니다.

이 구조는 다대다(N:M) 관계를 적절히 해결하기 위해 중간 테이블을 사용하여, 각 상품의 개별 취소나 상태 변경을 쉽게 처리할 수 있게 해 줍니다.

관련된 기존 질문 링크는 아래와 같습니다:
- ORDERS와 ORDER_ITEM 테이블 두개가 존재하는 이유
- 테이블 설계에 대해서

해당 질문들에서는 주문과 상품 간의 관계를 어떻게 설정할지, 그리고 개별 상품의 세부 정보를 어떻게 관리할지에 대한 논의가 이루어지고 있으니 참고하시면 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

upload_file_id가 1,3,4 순서인 건에 대해

0

43

1

ordered_at, paid_at 과 같이

0

46

1

물리적 모델링 - 실습 (역정규화) 질문

0

64

2

용어 사전

0

83

2

개념적 모델링 - 실습

0

49

1

DB 설계와 JPA 관련 질문입니다

0

56

1

아주 작은 정오표 전달드립니다.

0

97

2

실제로 작은 기업에서 기획 롤

1

69

1

order_product 까마귀발

0

75

2

[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.

0

84

1

자연키 vs 대리키 실무질문

0

44

1

1:N 관계에서 중간테이블 (연관엔티티)

0

73

2

일대일 fk 위치

0

77

1

제 3 정규형 vs BCNF 정규형 차이점?

0

182

3

BCNF 질문

0

101

2

연관 엔티티 네이밍 규칙

0

70

1

진짜 강의 듣는거 너무 고문

0

175

1

28강 sql 파일 어딨나여?

0

111

1

2NF의 엄밀한 정의

0

100

1

comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.

0

189

6

학습중인 수업자료를 받아볼 수 있을까요??

0

123

2

수업자료 pdf파일관련 건의 - 제목 링크위치 개선

0

109

2

서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문

1

122

2

실무적인 설계로 접근했을 때 제 2정규형 항상 만족?

0

104

1