728x90
제약 조건(Constraint)은 테이블에 저장되는 데이터의 무결성을 유지하기 위해 정의하는 규칙
1. 기본 키(Primary Key, PK)
- 개념: 테이블 내에서 각 레코드를 고유하게 식별할 수 있는 열(또는 열의 조합)입니다. 기본 키가 설정된 열은 중복된 값을 가질 수 없으며, NULL 값을 허용하지 않습니다.
- 특징:
- 각 테이블에 하나의 기본 키만 정의할 수 있습니다.
- 기본 키로 지정된 열은 해당 테이블에서 각 행을 고유하게 식별합니다.
- 중복된 데이터 입력이 불가능하며, 데이터베이스에서 데이터 무결성을 보장합니다.
- 예시:
- 학생 테이블에서 학생ID를 기본 키로 설정하면, 각 학생을 고유하게 식별할 수 있습니다.
2. 외래 키(Foreign Key, FK)
- 개념: 한 테이블의 열이 다른 테이블의 기본 키를 참조하여, 테이블 간의 관계를 정의하는 제약 조건입니다. 외래 키는 두 테이블 간의 참조 무결성을 유지합니다.
- 특징:
- 외래 키가 설정된 열의 값은 참조하는 테이블의 기본 키 값과 일치해야 합니다.
- 부모 테이블에서 기본 키 값이 삭제되거나 변경될 때, 외래 키가 참조하는 자식 테이블에 영향을 미칠 수 있습니다.
- 외래 키는 부모 테이블의 기본 키 값이 아닌 값을 허용하지 않아 데이터 무결성을 유지합니다.
- 예시:
- 수강 기록 테이블의 학생ID가 학생 테이블의 학생ID를 참조하는 외래 키로 설정되면, 학생 테이블에 존재하지 않는 학생 ID는 수강 기록 테이블에 입력할 수 없습니다.
3. 고유 키(Unique Key, UK)
- 개념: 특정 열이 고유한 값을 가지도록 보장하는 제약 조건으로, 중복된 값을 허용하지 않습니다. 다만, 고유 키는 NULL 값을 허용할 수 있습니다.
- 특징:
- 하나의 테이블에 여러 개의 고유 키를 정의할 수 있습니다.
- 고유 키 제약 조건이 설정된 열은 데이터가 중복되지 않도록 보장합니다.
- 기본 키와 달리, NULL 값이 허용될 수 있으나, NULL 값은 하나만 가질 수 있습니다.
- 예시:
- 회원 테이블의 이메일 열에 고유 키 제약 조건을 설정하면, 중복된 이메일 주소가 입력되는 것을 방지할 수 있습니다.
PK, FK, UK의 차이점
기본 키(Primary Key) 외래 키(Foreign Key) 고유 키(Unique Key)
목적 | 각 레코드를 고유하게 식별 | 다른 테이블의 기본 키 참조 및 관계 형성 | 고유한 데이터 보장 (중복 허용 안 함) |
제약 조건 | 중복 및 NULL 값 허용하지 않음 | 참조하는 기본 키와 일치하는 값만 허용 | 중복 불가, NULL 값 허용 가능 |
테이블 내 개수 | 테이블당 하나만 설정 가능 | 여러 개 설정 가능 | 여러 개 설정 가능 |
기능 | 고유 식별자로 사용 | 테이블 간 관계와 참조 무결성 유지 | 유일성 보장, 기본 키와 달리 NULL 허용 |
요약
- 기본 키(PK): 테이블에서 각 행을 고유하게 식별하고, 중복과 NULL을 허용하지 않습니다.
- 외래 키(FK): 다른 테이블의 기본 키를 참조하여 테이블 간 관계를 형성하고 참조 무결성을 유지합니다.
- 고유 키(UK): 특정 열이 중복되지 않도록 보장하며, 기본 키와 달리 NULL 값을 허용할 수 있습니다.
이 세 가지 제약 조건은 데이터베이스 내에서 데이터 무결성을 유지하고, 각 테이블 간의 관계를 정의하여 데이터베이스의 일관성을 확보하는 데 중요한 역할을 합니다.
728x90
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 인덱스(Index) (0) | 2024.10.31 |
---|---|
[데이터베이스] Commit과 Rollback (0) | 2024.10.31 |
[데이터베이스] 데이터 무결성(Data Integrity) (1) | 2024.10.31 |
[데이터베이스] 기본적인 SQL (데이터 조회,삽입,수정,삭제/테이블 생성,수정,삭제,제어) (0) | 2024.10.31 |
[데이터베이스] 데이터베이스 기본 용어 정리 (1) | 2024.10.31 |