[sql] 외래 키 제약 조건의 정의와 목적
관계형 데이터베이스에서 외래 키(Foreign Key) 제약 조건은 두 개의 테이블 간의 관계를 정의하고 유지하는데 사용됩니다. 이 제약은 참조 무결성(Referential Integrity)을 유지하기 위해 사용되며, 어떤 테이블의 컬럼 값이 다른 테이블의 기본 키나 후보 키 값과 일치해야 함을 보장합니다.
외래 키 제약 조건의 목적
- 데이터 무결성 보장: 외래 키 제약 조건은 데이터의 무결성을 보장하여 잘못된 데이터가 삽입되는 것을 방지합니다.
- 데이터 일관성 유지: 여러 테이블 간의 관계를 유지함으로써 데이터의 일관성을 유지합니다.
- 데이터의 연결성 유지: 외래 키 제약을 통해 여러 테이블 간에 데이터의 연결성을 유지합니다.
외래 키 제약 조건의 정의
예를 들어, 부서(Department)
테이블과 직원(Employee)
테이블이 있다고 가정해 봅시다. 여기서 직원
테이블의 부서번호
컬럼은 부서
테이블의 기본 키인 부서번호
와 관련이 있습니다.
CREATE TABLE 부서 (
부서번호 INT PRIMARY KEY,
부서명 VARCHAR(100)
);
CREATE TABLE 직원 (
직원번호 INT PRIMARY KEY,
이름 VARCHAR(100),
부서번호 INT,
FOREIGN KEY (부서번호) REFERENCES 부서(부서번호)
);
위의 예제에서 직원
테이블의 부서번호
컬럼은 부서
테이블의 기본 키를 참조하는 외래 키 제약을 가지고 있습니다. 이러한 외래 키 제약을 통해 데이터베이스는 부서에 존재하지 않는 부서번호를 가지는 직원의 레코드를 삽입하는 것을 방지합니다.
결론
외래 키 제약 조건은 관계형 데이터베이스에서 데이터 무결성과 일관성을 유지하며, 테이블 간의 연결성을 보장하는 데 중요한 역할을 합니다. 이를 통해 데이터베이스의 신뢰도와 안정성을 확보할 수 있습니다.
관련 자료: Oracle 외래 키 제약 조건