2.1.3 키(Key) 컬럼
RDBMS에서는 데이터 무결성을 확보하고자 테이블에 반드시 하나의 키가 되는 컬럼을 두도록 권고하고 있습니다. 데이터 무결성(integrity)이란 무엇을 말하는 걸까요? 한 마디로 데이터의 정확성을 보장해 올바른 데이터를 유지하는 것을 의미합니다.
예를 들어 회원정보 테이블에는 동명이인이 여러 명 존재할 수 있습니다. 가령 홍길동이란 사람이 5명 있다고 하면 종로에 사는 홍길동인지 부산에 사는 홍길동인지 이름만으로는 식별하기가 어렵습니다. 우연히 홍길동 2명이 서로 이웃이라면 더욱 판별하기 어렵겠죠. 이름 컬럼에 홍길동으로 입력된 로우가 5건 존재하는 상황에서 특정 홍길동을 가려내야 할 때, 이런 역할을 하는 컬럼을 키 컬럼이라고 합니다.
좀 더 정확히 말하면 이를 기본 키(primary key)라고 하며, 테이블에서 특정 로우 데이터를 식별할 수 있는 값을 가진 컬럼을 말합니다. 가령 어느 사이트에 회원가입을 하려면 아이디를 입력해야 하는데, 입력한 아이디가 사용 가능한지 체크하는 기능이 있습니다. 사용하려는 아이디가 이미 사용 중이라면 다른 아이디를 입력해야 합니다. 즉, 해당 사이트 전체에서는 아이디가 유일한 값입니다. 이 경우 아이디가 바로 키 컬럼 역할을 합니다.
한 테이블 전체로 보면 기본 키 컬럼에는 유일한(unique)한 값이 들어갑니다. 테이블에 데이터가 100건 있다고 한다면, 기본 키의 유일한 값도 100개인 것이죠. 이런 특성 때문에 키 컬럼에는 보통 일련번호 형태의 숫자를 사용하는 경우가 많습니다. 참고로 이 책에서 사용할 오라클 RDBMS에서는 시퀀스(sequence)라는 별도의 데이터베이스 객체를 사용해 키 컬럼에 값을 넣는 것이 일반적입니다.