릴레이 데이터 모델에 정의된 기본 제한 중 하나는 키와 관련된 무결성 제한입니다. 일관성은 데이터가 완벽하다는 것을 의미합니다.즉, 데이터가 올바르고 유효합니다. 무결성 제약의 주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스 상태를 일관되게 유지하는 것입니다. 따라서 필요한 세부 규칙도 정의됩니다.
일관성 제한은 데이터베이스 상태 또는 데이터베이스 인스턴스(즉, 데이터베이스에 저장된 데이터)가 항상 준수해야 하는 중요한 규칙입니다. 삽입, 삭제 및 수정 조작으로 데이터베이스 상태가 변경된 경우에도 무결성 제약 조건을 준수해야 합니다.
무결성은 데이터베이스의 데이터 보호에 관한 한 보안과 유사합니다. 그러나 보안이 악의적인 사용자로부터 데이터를 보호하는 것을 목표로 하는 경우 무결성은 권한이 없는 사용자의 부정확한 요구 사항으로부터 데이터를 보호하는 것입니다.
릴레이 데이터 모델에 포함된 무결성 제약 조건은 개체 무결성 및 참조 무결성 제약 조건입니다. 데이터베이스 상태를 일관되게 유지하려면 양쪽이 모두 충족되어야 합니다.
개체 무결성 제약조건
단위 무결성 제약 조건은 기본 키를 구성하는 모든 속성이 값을 가질 수 없다는 규칙입니다. 릴레이 데이터 모델은 각 관계에 대한 기본 키를 정의하므로 릴레이에 포함된 테이블을 작업으로 식별하고 각 테이블에 액세스할 수 있습니다. 그러나 기본 키를 구성하는 속성 중 일부 또는 전부를 누르면 중복 작업의 값을 결정할 수 없으므로 기본 키의 원래 목적이 손실됩니다.
고객 관계에서 CustomerID 속성은 0으로, 정적 및 고정 고객 태플의 기본 키입니다. NULL 값이 아직 설정되지 않았거나 불분명하기 때문에 정성용 고객의 ID가 다른 고객의 ID와 다른 NULL 값을 가지고 있는지 확인할 수 없습니다. 따라서 이 고객 관계는 두 명의 동일한 플레이어가 하나의 관계에서 존재할 수 없는 관계의 고유한 특성을 충족하지 못하며, 따라서 객체 수렴 제한 위반의 한 예이다. 따라서 그림에 표시된 상태의 비율은 실제로 존재할 수 없습니다.
개체 무결성 제약 조건을 충족하기 위해 새 테이블을 삽입하고 기존 테이블 기본 키 속성 값을 변경할 때 기본 키에 값이 포함된 경우 이 작업을 거부할 수 있습니다. 이 작업은 일반 사용자가 아닌 데이터베이스 관리 시스템에서 자동으로 수행되므로 새 관계가 생성될 때마다 기본 키를 설정하는 관리자에게 데이터베이스 관리 시스템에 알릴 수 있습니다.
참조 무결성 제약조건
개체 무결성 제한이 기본 키의 규칙으로 각 관계에 적용되는 경우 참조된 무결성 제약 조건은 관련 관계에 대한 외부 키의 규칙으로 간주됩니다.
참조 무결성 제약 조건은 외부 키가 참조할 수 있는 값이 없는 규칙입니다. 외부 키는 다른 관계의 기본 키와 관련된 관계 간의 관계의 템플릿 역할을 합니다. 그러나 외부 키가 참조하는 관계의 기본 키와 관련이 없는 값을 가진 경우 두 관계를 연결할 수 없기 때문에 원래 의미를 잃게 됩니다. 따라서 외부 키에는 참조할 관계에 대한 기본값으로 존재하는 값, 즉 참조할 수 있는 값만 있어야 합니다.
예를 들어, 주문 관계에서 클라이언트 속성은 클라이언트 ID 속성을 참조하는 외부 키와의 고객 관계에 대한 기본 키입니다. 참조 무결성 제약 조건을 충족하려면 주문된 고객 속성의 값이 고객 관계에서 사용 가능한 고객 ID 속성 중 하나여야 하지만 주문 번호 1001은 고객 속성이 고객 ID가 아니라는 것을 의미합니다.따라서 이러한 고객 및 계약 관계는 참조 일관성 위반의 예입니다.
주문 번호 1003은 구매자가 누구인지 모르기 때문에 가격대로 취급되었습니다. 그런 다음 외부 키를 누를 때 참조 무결성 제한을 무조건 위반한다는 것을 알아야 해요. 그것은 사실이 아니다. 주문된 고객이 누구인지 모르기 때문에 고객 관계에서 고객이 존재하지 않는다는 것을 알기 어렵기 때문에 주문된 고객 속성의 가치는 0입니다. 따라서 외부 키에 기준 일관성 제한을 충족하기 위해 기준 값만 필요한 경우 기준 일관성 제한을 위반한다고 생각해서는 안 돼요.
데이터베이스 상태가 변경되더라도 참조 일관성 제한을 충족해야 합니다. 데이터베이스 상태가 변경되더라도 참조 일관성 제한을 충족하는 몇 가지 유형의 고객 관계 및 주문 관계를 살펴봐요.
고객 관계에 새 고객 패널을 추가하는 것은 참조 무결성에 대한 제한을 위반하지 않습니다. 단, 객체 무결성 제약 조건을 위반하지 않도록 고객 ID 활동의 가치를 고객 관계에 반영해야 한다. 또한 새 주문 테이블을 주문 관계에 삽입할 때 무결성 기준을 위반하지 않도록 해야 해요. 즉, 고객 관계의 기본 키인 고객 ID 권한 값으로 존재하지 않는 값을 지정하지 않아요.
존재하지 않는 값을 클라이언트 ID 속성 값으로 선택한 경우 새 테이블을 주문 관계에 삽입하는 조작을 거부할 수 있습니다. 고객 관계에는 고객 ID 체리를 가진 고객이 없기 때문에 주문 관계(1004, 체리, 초콜릿 케이크, 20, 700, 2013-01-12)에 보드 삽입 조작이 거부됩니다.
고객 관계에서 존재하는 테이블을 삭제하는 조작은 참조된 무결성 제약 조건을 위반하지 않는 경우에만 수행됩니다. 예를 들어, 주문 관계에서 고객이 Apple과 함께 주문한 패키지가 있으며, 고객 번호 Apple을 고객 관계에서 삭제하면 주문 기록이 부정확해집니다.
관련 게시판이 주문 관계를 유지하는 경우, 고객 관계에서 고객의 게시판을 삭제하기 위한 조작을 수행하지 않거나 주문 관계에서 해당 게시판을 삭제하지 않음으로써 참조 일관성 제한을 충족해야 합니다. 또한 구매자의 환초 값을 기본값 또는 값으로 설정할 수도 있습니다. 반면에, 주문 관계에 존재하는 테이블을 삭제하는 것은 제한을 위반하지 않습니다.
테이블에 있는 기본 키 이외의 값을 변경하는 조작은 제한을 위반하지 않습니다. 그러나 기본 키인 클라이언트 ID 속성 값은 테이블이 원래 속성 값과 연결된 경우 작업 관계에서 클라이언트 속성 값을 변경하거나 새 값으로 변경하지 않음으로써 무결성 기준을 충족합니다.