데이터베이스에서 key란 검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 attribute 입니다.
특성
종류
키 | 정의 및 특성 |
---|---|
후보 키(candidate key) | 기본키로 사용할 수 있는 속성들 |
기본 키(primary key) | 후보키 중에서 하나를 선택한 main key |
- 테이블에서 오직 1개 | |
- Null 값을 가질 수 없음 | |
- 동일한 값이 중복될 수 없음 | |
대체 키(surrogate key) | 후보키 중 기본키를 제외한 나머지 키 |
외래 키(foreign key) | 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합 |
두 개의 테이블을 연결해주는 연결 다리 역할 | |
슈퍼 키(super key) | 유일성 (O), 최소성 (X) |
복합 키(composite key) | 2개 이상의 속성을 사용한 키 |
외래 키
중복된 데이터가 하나의 테이블에 삽입되는 것을 방지하는 역할
참조될 테이블 A, 참조할 테이블 B 라고 가정
예제
테이블 | 기본 키 | 외래 키 | 슈퍼 키 |
---|---|---|---|
학생 | 학번 | - | 학번, 이름, 학번+이름 |
수강 | 학번+과목번호 | 학번, 과목번호 | |
과목 | 과목번호 | - | 과목번호, 과목번호+과목명 |