참조 무결성 개요
참조 무결성은 관련 테이블에서 행 간의 관계가 유효한지 확인하고 관련 데이터를 실수로 삭제하거나 변경하지 않게 하는 규칙 시스템입니다.
[!참고]
SQL Server 2012 형식의 데이터베이스에 대해 새로운 버전의 테이블 디자이너가 표시됩니다. 이 항목에서는 이전 형식의 SQL Server를 사용하는 이전 버전의 테이블 디자이너에 대해 설명합니다.
새 버전에서는 스크립트 창에서 직접 또는 그래픽 인터페이스를 통해 테이블 정의를 변경할 수 있습니다. 그래픽 인터페이스를 사용할 경우 스크립트 창에서 테이블의 정의가 자동으로 업데이트됩니다. 스크립트 창에서 SQL 코드를 적용하려면 업데이트 단추를 선택합니다. 새 버전에 대한 자세한 내용은 방법: 테이블 디자이너를 사용하여 데이터베이스 개체 만들기를 참조하십시오.
절차
아래 조건이 모두 충족되면 참조 무결성을 설정할 수 있습니다.
기본 키에서 일치하는 열이 기본 키이거나 UNIQUE 제약 조건을 갖고 있는 경우
외래 테이블에 있는 관련 열의 데이터 형식과 크기가 동일한 경우
참조 무결성이 적용되는 경우 다음 규칙을 준수해야 합니다.
관련 테이블의 기본 키에 없는 값을 관련 테이블의 외래 키 열에 입력할 수 없습니다.그러나 null을 외래 키 열에 입력할 수는 있습니다.예를 들어, employee 테이블에 없는 직원에게 작업이 할당되었음을 나타낼 수는 없지만 employee 테이블의 job_id 열에 null을 입력하여 직원에게 할당된 작업이 없음을 나타낼 수는 있습니다.
관련 테이블에 기본 키와 일치하는 행이 있는 경우 기본 키 테이블에서 해당 행을 삭제할 수 없습니다.예를 들어, employee 테이블의 특정 행에 표시된 작업이 직원에게 할당되어 있으면 jobs 테이블에서 해당 행을 삭제할 수 없습니다.
해당 행에 관련된 행이 있으면 기본 키 테이블의 기본 키 값을 변경할 수 없습니다.예를 들어, employee 테이블에 job_id가 할당된 직원이 있는 경우 jobs 테이블에서 행의 job_id 값을 변경할 수 없습니다.