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

인프러너님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

테이블 생성할 때 문의드립니다.

21.12.07 00:23 작성

·

402

0

테이블을 생성할 때 설명중 객체는 타입이 있어서 명확하게 member.id를 구분할 수 있는데 테이블에서는 구분하기가 어렵고 조인등의 쿼리를 짤 때도 불편하다고 해서 member_id로 잡아주신다고 하셨는데..

이런 내용이 PK나 FK 에만 해당이 되는건지 궁금합니다.

 

예를들어 member라는 테이블에
member_id, name이라는 필드가 있고, 

item이라는 테이블에도 
item_id, name이라는 필드가 있을경우 

name이라는 필드명이 겹치는데 
이럴 경우에는 테이블 구조를 짤 때 그냥 name으로만 하시는지 아니면 member_name, item_name으로 하시는지 궁금합니다.

강의를 쭉~~ 들으면서 드는 생각은 PK, FK와 관계되는것들(다른 테이블과 직접적인 연관관계를 맺고있기 때문에)만 구분을 하기 위해서 member_id, item_id로 만드는 것 같은데 제가 이해한대로 실무에 적용을 해도 문제가 없는지 궁금합니다.

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

2021. 12. 08. 23:16

안녕하세요. 아버지님

이 부분은 정답은 없지만 제가 선호하는 방법은 PK, FK에는 테이블명_를 사용합니다.

보통 PK와 FK 이름을 같이 맞추어야 하는데, 하나의 테이블에 PK, FK가 같이 있을 때 둘다 이름이 id라고 하면 문제가 될 수 있으니까요.

나머지 부분은 해당 테이블에만 존재하므로 크게 상관이 없습니다.

감사합니다.