강의

멘토링

로드맵

Inflearn brand logo image

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

딩띵님의 프로필 이미지
딩띵

작성한 질문수

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

3-10. 실제 예시 코드로 작성하기 -2

테이블 의존 질문입니다

작성

·

22

·

수정됨

0

안녕하세요 딩코딩코님

28. 3-10. 실제 예시 코드로 작성하기 -2 강의 16:30초에서 order_items가ch3_improved_orders 에 의존하도록 구조가 변경이 되어야 할 것이라고 하셨는데

ch3_improved_orders가 items를 통해 데이터가 생성이 되는것이므로 ch3_improved_orders 가 items에 의존 되는것이 아닌가요??

items가 왜 ordrs에 의존인건지 이해가 가지 않습니다 ㅜㅜ..

답변 2

0

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

안녕하세요 딩띵님!

 

아하 생각해보니 두가지 의존성이 있는 것 같습니다!

  1. improved_orders의 total_items 칼럼을 생성하기 위해서 order_items 를 전부 조회해야 하기 때문에 improved_orders -> items 에 대한 의존 필요

  2. order_items 와 improved_orders를 조인하기 위해서 order_items에 order_id 가 있어야 하므로, order_items -> improved_orders 에 대한 의존 필요

 

저는 여기서 2번에 대한 의존을 말한 거였는데, 1번에 대한 의존성도 존재하기 때문에 서로에게 의존성이 존재하는 구조라고도 볼 수 있을 것 같습니다!

저는 요렇게 이해했는데 딩띵님이 질문하신 의도가 이게 맞을까요?_?

딩띵님의 프로필 이미지
딩띵
질문자

안녕하세요 딩코님


전체 갯수를 조회할 때는 order_items.order_id를 이용해서 improved_orders와 조인을 해야 하므로 order_items → improved_orders 의존이라고 이해했습니다. 제 이해가 맞을까요?

improved_orders는 order_items의 집계 결과를 저장한 것이기 때문에 데이터 의존성 관점에서는 improved_orders → order_items 방향이라고 생각되어서 헷갈립니다..

0

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

질문 주신 부분에서는 데이터베이스 테이블 간의 의존성 문제를 다루고 계시군요. 흔히 테이블 설계 시, 주요 테이블과 부가적 데이터를 저장하는 테이블 간의 관계를 어떻게 설정할 것인지 고민할 수 있습니다.

의존 관계의 이해:

  1. 주문과 주문 항목의 관계:

    • 일반적으로, order_items 테이블은 각 주문(orders)에 대해 여러 개의 아이템을 저장합니다. 즉, 하나의 주문은 여러 개의 주문 항목으로 구성되죠.
    • 이러한 구조에서 order_itemsorders에 의존한다는 것은, order_items 테이블이 orders 테이블에 있는 order_id를 참조하여 각 항목이 어떤 주문에 속하는지를 구분한다는 의미입니다.
  2. 데이터 흐름:

    • 주문(orders)이 있기에 그 주문과 관련된 항목들(order_items)이 있는 식입니다. 따라서 order_itemsorders를 참조(의존)하는 구조가 흔히 사용됩니다.
    • 이것은 마치 부모-자식 관계처럼, 부모(orders)가 없는 자식(order_items)은 존재할 수 없음으로 이해할 수 있습니다.

이러한 관계는 데이터 무결성을 유지하면서 데이터베이스의 효율성을 높이는 데 도움이 됩니다.

혹시 더 구체적인 사항이나 다른 예시가 필요하시면, 다음의 질문 및 답변 게시글에서 유사한 논의가 된 적이 있으니 참고하세요:
- 질문 제목: 데이터베이스 테이블 간의 관계 설정

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

딩띵님의 프로필 이미지
딩띵

작성한 질문수

질문하기