다음을 통해 공유


참조 무결성 개요

참조 무결성은 관련 테이블에서 행 간의 관계가 유효한지 확인하고 관련 데이터를 실수로 삭제하거나 변경하지 않게 하는 규칙 시스템입니다.

참고

SQL Server 2012 형식의 데이터베이스에 대해 새로운 버전의 테이블 디자이너가 표시됩니다. 이 항목에서는 이전 형식의 SQL Server를 사용하는 이전 버전의 테이블 디자이너에 대해 설명합니다.

새 버전에서는 스크립트 창에서 직접 또는 그래픽 인터페이스를 통해 테이블 정의를 변경할 수 있습니다. 그래픽 인터페이스를 사용할 경우 스크립트 창에서 테이블의 정의가 자동으로 업데이트됩니다. 스크립트 창에서 SQL 코드를 적용하려면 업데이트 단추를 선택합니다. 새 버전에 대한 자세한 내용은 방법: 테이블 디자이너를 사용하여 데이터베이스 개체 만들기를 참조하십시오.

절차

아래 조건이 모두 충족되면 참조 무결성을 설정할 수 있습니다.

  • 기본 키에서 일치하는 열이 기본 키이거나 UNIQUE 제약 조건을 갖고 있는 경우

  • 외래 테이블에 있는 관련 열의 데이터 형식과 크기가 동일한 경우

참조 무결성이 적용되는 경우 다음 규칙을 준수해야 합니다.

  • 관련 테이블의 기본 키에 없는 값을 관련 테이블의 외래 키 열에 입력할 수 없습니다. 그러나 null을 외래 키 열에 입력할 수는 있습니다. 예를 들어, employee 테이블에 없는 직원에게 작업이 할당되었음을 나타낼 수는 없지만 employee 테이블의 job_id 열에 null을 입력하여 직원에게 할당된 작업이 없음을 나타낼 수는 있습니다.

  • 관련 테이블에 기본 키와 일치하는 행이 있는 경우 기본 키 테이블에서 해당 행을 삭제할 수 없습니다. 예를 들어, employee 테이블의 특정 행에 표시된 작업이 직원에게 할당되어 있으면 jobs 테이블에서 해당 행을 삭제할 수 없습니다.

  • 해당 행에 관련된 행이 있으면 기본 키 테이블의 기본 키 값을 변경할 수 없습니다. 예를 들어, employee 테이블에 job_id가 할당된 직원이 있는 경우 jobs 테이블에서 행의 job_id 값을 변경할 수 없습니다.

참고 항목

참조

외래 키 관계 대화 상자

기타 리소스

관계 작업

데이터베이스 개체