참조 무결성은 관계형 데이터베이스 관리 시스템의 데이터베이스 기능입니다. 사용자 또는 응용 프로그램이 부정확 한 데이터를 입력하거나 존재하지 않는 데이터를 가리키는 것을 방지하기 위해 제약 조건을 적용하여 데이터베이스의 테이블 간의 관계를 정확하게 유지합니다.
데이터베이스 는 테이블을 사용하여 포함 된 정보를 구성합니다. Excel과 같은 스프레드 시트와 비슷하지만 고급 사용자가 사용할 수 있습니다. 데이터베이스는 테이블 간의 관계를 유지하는 기본 키와 외래 키를 사용하여 작동합니다.
기본 키
데이터베이스 테이블의 기본 키 는 각 레코드에 할당 된 고유 식별자입니다. 각 테이블에는 기본 키로 지정된 하나 이상의 열이 있습니다. 사회 보장 번호는 각 사회 보장 번호가 고유하기 때문에 직원의 데이터베이스 목록에 대한 기본 키가 될 수 있습니다.
그러나 개인 정보 보호 문제로 인해 할당 된 회사 ID 번호는 직원의 기본 키 역할을하기에 더 좋은 선택입니다. Microsoft Access와 같은 일부 데이터베이스 소프트웨어는 기본 키를 자동으로 할당하지만 무작위 키는 실제 의미가 없습니다. 레코드에 의미가있는 키를 사용하는 것이 좋습니다. 참조 무결성을 적용하는 가장 간단한 방법은 기본 키를 변경할 수 없도록하는 것입니다.
외래 키
외래 키 는 다른 테이블의 기본 키와 일치하는 테이블의 식별자입니다. 외래 키는 다른 테이블과의 관계를 만들고 참조 무결성은 이러한 테이블 간의 관계를 나타냅니다.
한 테이블에 다른 테이블에 대한 외래 키가있는 경우 참조 무결성의 개념에 따라 연결된 테이블에 해당 레코드가 없으면 외래 키가 들어있는 테이블에 레코드를 추가 할 수 없다는 내용이 있습니다. 또한 연결된 테이블에 대한 변경 사항이 기본 테이블에 반영되도록하는 계단식 업데이트 및 계단식 삭제라는 기술이 포함되어 있습니다.
참조 무결성 규칙의 예
두 개의 테이블이있는 상황을 고려하십시오 : 직원 및 관리자. Employees 테이블에는 ManagedBy라는 외래 키 속성이 있습니다.이 특성은 Managers 테이블의 각 직원의 관리자 레코드를 가리 킵니다. 참조 무결성은 다음 세 가지 규칙을 적용합니다.
- ManagedBy 속성이 Managers 테이블의 유효한 레코드를 가리 키지 않으면 Employees 테이블에 레코드를 추가 할 수 없습니다. 참조 무결성은 테이블에 잘못된 세부 사항을 삽입하는 것을 방지합니다. 참조 + 결성 규 "을 만족시키지 못하는 조작은 실패합니다.
- Managers 테이블의 레코드에 대한 기본 키가 변경되면 계단식 업데이트를 사용하여 Employees 테이블의 모든 해당 레코드가 수정됩니다.
- Managers 테이블의 레코드가 삭제되면, 계단식 삭제를 사용하여 Employees 테이블의 모든 해당 레코드가 삭제됩니다.
참조 무결성 제약 조건의 장점
참조 무결성이있는 관계형 데이터베이스 관리 시스템을 사용하면 몇 가지 장점이 있습니다.
- 중복 데이터 입력을 방지합니다.
- 한 테이블이 다른 테이블의 존재하지 않는 필드를 가리키는 것을 방지합니다.
- "파트너"테이블 간의 일관성을 보장합니다.
- 다른 테이블의 외래 키로 참조되는 값이 들어있는 레코드를 삭제하지 못하게합니다.
- 연결된 테이블에 기본 키가 없으면 외래 키가 들어있는 테이블에 레코드를 추가 할 수 없습니다.