Workbench 에서 Primary Key 설정하기

Primary Key 의 종류

Natural Key

실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼이 Primary Key가 됐을 때 이를 Natural Key라고 합니다.

사람은 주민등록번호로 특정 인물을 식별할 수 있습니다. 우리가 읽는 책은 ISBN이라고 하는 번호로 특정할 수 있습니다. 바로 이런 속성을 나타내는 컬럼이 Primary Key가 되면 Natural Key라고 합니다.

Surrogate Key

아래의 id 컬럼은 어떤 회원의 속성을 직접적으로 나타내는 컬럼이 아니라 Primary Key로 사용하기 위해 인위적으로 생성한 컬럼입니다.

이렇게 어떤 개체의 실제 속성은 아니지만 Primary Key로 쓰기 위해 추가한 컬럼을 Surrogate Key라고 합니다.

Untitled

어떤 것을 사용하는 것이 더 좋을까?

Natural Key는 그 값이 나중에 변경되면 모든 row의 값을 다시 수정해줘야 한다는 문제 등(가능성은 낮지만 사람의 주민등록번호가 변경되는 경우가 생길 수도 있다.)이 있기 때문에 보통은 Surrogate Key를 선택하는 경우가 더 많습니다.