-
데이터베이스 키 종류: 기본키, 후보키, 대체키, 외래키전산학/데이터베이스 2024. 8. 1. 20:04728x90반응형
데이터베이스에서 키(key)는 테이블의 각 레코드를 고유하게 식별하는 데 사용됩니다. 키는 데이터 무결성을 유지하고 테이블 간의 관계를 정의하는 데 필수적입니다. 주요 키의 종류는 기본키, 후보키, 대체키, 외래키가 있습니다. 각각의 정의는 다음과 같습니다:
### 기본키 (Primary Key)
- **정의**: 테이블의 각 행을 고유하게 식별하는 하나의 속성 또는 속성의 집합입니다.
- **특징**:
- 각 값은 고유해야 합니다 (중복 허용 안됨).
- NULL 값을 가질 수 없습니다.
- 한 테이블에는 오직 하나의 기본키만 존재할 수 있습니다.
- **예**: 학생 테이블에서 '학번'이 기본키일 수 있습니다.
### 후보키 (Candidate Key)
- **정의**: 기본키로 사용될 수 있는 속성 또는 속성의 집합입니다. 기본키의 후보가 되는 키들입니다.
- **특징**:
- 각 값이 고유해야 하며 NULL 값을 가질 수 없습니다.
- 한 테이블에 여러 개의 후보키가 존재할 수 있습니다.
- 기본키가 아닌 후보키는 대체키가 될 수 있습니다.
- **예**: 학생 테이블에서 '학번', '주민등록번호'가 모두 고유한 값을 가지면 둘 다 후보키가 될 수 있습니다.
### 대체키 (Alternate Key)
- **정의**: 후보키 중에서 기본키로 선택되지 않은 키를 말합니다.
- **특징**:
- 대체키도 고유해야 하며 NULL 값을 가질 수 없습니다.
- **예**: 학생 테이블에서 '학번'이 기본키로 선택되었을 때, '주민등록번호'는 대체키가 될 수 있습니다.
### 외래키 (Foreign Key)
- **정의**: 한 테이블의 속성으로, 다른 테이블의 기본키 또는 후보키를 참조하는 키입니다. 테이블 간의 관계를 정의합니다.
- **특징**:
- 외래키는 참조하는 테이블의 기본키 또는 후보키와 동일한 값을 가져야 합니다.
- 외래키는 NULL 값을 가질 수 있습니다 (다만, 제약조건에 따라 다를 수 있음).
- **예**: '수강신청' 테이블에서 '학생' 테이블의 '학번'을 참조하는 '학생학번' 속성이 외래키가 될 수 있습니다.
이러한 키들은 데이터베이스의 무결성을 유지하고 관계형 데이터베이스의 관계를 명확하게 정의하는 데 중요한 역할을 합니다.728x90반응형'전산학 > 데이터베이스' 카테고리의 다른 글