RDBMS에서 외래 키란 무엇인가?
외래 키(Foreign Key)는 관계형 데이터베이스(RDBMS)에서 두 테이블 사이의 연결 고리를 만들어 주는 제약 조건입니다. 한 테이블의 외래 키는 다른 테이블의 기본 키(Primary Key)를 참조하며, 이를 통해 테이블 간의 관계가 형성됩니다.
외래 키는 단순히 데이터를 연결하는 것을 넘어, 참조 무결성(Referential Integrity)을 보장하는 중요한 역할도 합니다. 즉, 존재하지 않는 부모 레코드를 참조하는 데이터가 삽입되는 것을 방지하여 데이터의 일관성을 유지해 줍니다.
외래 키 예시로 이해하기
예를 들어, 직원(Employee) 테이블에 있는 DeptID(부서 ID) 컬럼은 외래 키입니다. 이 컬럼은 부서(Department) 테이블의 기본 키인 DeptID를 참조합니다.
<Employee> 테이블
| EmpID | EmpName | EmpAge | DeptID |
<Department> 테이블
| DeptID | DeptName | DeptZone |
기본 키와 외래 키의 역할 구분
위 두 테이블에서 DeptID 컬럼의 역할은 테이블마다 다릅니다.
- Department 테이블의 DeptID: 해당 테이블의 기본 키(Primary Key)로서, 각 부서를 고유하게 식별합니다.
- Employee 테이블의 DeptID: 해당 테이블의 외래 키(Foreign Key)로서, Department 테이블의 기본 키를 참조하여 직원이 소속된 부서를 연결합니다.
아래 그림은 이러한 관계를 시각적으로 나타낸 것입니다.

정리
위 그림에서 확인할 수 있듯이, Employee 테이블의 외래 키는 Department 테이블의 기본 키와 동일한 값을 참조합니다. 이처럼 외래 키를 활용하면 여러 테이블에 분산된 데이터를 논리적으로 연결하고, 데이터베이스 전체의 무결성과 일관성을 효과적으로 유지할 수 있습니다.