자연 키(Natural Key) 는 현실 세계에서 이미 사용 중인 비즈니스 의미를 가진 속성을 그대로 기본 키로 사용하는 방식이다.
예를 들어 다음과 같은 값들이 자연 키 후보가 된다.
SKU, ISBN)자연 키는 다음과 같은 특징을 가진다.
간단한 예를 보면 다음과 같다.
CREATE TABLE member (
email VARCHAR(255) PRIMARY KEY, -- 자연 키
name VARCHAR(100) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL
);
여기서는 email 이 곧 회원의 식별자이자 자연 키이다.
자연 키를 기본 키로 사용하면 다음과 같은 장점을 얻는다.
WHERE email = 'user@example.com' 만 봐도 어떤 대상을 찾는지 직관적으로 이해할 수 있다.