더북(TheBook)

컴퓨터 관점에서 그림 1-1을 본다면 모든 값이 유일한 것은 분명한 사실이지만, 이들은 모두 같은 사람이거나 적어도 첫 번째와 두 번째, 네 번째 로우는 동일한 사람(John A. Smith)일 수 있다. 컴퓨터는 사람보다 훨씬 빠르게 데이터를 처리할 수 있지만, 상당한 양의 프로그래밍 없이는 언제 특정 데이터를 동일한 것으로 간주해야 할지 판단하는 작업은 잘 처리하지 못한다. 따라서 이 테이블에서는 Customer 컬럼을 기본키로 정의할 수 있는데, 유일한 값을 가져야 한다는 요구 사항을 만족시키더라도 바람직한 선택은 아니다.

그렇다면 무엇이 기본키의 좋은 후보 자격이 될 수 있을까? 다음 특성을 따르는 컬럼을 후보군으로 삼으면 된다.

유일한 값을 가져야 한다.

널 값을 가질 수 없다.

안정적인 값이어야 한다(즉, 값을 갱신할 필요가 없다).

가능한 한 간단한 형태여야 한다(예를 들어 문자나 부동소수점보다는 정수형이 낫고, 여러 컬럼보다는 단일 컬럼이 낫다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.