Key란?
검색, 정렬시 데이터 베이스에 저장되어 있는 레코드(튜플)을 구분할 수 있는 식별자

1. Super Key (슈퍼키)
: 어떤 속성끼리 묶든지 중복되는 값이 나오지 않고, 구별할 수 있는 것
- 유일성은 만족하나 최소성은 불만족
- {이름} 처럼 단독으로는 구별이 가능하지 않기 때문
ex) {학번 + 이름}, {나이 + 이름}
2. Candidate Key (후보키)
: 튜플를 유일하게 식별할 수 있는 속성들의 부분 집합
- 모든 테이블(릴레이션)은 반드시 하나 이상의 후보키를 가져야 함
- 유일성과 최소성을 만족
- 기본키와 대체키가 합쳐진 것
3. Primary Key (기본키)
: 후보키 중 선택한 주요키
- 유일하게 특정 튜플을 구별할 수 있는 속성
- null이나 중복되는 값은 될 수 없음(무결성)
4. Alternate Key (대체키, 보조키)
: 후보키가 둘 이상일 때 기본키를 제외한 나머지 키
ex) 학번과 이름이 후보키인데 그 중 학번이 기본키가 되었을 때 남은 후보키인 이름이 대체키
5. Foreign Key (외래키)
: 두 테이블 간 연결을 설정하는 키

- 데이터가 일관될 수 있도록 도움
- 두개 이상의 테이블을 연결(참조관계)할 때 사용
6. Composite Key (복합키)
: 두개 이상의 컬럼으로 구성된 하나의 기본키
- 튜플의 고유성을 보장하기 위해 사용됨(무결성)
- 정규화 과정에서의 테이블 간 관계를 나타내는 데 유용함
이미지 출처 :