✅ 키 (Key)
DB에서의 "키"는 데이터베이스에서 데이터를 식별하고 정렬하는 데 사용되는 중요한 개념이다.
키는 아래와 같이 다양한 종류가 존재한다.
- 수퍼키
- 후보키
- 기본키
- 대체키
- 외래키
- 복합키
✅ 키를 설명하기 위한 학생 테이블
예시
- 학생마다 고유한 학번을 가지고 있다.
- 학생마다 고유한 주민등록번호를 가지고 있다.
- 학과, 학년, 이름은 중복될 수 있다.
✅ 수퍼키 (Super Key)
- 수퍼키는 테이블에서 유일성을 보장하는 열 또는 열의 집합이다.
- 즉, 특정 조건을 충족시키면
레코드를 식별할 수 있는 어떠한 열의 조합
도 수퍼키가 될 수 있다.
- 예를 들어, 학생 테이블에서
학번
과이름
의 조합은 수퍼키가 될 수 있다.
✅ 후보키 (Candidate Key)
- 후보키는 기본 키로 사용될 수 있는 열의 집합이다.
-
유일성과 최소성
(최소성은 다른 후보키의 부분집합이 아닌)을 만족해야 한다.- 예를 들어, 학생 테이블에서
학번
과 주민등록번호
는 후보키가 될 수 있다.
✅ 기본키 (Primary Key)
- 기본키는 테이블에서 각 레코드를 고유하게 식별하는 데 사용된다.
-
NULL 값이 허용되지 않으며, 중복될 수 없다
.
- 예를 들어, 학생 테이블에서 학번
이 기본키가 될 수 있다.
✅ 대체키 (Alternate Key)
- 대체키는 후보키 중에서 선택된 기본 키가 아닌 나머지 후보키들을 의미한다.
- 즉,
기본키가 될 수 있었지만 선택되지 않은 후보키
이다.
- 예를 들어, 학생 테이블에서 주민등록번호
가 기본키로 선택되었다면, 학번
은 대체키가 될 수 있다.
✅ 외래키 (Foreign Key)
- 외래키는
다른 테이블의 기본키를 참조하는 열
로, 두 테이블 간의 관계를 정의하는 데 사용된다.
- 외래키 값은 참조하는 테이블의 기본키 값이어야 한다.
- 예를 들어, 학생 테이블에서
학과
를 나타내는 열이 다른 테이블의 학과 테이블의 기본키를 참조하는 경우가 있다.
✅ 복합키 (Composite Key)
- 복합키는 두 개 이상의 열의 조합으로 이루어진 키다.
- 개별 열의 값만으로는 유일성을 보장하지 못하지만,
열들의 조합으로는 유일성을 보장
할 수 있다.
- 예를 들어, 위 학생 테이블에서 학과와 학년은 각 열만으로는 유일성을 보장할 수 없지만,
{학과, 학년}
의 조합으로는 유일성을 보장할 수 있다. 따라서학과
와학년
의 조합은 복합키가 될 수 있다.
Share article