그리고 student_no 칼럼을 기본 키로 설정하면 학번에는 중복 값을 입력할 수 없습니다. A동 홍길동의 학번에 1001을 입력하고 나서 B동 홍길동의 학번에 1001을 입력하면 두 번째 입력에서 오류가 나고 입력 작업이 취소됩니다.
RDBMS는 기본 키로 설정한 칼럼에 중복 값이 입력되는 즉시 오류를 반환함으로써 잘못된 데이터가 들어가는 것을 방지합니다. 이처럼 기본 키 역시 NULL 처리와 함께 데이터베이스의 무결성을 보장하는 주요 기능입니다.
또한, 학번처럼 1개 칼럼만을 기본 키로 만들 수 있고, 2개 이상의 칼럼을 기본 키로 지정할 수도 있습니다. 2개 칼럼을 기본 키로 지정한다면 테이블에서 두 칼럼을 조합한 값은 유일해야 합니다. 그렇지 않으면 입력할 때 오류를 반환합니다.
기본 키 개념이 이해되나요? 한마디로 기본 키는 중복 값을 허용하지 않으며 한 테이블에서 하나의 로우를 식별할 수 있는 칼럼의 제약조건입니다. 기본 키로 가장 흔한 예가 주민등록번호입니다. 주민등록번호는 국민 각자에게 부여하는 고유한 값이니까요.