자동 생성되는 숫자 컬럼을 추가로 만들어서 인위적으로 기본키를 생성할 수 있지만, ProductID와 VendorID 컬럼을 조합해서 기본키로 사용할 수도 있다. 항상 개별 컬럼을 사용해 이 테이블에 연결하므로 추가로 만든 숫자 컬럼을 키로 사용하기보다는 이 두 컬럼으로 구성된 복합 기본키를 정의하는 것이 더 효율적이다. 또 두 컬럼을 합쳐 유일한 값이 되기를 원할 것이므로 추가 컬럼을 사용하지 않고 이 두 컬럼을 복합 기본키로 정의하면 더 좋다. 자세한 복합 기본키의 장점과 예제는 ‘BETTER WAY 8. 제3정규화로도 부족하다면 더 정규화하자’를 참고한다.
핵심 정리
• 모든 테이블에는 하나 또는 일련의 컬럼으로 구성된 기본키가 있어야 한다.
• 키가 아닌 컬럼에 중복 값이 들어갈까 봐 걱정이 된다면, 해당 컬럼에 유일 인덱스를 정의해 무결성을 확보할 수 있다.
• 형태가 가능한 간단하고 값을 갱신할 필요가 없는 컬럼을 키로 사용한다.