Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL

RDBMS 보조 키(Secondary Key)란? 개념부터 예제까지 한눈에 이해하기

보조 키(Secondary Key)란 무엇인가?

관계형 데이터베이스(RDBMS)에서 보조 키(Secondary Key)는 여러 후보 키 중 기본 키(Primary Key)로 최종 선택되지 않은 키를 의미합니다. 즉, 기본 키가 될 자격은 충분했지만 선택받지 못한 키라고 할 수 있습니다.

여기서 후보 키(Candidate Key)란 테이블에서 레코드를 고유하게 식별할 수 있는 속성 또는 속성의 집합으로, 기본 키가 될 수 있는 모든 가능성을 가진 키를 말합니다. 따라서 후보 키 중 하나가 기본 키로 지정되면, 나머지 후보 키들은 모두 보조 키가 됩니다.

참고: 보조 키는 외래 키(Foreign Key)가 아닙니다. 외래 키는 다른 테이블의 기본 키를 참조하는 키로, 보조 키와는 완전히 다른 개념입니다.

보조 키의 주요 특징

  • 기본 키로 선정되지 않은 후보 키입니다.
  • 테이블의 레코드를 고유하게 식별할 수 있는 능력을 가지고 있습니다.
  • 대체 키(Alternate Key)라고도 불립니다.
  • 검색 성능 향상을 위해 인덱스로 활용되는 경우가 많습니다.

예제 1: 학생 테이블

다음 학생 테이블을 통해 보조 키의 개념을 살펴보겠습니다.

학생ID등록번호학생이름나이이메일
0969122717마니쉬25aaa@gmail.com
0559122655마난23abc@gmail.com
0679122699슈레야스28pqr@gmail.com

위 표에서 학생ID, 등록번호, 이메일은 모두 후보 키입니다. 이 세 속성은 각각 학생 레코드를 중복 없이 고유하게 식별할 수 있기 때문입니다. 이 중 하나를 기본 키로 선택하면, 나머지 두 개의 키는 보조 키가 됩니다.

예를 들어 학생ID를 기본 키로 선택했다면, 등록번호이메일은 보조 키(기본 키의 후보)가 됩니다.

예제 2: 직원 테이블

이번에는 직원 테이블을 통해 개념을 다시 한번 확인해 보겠습니다.

직원ID사번직원이름이메일부서
0989E7897제이콥jacob@example.com재무
0777E8768안나anna@example.com인사
0656E8789tom@example.com운영

위 표에서 직원ID, 사번, 이메일은 후보 키에 해당합니다. 세 속성 모두 직원 레코드를 고유하게 식별할 수 있기 때문입니다. 이 중 하나를 기본 키로 지정하면, 남은 두 개의 키는 보조 키가 됩니다.

정리

보조 키는 단지 기본 키로 선택되지 않았을 뿐, 레코드를 고유하게 식별할 수 있다는 점에서 후보 키와 동일한 자격을 갖춘 키입니다. 실무에서는 보조 키를 활용해 대체 검색 경로를 만들거나 인덱스를 구성함으로써 데이터 조회 성능을 높이는 데 유용하게 사용할 수 있습니다.