• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

1:M 과 M:N 선택 질문

22.07.03 23:58 작성 조회수 237

0

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

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

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

기능은 

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

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

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

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

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

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

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

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

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

 

답변 2

·

답변을 작성해보세요.

0

임승경님의 프로필

임승경

질문자

2022.07.04

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

0

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

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