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

Inflearn Community Q&A

sglim940000853's profile image
sglim940000853

asked

Database Intermediate (Modeling)

M:N relationship

1:M 과 M:N 선택 질문

Resolved

Written on

·

349

0

안녕하세요. 강사님. 수업 잘 듣고 있습니다.

제가 고민하던 부분과 연결시키면서 수업 듣고 있었는데 아직 고민이 되어 의견을 여쭤보고 싶어 질문 드립니다.

상품 테이블은 이미 있고 그 상품을 검색하는 해시태그(#) 검색 기능을 추가하기 위한 테이블 추가가 필요합니다.

기능은 

1) 해시태그로 해당 해시태그가 등록된 상품을 검색 가능해야 합니다.

2) 상품별 해시태그도 알 수 있어야 합니다. 

테이블 구성이 1:M 과 M:N 중에 고민이 됩니다. 

상품과 태그는 1:M 수업에서 예로 들어주셨던 책-목차 처럼 '상품별 태그' 로 표현 가능하고 선천적으로 부모 자식 관계 같기도 하면서,

비지니스 관계처럼 '태그로 상품을 검색한다.' 가 표현이 됩니다.

하나의 상품이 여러 해시태그를 가질 수 있고, 하나의 해시태그도 여러 상품에 해당될 수 있으니 M:N 이 더 맞다고 생각이 들고 이렇게 진행하려는데 

1:M 도 가능하지 않나 라는 의문이 남아서요.

1 테이블이 상품 테이블이면 M 테이블에서 컬럼을 상품ID(FK,PK), 해시태그(PK) 두개로 하면 기능적으로 다 가능합니다.

이런 경우는 1:M, M:N 중에 어떤 것이 더 나은 방향인지를 선택하는 기준이 있을까요?

 

DBMS/RDBMS데이터 엔지니어링

Answer 2

0

sglim940000853님의 프로필 이미지
sglim940000853
Questioner

네. 1:M 과 M:N 이 두가지 다 가능할 때는 비지니스 관계로 관리할 만한 가치가 있는 기능인지의 판단이 필요하다는 말씀이시지요?
계속 고민했는데 명확하게 답이 되었습니다. 감사합니다. 

0

kjlee님의 프로필 이미지
kjlee
Instructor

1:M과 M:N은 차이가 많아요.M:N은 관계테이블을 갖죠. 저는 그것을 비즈니스 관계라고 말해요.비즈니스는 그. 테이블이 무언가를 한다는. 의미예요. 해시태그를 보면 1:M관계로 충분히 사용가능자죠. 그걸 M:N관계로 만들어도 돌아는 가지만 관계테이블이 하는 일이 없어요. M:N은 관리가 힘든데 그렇게 노력한 대가가 없어보입니다.

따라서 1:M으로 되는 경 우, 궂이 M:N으로 일을 키울 필요는 없습니다

sglim940000853's profile image
sglim940000853

asked

Ask a question