본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(후보 키에서 넘어옴)

후보 키(Candidate Key)는 데이터베이스 테이블에서 각 행을 고유하게 식별할 수 있는 속성 또는 속성들의 집합을 의미한다. 후보 키는 테이블 내의 모든 행을 유일하게 구분할 수 있는 최소한의 속성 집합으로, 기본 키(primary key)로 선택될 수 있는 후보가 된다.

후보 키의 조건

편집 원본 편집

후보 키가 되기 위해서는 다음 조건을 만족해야 한다.

  • 유일성(Uniqueness): 후보 키는 테이블 내에서 각 행을 유일하게 식별할 수 있어야 한다. 즉, 동일한 값을 가지는 두 행이 존재할 수 없다.
  • 최소성(Minimality): 후보 키는 속성의 최소 집합이어야 한다. 즉, 후보 키의 속성 중 하나라도 제거하면 유일성을 상실해야 한다.

후보 키는 테이블 내에서 기본 키가 아닌 대체 키(alternate key)로도 사용될 수 있다.

학생 테이블이 있고, 각 학생의 정보를 저장하는 `학생ID`, `이메일`, `전화번호` 속성이 있다고 가정하자. 이 테이블에서 각 속성들이 후보 키가 될 수 있다.

학생ID 이름 이메일 전화번호
1 홍길동 [email protected] 010-1234-5678
2 이영희 [email protected] 010-9876-5432

이 예시에서 다음과 같은 후보 키가 존재할 수 있다.

  • `학생ID`: 모든 학생을 고유하게 식별하므로 후보 키가 될 수 있다.
  • `이메일`: 각 이메일 주소는 고유하므로 후보 키가 될 수 있다.
  • `전화번호`: 각 전화번호는 고유하므로 후보 키가 될 수 있다.
  • `이름`: 이름은 고유하지 않을 가능성이 크므로 후보 키로 적합하지 않다.

후보 키와 기본 키의 차이

편집 원본 편집
  • 후보 키는 기본 키로 선택될 수 있는 모든 속성 집합을 의미한다.
  • 기본 키는 후보 키 중에서 실제로 테이블의 주요 식별자로 선택된 키이다. 기본 키는 단 하나만 존재할 수 있지만, 후보 키는 여러 개 존재할 수 있다.
  • 대체 키(Alternate Key): 후보 키 중 기본 키로 선택되지 않은 키를 의미한다.
  • 슈퍼 키(Super Key): 유일성은 만족하지만 최소성을 충족하지 않는 속성 집합이다. 후보 키는 슈퍼 키의 부분 집합이다.

후보 키의 중요성

편집 원본 편집

후보 키는 데이터베이스 설계에서 매우 중요한 역할을 하며, 데이터의 중복을 방지하고 테이블 내에서 각 행을 고유하게 식별하는 데 필수적이다. 올바른 후보 키 설정은 데이터베이스의 무결성을 유지하고 데이터베이스를 최적화하는 데 기여한다.