FOREIGN KEY 제약 조건 - 참조 무결성, 주종관계 표, 외래키 참조 도식도

CODEDRAGON Development/Database

반응형

   

   

참조 무결성

  • 테이블 사이의 관계에서 발생하는 개념
  • 참조의 무결성은 두 테이블 사이의 주종 관계에 의해서 결정됩니다.

   

   

주종관계 표

  • 사원은 회사 내에 존재하는 부서에 소속되어 있어야 합니다.
  • 주체관계가 애매모호한 경우 어느 테이블의 데이터가 먼저 정의되어야 하는가에 따라 주종관계가 결정됩니다.
  • 회사를 설립한 후 어떤 부서를 구성하여 운영할지 정한 후에 그 부서에서 일할 사원들을 뽑아야 소속이란 관계가 성립됩니다.

   

부모테이블

자식 테이블

주체가 되는 테이블

종속이 되는 테이블

먼저 정의되어야 하는 테이블

나중에 정의되어야 하는 테이블

부서

사원

   

   

외래키 참조 도식도

  • 외래키가 되기 위한 컬럼은 부모테이블의 기본키(PRIMARY KEY)나 유일키(UNIQUE KEY)로 설정되어 있어야 합니다.
  • 부모테이블인 부서테이블(dept)의 부서번호(deptno)는 기본키(PRIMARY KEY)로 설정되어 있고, 이를 참조하기 위해서 자식 테이블인 사원테이블(emp)은 부서번호(deptno)에 외래키(FOREIGN KEY)제약조건을 설정해 놓고 있습니다.
  • 자식테이블(emp)의 참조무결성을 위해 특정 컬럼에 외래키를 설정하였다면, 새로운 데이터가 추가될 때마다 부모테이블(dept)의 부모키로 설정된 컬럼을 검사합니다.
  • 검사 후 부모키로 설정된 컬럼에 존재하는 값만 추가하고 존재하지 않는 값은 추가하지 않으므로써 자식 테이블이 부모 테이블을 참조하는데 아무런 문제가 없도록 하고 있습니다.