대리키

위키원
tjswn0425 (토론 | 기여)님의 2020년 8월 14일 (금) 15:59 판
이동: 둘러보기, 검색

대리키(Surrogate key)란 식별자가 너무 길거나 여러 개의 속성으로 구성되어 있는 경우 인위적으로 추가하는 식별자를 의미한다. 인공키(Artificial key)라고도 불린다. [1]

개요

특징

목적

대리키(Surrogate key)는 기본키(PK, Primary key)를 대체하는 키를 말한다. 대리키는 몇가지의 목적으로 사용되는데 첫번째, 기본키의 저장 공간을 줄여서 성능을 향상시키기 위해 사용된다. 기본키의 데이터 길이가 너무 길거나 여러 개의 속성으로 구성되어 있는 경우 기본키를 이용하여 처리할 때 기본키를 읽어드리는데 많은 시간이 소요된다. 이로인해 성능의 효율이 떨어지는데 대리키를 이용함으로써 식별자를 단순하게 바꿔 처리 시간을 단축시킬 수 있어 성능이 향상된다. 두번째, 중요한 데이터를 대체하여 보안의 이득을 얻기 위해 사용된다. 사용자의 주민번호나 아이디 등 개인정보는 식별자로써 사용하기에 좋지만, 중요한 정보이기 때문에 직접적으로 사용하는데에 위험요소들이 따른다. 이와 같은 경우 중요한 데이터의 식별자를 대신으로 대리키를 사용한다면 개인정보 노출의 위험으로부터 좀 더 안전해질 수 있다. 세번째, 데이터 변경에 영향을 덜 받기 위해 사용한다. 식별자 속성 중 일부 데이터가 변경되면 이로인해 영향을 받는 다른 데이터들을 모두 일일이 변경해줘야하는 수고가 따르게 된다. 하지만 대리키를 사용한다면 대리키에 대한 정보만 변경하면 된다. [2]

예시

1) 속성 중 '주민번호'를 기본키로 사용하면 데이터의 길이가 길기 때문에 처리시 처리시간이 길어져 성능이 떨어진다. 또한 주민번호 속성은 개인정보이기 때문에 유출의 위험이 있어서는 안된다. 이를 해결하기 위해 '학생번호' 속성을 임의로 생성하여 대리키로 사용한다.

대리키(Surrogate key) 예시

각주

  1. 식별자의 정의와 종류(후보키, 기본키, 대체키, 복합키, 대리키)〉, 《개인사이트》, 2019-04-30
  2. Surrogate Key〉, 《개인사이트》

참고자료

같이 보기