컴퓨터/컴퓨터 시험

정보처리기능사 - 키(Key)의 개념과 종류

기억날때 2025. 4. 4. 14:12
728x90

키(Key)의 개념과 종류

데이터베이스에서 키(Key) 는 테이블에서 데이터를 고유하게 식별하거나 테이블 간의 관계를 설정하는 중요한 요소.


1. 키(Key)의 개념

  • 테이블에서 각 행(Row)을 고유하게 식별하기 위한 속성(열) 또는 속성들의 집합.
  • 키를 사용하여 데이터의 무결성을 유지하고, 중복을 방지하며, 테이블 간 관계를 정의할 수 있음.
  • 키의 종류에는 기본 키(Primary Key), 후보 키(Candidate Key), 슈퍼 키(Super Key), 대체 키(Alternate Key), 외래 키(Foreign Key) 등이 있음.

2. 키(Key)의 종류 및 설명

(1) 슈퍼 키(Super Key)

  • 테이블에서 각 행(Row)을 유일하게 식별할 수 있는 속성(열) 또는 속성들의 집합.
  • 여러 개의 속성을 묶어도 유일성을 만족하면 슈퍼 키가 될 수 있음.
  • 하지만, 최소성을 만족하지 않음 (즉, 불필요한 속성이 포함될 수도 있음).

📌 예제 (학생 테이블)

학번(PK) 이름 주민등록번호 전화번호
2024001 홍길동 990101-1234567 010-1234-5678
2024002 김영희 980202-2345678 010-5678-1234

가능한 슈퍼 키

  • 학번
  • 주민등록번호
  • (학번, 전화번호)
  • (이름, 주민등록번호, 전화번호)

(2) 후보 키(Candidate Key)

  • 슈퍼 키 중에서 최소성을 만족하는 키.
  • 불필요한 속성이 포함되지 않은 가장 작은 단위의 유일성을 가진 키.
  • 한 테이블에는 여러 개의 후보 키가 존재할 수 있음.
  • 후보 키 중 하나를 기본 키로 선정함.

가능한 후보 키

  • 학번
  • 주민등록번호

(3) 기본 키(Primary Key, PK)

  • 후보 키 중에서 가장 대표적인 키로 선정된 키.
  • 기본 키는 중복이 없어야 하고(NULL 값을 가질 수 없음), 각 행을 유일하게 식별해야 함.
  • 한 테이블에 하나의 기본 키만 존재할 수 있음.

예제

기본 키 특징

  • NULL 값을 가질 수 없음.
  • 중복된 값을 가질 수 없음.
  • 각 행을 유일하게 식별함.

(4) 대체 키(Alternate Key)

  • 후보 키 중에서 기본 키로 선정되지 않은 키.
  • 즉, 기본 키가 아닌 나머지 후보 키들을 의미함.

예제

  • 기본 키가 학번이라면, 주민등록번호는 대체 키(Alternate Key) 가 됨.

(5) 외래 키(Foreign Key, FK)

  • 다른 테이블의 기본 키를 참조하는 키.
  • 두 개의 테이블을 연결하는 역할을 하며, 참조 무결성(Referential Integrity)을 유지하는데 사용됨.
  • 외래 키는 NULL 값을 가질 수 있음 (선택적 관계일 경우).

예제 (학생 - 수강 신청 관계)

학생 테이블   수강 신청 테이블
학번 (PK) 학번 (FK)
이름   과목코드 (PK)

외래 키 특징

  • 외래 키가 가리키는 기본 키 값이 삭제되면, 해당 외래 키도 함께 삭제되거나(NULL로 설정됨) 제한될 수 있음.
  • ON DELETE CASCADE 옵션을 설정하면 기본 키가 삭제될 때 연결된 외래 키 데이터도 함께 삭제됨.

(6) 복합 키(Composite Key)

  • 두 개 이상의 속성(열)으로 구성된 키.
  • 개별 속성만으로는 유일성을 보장할 수 없지만, 두 개 이상의 속성을 결합하면 유일성을 만족하는 경우 사용됨.

예제 (수강 신청 테이블)

  • 학번만으로는 한 학생이 여러 과목을 수강할 수 있어서 유일하지 않음.
  • 과목코드만으로도 한 과목에 여러 학생이 신청할 수 있어서 유일하지 않음.
  • 하지만, (학번, 과목코드) 조합을 사용하면 유일성을 만족함.

3. 키(Key)의 관계 정리

키 종류 설명 중복 허용 NULL 허용
슈퍼 키(Super Key) 테이블의 각 행을 유일하게 식별할 수 있는 속성의 집합 O O
후보 키(Candidate Key) 슈퍼 키 중에서 최소성을 만족하는 키 X X
기본 키(Primary Key) 후보 키 중에서 대표로 선택된 키 X X
대체 키(Alternate Key) 후보 키 중 기본 키로 선택되지 않은 키 X X
외래 키(Foreign Key) 다른 테이블의 기본 키를 참조하는 키 O O
복합 키(Composite Key) 두 개 이상의 속성으로 이루어진 키 X X

4. 키(Key) 관련 문제 예제

(1) 다음 중 테이블에서 각 행(Row)을 유일하게 식별할 수 있는 키로, 가장 넓은 개념을 의미하는 것은?

① 기본 키 (Primary Key)
② 후보 키 (Candidate Key)
③ 슈퍼 키 (Super Key)
④ 대체 키 (Alternate Key)

정답: ③ (슈퍼 키는 유일성을 보장하는 속성들의 집합으로 가장 넓은 개념임!)


(2) 다음 중 기본 키(Primary Key)에 대한 설명으로 틀린 것은?

① 테이블에서 한 개의 기본 키만 존재할 수 있다.
② NULL 값을 가질 수 있다.
③ 중복된 값을 가질 수 없다.
④ 각 행을 유일하게 식별한다.

정답: ② (기본 키는 NULL 값을 가질 수 없음!)


(3) 다음 중 두 개 이상의 열(Column)로 구성된 키를 의미하는 것은?

① 슈퍼 키 (Super Key)
② 복합 키 (Composite Key)
③ 기본 키 (Primary Key)
④ 외래 키 (Foreign Key)

정답: ② (복합 키는 두 개 이상의 열(Column)로 이루어진 키!)


5. 마무리 정리

728x90