inflearn logo
강의

講義

知識共有

AI時代にも生き残るエンジニアの条件、米国ビッグテックのシステムデザイン・アルゴリズム思考・オープンソース実務の完成

映画DVDレンタルシステムのデータベーススキーマ設計

영화 DVD 대여 시스템 데이터베이스 스키마 설계에 대한 질문입니다.

解決済みの質問

249

zextor

投稿した質問数 3

1

안녕하세요

3.1 영화 DVD 대여 시스템 데이터베이스 스키마 설계 에 대해 질문이 있는데요.

rentals table 에 items_id 가 컬럼으로 추가되어 있습니다. 그런데 생각에 items table 레코드 보다 실제 하는 객체인 inventory table id 가 들어가야 할 것 같아서요.

어떤 차이점이 있는지 설명을 부탁드립니다.

소프트웨어-설계 시스템-디자인

回答 2

0

americasnail

혼란을 드려 죄송합니다. 좋은 질문입니다.

먼저 Rentals 테이블에 items_id가 컬럼으로 추가된 이유는, 개별 재고 관리는 강의 설계 범위에서 제외되었기 때문이며, 검색 성능을 향상시키기 위해 이 컬럼에 인덱스를 적용하기 위함입니다.

items_id를 컬럼으로 추가하면 어떤 고객이 어떤 종류의 아이템을 대여했는지 알 수 있지만, 개별 재고 관리까지는 추적하지 않습니다.

하지만 개별 아이템의 상태 및 재고 관리가 필요하다면 inventory 테이블의 idinventory_id를 사용하는 것이 좋습니다. 이를 통해 각 개별 아이템 재고를 추적하고 관리할 수 있습니다.

따라서 두 설계 모두 맞지만, 추후 어떤 기능과 범위로 시스템을 설계할지에 따라 선택이 달라질 수 있습니다. 질문자님의 생각도 맞습니다 🙂

1

zextor

안녕하세요.

인덱싱에 포커스를 맞춘 설계로 봐야하군요

끝까지 열심히 시청하겠습니다!

빠른 답변 감사드립니다~!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김태훈님께서 질문해 주신 부분과 관련하여 데이터베이스 스키마 설계에 대해 개념적으로 이해하기 쉬운 몇 가지 접근 방식을 공유드리고자 합니다.

데이터베이스 스키마 설계 - Items Table vs Inventory Table

  1. Items Table은 일반적으로 제품이나 아이템의 ‘타입’ 또는 ‘분류’에 관한 정보를 갖고 있습니다. 예를 들어, 한 영화의 제목, 감독, 장르 등 영화 자체의 속성과 관련된 정보가 여기 저장됩니다. 같은 영화 DVD가 여러 장이 있을 경우, 그 모든 장은 동일한 ‘타입’을 공유할 것입니다.

  2. Inventory Table은 실제 개별 DVD의 정보를 연결하는 테이블입니다. 여기서는 각 아이템의 물리적인 재고, 즉 개별 DVD에 대한 ID, 상태(대여 가능, 수리 중, 대여 중 등), 위치 등을 관리합니다. 이 테이블을 통해 각 DVD 개별적으로 추적할 수 있습니다.

그러므로, Rentals 테이블에 들어가야 할 것은 실제로 대여된 ‘개별’ DVD를 추적하기 위한 것입니다. 따라서, Rentals 테이블에 inventory_id를 사용해야 각 대여가 실제로 어떤 DVD에 해당하는지를 명확히 할 수 있습니다. 이는 대여 내역에서 특정 DVD의 대여 기록을 추적할 때 매우 유용합니다.

추가 리소스

비슷한 주제의 질문을 통해 더 많은 정보를 얻을 수 있는 리소스를 추천드립니다.

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 강사님께서 곧 답변해 주실 것입니다.

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

0

zextor

안녕하세요

상세한 설명 감사드립니다. 인턴님!

실제로 이해하는데 많은 도움이 되었습니다.

감사합니다!!

특별 학습 자료 프로모션 1년 멤버십 제공 관련 문의 드립니다.

0

56

2

simcached를 검색을 했을때 해당 자료가 나오지 않는데 혹시 MemcachedGPU 라고 불리는 기술을 말씀하시는건가요?

0

56

1

유튜브 예제에서 흐름 관련 질문있습니다

0

47

2

Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.

0

73

1

특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법

0

83

2

[위치 이름 기반으로 호텔을 조회하는 메서드] 코드 질문 드립니다.

0

49

2

14강. 영화 DVD 대여 시스템 데이터베이스 스키마 설계에서 Inventory 테이블 질문있습니다.

0

83

2

Matching Service의 MQ 필요성, Cassandra의 필요성, Cassandara - RDB 동기화

0

88

2

Imgur 이미지 호스팅 서비스 질문

0

83

2

쿠폰 문의

0

83

1

Redis 랜덤 값 추가 시 메타데이터 저장

0

86

1

Blob Storage에서 파일 업로드에 대한 동시성을 어떻게 제어할 수 있을까요?

0

106

2

채팅을 영속할 DB로 RDB를 선택한 이유도 궁금합니다

0

269

2

URL 단축 서비스에서 redis counter를 사용하는 이유가 무엇인지 궁금합니다.

0

213

2

long url을 파티션키로 지정했을때 장점이 생각 안나네요 ㅎㅎ;;

0

135

2

실제 인터뷰에서도 Object Oriented Design 을 이런 과정으로 하는걸까요?

0

161

1

able to get all students who got a "d+" grade or lower 요구사항

0

115

1

number of copies 컬럼은 Inventory Table에 들어가야하지않을까요?

0

171

3

Spotify 서비스 시스템 디자인 및 스케일링에서 백업 클러스터 사용에 대한 문의

0

93

2

URL 단축 서비스 시스템 디자인 및 스케일링 질문있습니다.

0

187

2

예시 두개가 납득이 잘 가지않네요 ㅠㅠ

1

201

2

강의자료는 제공 불가능할까요?

0

218

1

General Service 서비스 컴포넌트 관련 질문있습니다!

1

182

2

메세지 큐 예제 2번 질문있습니다!!

0

308

2