DB 엔지니어라면 대체키(Surrogate Key)라는 말을 자주 들어봤을 것이다. 대체키(Surrogate Key)란 테이블의 입력 데이터의 어떤 열을 기본키(Primary Key)로 하지 않고 시스템쪽에 독립적으로 할당된 키를 의미한다(일반적으로 일련번호가 사용된다). 한편 입력 데이터 자체의 열을 기본키(Primary Key)로하는 경우를 자연키(Natural key)라고 부른다. 대체키(Surrogate Key)는 기본적으로 불필요하다. 입력 데이터에 임의의 키가 존재하고 있다면 그것을 기본키로 사용하는 것을 보통 문제가 없으며, 오토 넘버링의 기능도 오랫동안 표준 SQL에 존재하지 않았었기 때문이다. 그러나 아래와 같은 업무요건의 경우에는 대체키(Surrogate Key)를 사용하는 것을 고려해..