[DB]

[DB] 기본키가 두 개일 수 있나?

danhan 2022. 7. 7. 11:51

사용자가 추천하는 식당을 저장하는 테이블을 설계하면서 기본키를 설정할 때 문제가 생겼다.
테이블은 행을 구분할 수 있는 기본키가 필요하다. ‘사용자 - 식당’ 테이블에서 행을 구분하려면 사용자 ID와 식당 ID가 동시에 사용되어야 한다. 이때 기본키는 두 개가 될 수 있나?라는 의문이 들었다.
정답은 아니다. 기본키는 하나인 게 맞고 기본키를 구성하는 열이 두 개인 것이다. 기본키가 하나라는 말이 기본키를 구성하는 열이 하나여야 한다는 뜻은 아니다. ‘사용자 - 식당’ 테이블처럼 하나의 열만으로는 행을 특정하기 어려울 수 있다. 이때는 복합키를 만들어 기본키로 사용하면 된다.

참고

https://hoon93.tistory.com/57