인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

11 1님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 DB 설계 입문/실전

[실습] 요구사항을 보고 DB 설계해보기 - JSCODE 쇼핑몰 (2)

주문 정보 : 배송 정보의 관계에 대해 질문드립니다.

해결된 질문

작성

·

35

0

주문할 때마다 배송 정보를 새로 입력하기 때문에 주문 정보 : 배송 정보 = 1 : 1인 건 이해했습니다.

 

그런데 만약 주문할 때마다 배송 정보를 기본적으로 새로 입력하기는 하지만, 이전에 사용했었던 배송지를 다시 불러오는 기능이 있고, 기본 배송지를 설정하는 기능도 있다고 하면

이런 경우에도 여전히 1 : 1이라고 생각하면 될까요? 관계는 동일하고 불러오거나 기본 배송지 기능은 그냥 코드로 구현하면 되는 걸까요?

답변 2

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 11 1님! 질문 잘 주셨습니다ㅎㅎㅎ

 

이전에 사용했었던 배송지를 다시 불러오는 기능을 구현하려면

이전에 사용했었던 배송지를 저장해두어야 할 겁니다.

그런데 그 배송지 정보들은 배송 정보 테이블에 저장이 되어있기 때문에 불러오실 수 있을겁니다.

하지만 기본 배송지 정보는 배송 정보 테이블과는 별도로 새로운 테이블이 하나 더 있어야 할 것 같습니다.

또는 기본 배송지 정보를 사용자 테이블에 저장하는 것도 방법이겠네요.

 

따라서 이전에 사용했었던 배송지를 다시 불러오는 기능이나,

기본 배송지를 설정하는 기능을 구현한다고 하더라도

주문 정보 : 배송 정보는 1:1 관계임이 그대로 유지됩니다:)

 

여기서 이해 안 되시는 점 있으시면 또 질문 남겨주세요~~

11 1님의 프로필 이미지
11 1
질문자

이해됐습니다. 감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 11 1님 질문 주셔서 감사합니다.

주문 정보와 배송 정보 사이의 관계에 대해 설명드리겠습니다.

기본적으로 주문 정보와 배송 정보가 1:1 관계라고 가정한 것은 사용자가 주문할 때마다 새로운 배송 정보를 입력하는 경우입니다. 그러나 이전에 사용했던 배송지를 다시 선택하거나 기본 배송지를 설정할 수 있는 기능이 있다면, 데이터베이스 설계에서 이를 반영할 수 있는 구조가 필요할 수도 있습니다.

  1. 냉정하게 봤을 때, 여전히 1:1 관계로 볼 수 있는지 여부:

    • 배송지가 주문과 직접적으로 연결되어 있는 경우, 그리고 배송지를 변경할 수 있지만 실제 저장된 배송지는 한 주문에 하나로만 연결되는 경우에는 1:1 관계가 유지됩니다.
  2. 이전 배송지를 불러오거나 기본 배송지 설정 기능 구현:

    • 이러한 기능들은 대부분 데이터베이스에서 별도의 테이블로 관리됩니다. 예를 들어, 사용자의 주소 정보가 저장된 별도의 테이블이 있다면, 해당 테이블에서 데이터를 불러와 각 주문에 첨부하는 방식이 가능합니다. 이 방법을 사용하면 사용자의 배송지를 여러 주소 중에서 선택하게 할 수 있고, 반복된 주소 입력을 줄일 수 있습니다.
    • 기본 배송지의 경우, 사용자의 주소 중 특정 주소를 ‘기본’으로 설정하여, 주문 시 해당 주소를 자동으로 선택하도록 로직을 구현할 수 있습니다.

저희가 추천드리는 것은, 다양한 사용 사례와 데이터의 흐름을 고려하여 데이터베이스의 관계를 설정하고, 코드 레벨에서 이를 실제 기능으로 구현하는 것입니다.

유사한 이슈나 고민을 다룬 게시물 링크를 확인해보세요:
- 주문과 배송지 관리 관계에 대한 논의

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

11 1님의 프로필 이미지

작성한 질문수

질문하기