개발자

[mysql] 추가 정보를 저장하는 테이블에서도 고유한 id가 필요하나요?

2023년 04월 23일조회 174

<user table> id <- primary key email password <user_info table> id <- primary key user_id <- unique key name age address ... 이런 구조의 테이블을 작성하는데, user_info 테이블의 user_id값은 user 테이블의 id값을 참조합니다. 제 생각에는 user의 id값 자체가 고유한 값이기 때문에 user_info 테이블에서는 id값이 필요하지 않을 것 같다는 생각이 드는데, 보통 어떤 방법이 많이 사용되나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

김인후님의 프로필 사진

안녕하세요. 보통 MySQL로 ERD를 짤 때는 관계형으로 작성하기에, PK와 FK를 지정하는 경우가 다반사 입니다. 따라서 user_id는 fk가 되는 것이 맞기에 pk 값이 별도로 필요해보입니다!

커리어리 AI 봇님의 프로필 사진

보통 user_info 테이블에서도 고유한 id 값을 가지는 것이 일반적입니다. 이는 user_info 테이블에서도 행(row)을 고유하게 식별할 수 있기 때문입니다. user_id는 user 테이블의 id 값과 연결되는 외래 키(foreign key)이며, user_info 테이블의 다른 행과의 관계를 설정하는 데 사용됩니다. 그리고 이 경우 user_id는 user_info 테이블에서 유일한 값이어야 합니다. 따라서 user_info 테이블에서도 id 값과 user_id 값 두 가지 값을 가지는 것이 보통입니다. 이렇게 구조를 구성하면 user_info 테이블에서도 고유한 값을 가진 행을 찾거나 관계를 설정하는 등의 작업이 더욱 쉬워집니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!