본문 바로가기

Daylogs/DB

surrogate key 와 natural key

발생일: 2016.11.11

키워드: surrogate key, natural key

문제:
각 컬럼의 값이 유니크하다면, 전체 컬럼을 프라이머리로 만들어도 되지 않을까?


해결책:

각 컬럼이 유니크하더라도 각 행을 대표할 수 있는 키를 별도로 넣는 게 좋다는 조언이다.
데이터베이스의 모델 관리와 비즈니스 문제를 분리하기 위한 목적이라고 한다.

이렇게 비즈니스와 관계 없이 테이블의 row를 대표하는 키를 서로게이트 키라고 한단다.
반대로 비즈니스 개념을 대표하던 것은 내추럴 키이고.