inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

3

shim9597

작성한 질문수 1

0

안녕하세요 우선 값진 강의 만들어주셔서 감사드립니다. 취준을 하며 개인 프로젝트를 진행 중인데, 고민 해오던 부분들에 많은 도움이 되었습니다.

 

강의를 완강하고, 학습한 내용들을 바탕으로 이전에 진행했던 프로젝트의 DB를 재검토하고 재설계 해보고 있습니다.

구글링, 해당 게시판에 올라온 이전 질문들 참고하고 ai와 대화를 하고도 완전하게 확신이 서지 않는 부분이 있어서 질문드립니다.


우선 제가 만들고 있는 서비스는 "좌석이 있는 공연 예매 시스템" 입니다.

공연 데이터 생성시 해당 공연의 좌석들이 함께 생성됩니다. 즉 특정 공연의 특정 좌석들이 고유하게 생성됩니다.

그리고 사용자는 좌석을 다중 선택하여 선점하고 예매할 수 있습니다.


(예매 - 좌석) 관계는 (1:N) 입니다.

그래서 기존 DB 에서는 N 쪽인 좌석이 예매 id 를 fk 로 들고 있는 간단한 형태로 진행하였습니다.

 

그런데 강의 중 다대다(M:N) 관계 부분에서 연결 테이블의 본질이 관계 자체를 하나의 독립된 데이터로 보고, 그것을 테이블로 모델링 하는 것 이라는 내용을 접하고,

비록 1:N 관계이지만, 예매 - 좌석 관계가 엔티티로 승격될만 한가에 대한 고민을 했습니다.

 

(강의에서 예시로 사용된 주문 - 주문상품 - 상품 을 보며, 좌석을 수량이 단 하나뿐인 상품이라고 생각한다면 예매 - 예매좌석 - 좌석 형태가 비슷하다고 생각했습니다.)

 

이유가 충분하다면 실무에서도 N:M 관계에서 뿐만 아니라 1:N 관계에서도 중간테이블 (연관엔티티)를 두는 설계를 실제로 하는지, 현재 상황에서도 (질문이 너무 길어지고 복잡해질까봐 제가 판단한 이유들을 설명드리진 않았지만) 연관관계 엔티티를 두는 것이 타당한 판단일지 고견 여쭈어봅니다.

 

긴 질문 읽어주셔서 감사합니다!

sql mysql dbms/rdbms 소프트웨어-설계 SQLD

답변 0

일대일 fk 위치

0

32

1

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

0

57

3

BCNF 질문

0

64

2

연관 엔티티 네이밍 규칙

0

45

1

진짜 강의 듣는거 너무 고문

0

131

1

28강 sql 파일 어딨나여?

0

80

1

2NF의 엄밀한 정의

0

70

1

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

0

112

3

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

0

96

2

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

0

82

2

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

1

100

2

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

0

78

1

슈퍼/서브 타입 joined 전략

0

68

2

created_at 관련 구현과 DB ENUM에 대해

0

68

1

M:N 관계의 연관 엔티티 설계 순서

0

71

2

데이터 역사성 훼손 문제

0

64

2

실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.

0

80

1

구글이 이메일 변경을 허용하는 이유

0

121

1

order_item 테이블 (order_id, product_id) 유니크 제약조건 누락

0

99

2

BCNF 정규화에 대한 질문

0

119

2

주문, 결제 엔티티의 분류

1

120

1

실무에서의 복수 항목에 대한 관리 방법이 궁금합니다.

0

90

1

역할 및 발생 시점에 따른 엔티티 분류

0

85

1

대리키의 외부 노출에 대한 질문을 하고 싶습니다.

0

106

2