참조 무결성 규칙(Referential Integrity Rule)이란?
DBMS의 참조 무결성 규칙은 기본 키(Primary Key)와 외래 키(Foreign Key)를 기반으로 하는 핵심 데이터 무결성 규칙입니다. 이 규칙은 외래 키가 반드시 일치하는 기본 키 값을 가져야 하며, 한 테이블에서 다른 테이블을 참조할 때 그 참조는 반드시 유효해야 한다는 것을 정의합니다.
쉽게 말해, 어떤 테이블의 컬럼이 다른 테이블의 값을 가리킬 때, 실제로 존재하지 않는 잘못된 값을 참조해서는 안 된다는 의미입니다. 이를 통해 데이터베이스 내 테이블 간 관계의 일관성과 신뢰성이 보장됩니다.
참조 무결성 규칙 예제
참조 무결성 규칙을 이해하기 위해 두 개의 테이블 예제를 살펴보겠습니다.
<Employee> 테이블
| EMP_ID | EMP_NAME | DEPT_ID |
<Department> 테이블
| DEPT_ID | DEPT_NAME | DEPT_ZONE |
위 예제에서 Employee 테이블의 DEPT_ID는 외래 키 역할을 하며, Department 테이블의 DEPT_ID(기본 키)를 참조합니다.
참조 무결성 규칙에 따르면, Employee 테이블의 DEPT_ID 값은 Department 테이블에 존재하는 유효한 DEPT_ID와 일치해야 합니다. 만약 Employee 테이블에 Department 테이블에 없는 부서 ID를 가진 직원이 삽입되려고 한다면, DBMS는 이 작업을 거부하여 데이터의 일관성을 유지합니다.
조인(JOIN)과 데이터 타입 일치
참조 무결성 규칙에는 또 하나 중요한 조건이 있습니다. 바로 두 테이블 간의 조인(JOIN)을 허용하기 위해 기본 키와 외래 키는 동일한 데이터 타입을 가져야 한다는 것입니다.
예를 들어, Department 테이블의 DEPT_ID가 정수형(INT)이라면, Employee 테이블의 DEPT_ID도 반드시 정수형이어야 합니다. 데이터 타입이 서로 다르면 조인 연산 시 오류가 발생하거나 잘못된 결과가 나올 수 있기 때문입니다.
정리
참조 무결성 규칙은 다음과 같이 요약할 수 있습니다.
- 외래 키는 반드시 참조 대상 테이블의 유효한 기본 키 값과 일치해야 한다.
- 테이블 간 참조 관계는 항상 유효해야 한다.
- 조인을 원활하게 수행하기 위해 기본 키와 외래 키는 동일한 데이터 타입을 사용해야 한다.
이러한 규칙을 준수함으로써 관계형 데이터베이스는 테이블 간 관계의 정확성과 데이터의 신뢰성을 지속적으로 유지할 수 있습니다.