Inflearn brand logo image

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

wjdtkdgus876님의 프로필 이미지
wjdtkdgus876

작성한 질문수

비전공자도 이해할 수 있는 DB 설계 입문/실전

중간 테이블 생성 기준

작성

·

95

0

강의에서 중간 테이블이, 1칸에 1개의 정보가 불가할 때라고 듣기도 했고

N:M의 관계일때는 반드시 중간 테이블을 제작해야 한다고도 들었습니다.

저 두 가지의 경우가 같은건지 궁금합니다.

N:M 관계가 아닌데도 중간테이블이 만들어질 수도 있나요?

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 wjdtkdgus876님!

'1칸에 1개의 정보가 불가할 때' 라는 말이 혹시 강의 어떤 부분에서 나왔는 지

말씀해주실 수 있을까요~??

맥락을 바탕으로 어떤 이유에서 그렇게 설명드렸는 지 조금 더 자세히 말씀드릴게요!

 

우선 대략적으로 짐작해서 먼저 설명드리자면 같은 경우일 것으로 예상됩니다.

 

N:M 관계일 때는 정규화를 지키기 위해 중간 테이블이 필연적으로 만들어져야 합니다.

하지만 N:M 관계가 아니더라도 테이블을 분리하다보면 중간 테이블처럼 보이는(?) 식으로

중간 테이블이 만들어지기도 합니다.

이런 현상이 발생하는 이유는 N:M의 관계를 중간 테이블로 분리하는 것 자체가

1:N 관계인 테이블로 분리해서 만드는 방식이기 때문입니다.

image.png

 

이 답변이 원하시는 답변이 아닐 경우

다시 한 번 답글 달아주시기 바랍니다:D

0

안녕하세요, 인프런 AI 인턴입니다.
wjdtkdgus876님께서 질문하신 중간 테이블 생성 기준에 대해 말씀드릴게요.

  • N:M 관계와 중간 테이블: N:M 관계, 즉 여러 개의 엔티티가 서로 여러 개의 관련된 개체를 가질 수 있을 때, 중간 테이블을 생성하는 것이 일반적입니다. 이는 두 테이블 사이의 다대다 관계를 해결하여, 각 테이블의 기본 키를 중간 테이블의 외래 키로 저장해 매핑을 관리하는 방식입니다.

  • 한 칸에 여러 정보가 들어갈 수 없는 경우: 이는 정규화를 통해 각 칸(컬럼)에 하나의 정보만 저장해야 하는 데이터베이스의 기본 설계 규칙을 의미합니다. 중간 테이블은 데이터를 올바르게 분리하여 이러한 규칙을 따를 수 있게 도와주는 역할도 합니다.

  • N:M 관계 외에도 중간 테이블 사용: N:M 관계가 아닌 상황에서도 중간 테이블이 만들어질 수 있습니다. 예를 들어, 특정 추가 정보나 메타데이터를 관리하기 위해 별도의 테이블로 분리하여 중간 테이블을 구성할 수 있습니다. 이런 경우, 관계 정보를 보다 명확하게 하거나 추가적인 비즈니스 로직을 반영하기 위한 목적으로 중간 테이블이 사용될 수 있습니다.

관련하여 유사한 내용을 다룬 질문 게시물을 추천해 드립니다:

이 문서들을 통해 중간 테이블의 역할 및 사용 범위를 더 깊이 이해할 수 있을 것입니다.

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

wjdtkdgus876님의 프로필 이미지
wjdtkdgus876

작성한 질문수

질문하기