• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

테이블 관계 질문한가지 있습니다!

23.04.20 02:59 작성 23.04.20 03:01 수정 조회수 284

0

안녕하세요. 강좌를 바탕으로 개인적으로 토이 프로젝트를 만들어보려고 하고있는데요.

지도에 마커로 위치를 표시할수 있고, 마커 하나당 게시글 하나를 포함합니다. 게시글에는 제목, 설명, 사진이 들어갑니다.

 

프론트에서 지도화면에서는 마커들을 표시하고 마커 하나를 눌렀을때 해당하는 게시글과 사진을 보여주고 싶습니다.

 

마커 테이블과 게시글 테이블을 만들어서 one to one 관계가 좋을까요, 아니면 이런경우 하나의 테이블에 마커와 게시글 정보를 넣으면 될까요?

 

chatGPT를 사용해봤는데 답변이 두가지입니다.

  1. Marker와 Post 테이블 간에 일대일 (one-to-one) 관계를 설정하는것이 좋다. Marker와 Post 테이블을 조인하여 필요한 정보를 가져올 수 있다.

  2. 하나의 테이블에 마커와 게시글 정보를 함께 저장하고, 해당 정보를 조회할 때는 필요한 컬럼들만 선택하여 조회하는 것이 좋다. 마커 정보와 게시글 정보가 함께 저장되므로, 마커를 클릭하여 게시글 정보를 조회할 때 JOIN 연산이 필요하지 않아 성능상 이점이 있다.

     

테이블 구조를 어떻게 짜는것이 맞는것인가요? 그리고 테이블 구조 짜는것이 어려운데 이런것을 판단하기 위해 어떻게 학습하면 좋을까요?

 

답변 1

답변을 작성해보세요.

1

실제로 둘 다 가능한데요. 원론적으로는 보통 1대1 관계를 만드는 경우는 null 값이 들어가는 컬럼이 만들어질 가능성이 있을 때 나눕니다. null컬럼이 만들어지지 않는다면 테이블 하나로 가면 좋습니다.

Kyo님의 프로필

Kyo

2023.04.20

감사합니다.