2.2 무결성

정의

  • 무결성은데이티 값이 정확한 상태를 의미한다.


무결성의 종류

엔터티 무결성(Entity Integrity)
  • 엔터티에 존재히는 모든 인스턴스는 고유해야 하며 널(Null) 값을 가지면 안 된다는 것이 엔터티 무결성 (Entity Integrity)이다.
  • 엔티티에는 동일한 주 식띨지-기 존재할 수 없으며 주 식별자 속성은 모르는 값인 널(Null) 값을 허용할 수 없다.


참조 무결성 (Referential Integrity)
  • 엔티티의 외래 식별자 속성은 참조되는 엔터티의 주 식별자 값과 일치히카나 널(Null) 값이어야 한다.


도메인 무결성(Domain Integrity)
  • 속성 값과 관련된 제약이다
  • 엔터티의 특정 속성 값은 같은 데이터 타입과 길이,같은널 여부, 같은 기본값, 같은 허용값등 동일한 법주의 값만이 존재해야 한다


업무 무결성(Business Integrity)
  • 기업에서 업무를 수행히는 방법이나 데이터를 처리히는 규칙을의미한다.
  • 넓게 보면 엔터티 무결성이나 참조 무결성 도메인 무결성도 업무 무결성에 포함될 수있다
  • 예) 주문 금액이 3만원 이상이면 배송비가 무료이다 , 초회 보험료를 입금하지 않은 보험 계약은 효력이 없다'
  • 업무 무결성을 물리적으로 강제히는 대표적인 벙법에는 트리거 (Trigger)가 존재한다.


DBMS에서 제공하는 규칙

입력규칙

  • Dependent 입력 규칙 : 상위(부모) 엔터티에 해당하는 주 식별자 값이 존재할때만 하위(자식) 앤터티의 외래 식별
    자에입력가능
  • Automalic 입력 규칙 : 상위(부모) 엔터티에 해당하는 주 식별자 값이 없을 떼 상위(부모) 엔터티에 주 식별지를 생
    성하고 나서 하위(자식) 엔터티의 외래 식별자에 입력
  • Default 입력 규칙 : 싱위(부모) 엔터티에 해당하는 주 식별자 값이 없을때 하위(자식) 앤터티의 외래 식별지에 기
    본 값으로 입력, 외래 식별지에 기본값Ol 설정돼 있어야 함
  • Nullify 입력 규칙 : 상위(부모) 엔터티에 해당하는 주 식별자 값이 없을 때 하위(자식) 앤터티의 외래 식별자에 널
    (Null) 값으로 입력 외래 식별자는 널(Null) 허용으로 설정해야 함


삭제규칙

  • Reslricl 삭제 규칙 : 상우K부모) 엔터티의 주 식별자를 삭제할 때,같은 값이 하위(자식) 엔터티의 외래 식별자에 없
    을 떼만 상위부모) 엔터티의 주 식별자삭제를 허용
  • Cascade 삭제 규칙 : 상위(부모) 앤터티의 주 식별자를 삭제할 때,같은 값이하위(자식) 맨터티의 외래 식별자에
    존재하면 해당 값을 모두 삭제하고 나서 상위(부모) 엔터티의 주 식별자삭제
  • Default 삭제 규칙 : 상위(부모) 엔터티의 주 식별지를 삭제할 때, 같은 값이 하위(자식) 엔터티의 외래 식멸자에 존
    재하면 해당 값을 모두 기본 값으로 수정하고 나서 상위(부모) 엔터티의 주 식별자삭제
  • Nullify 삭제 규칙 : 상위부모) 엔터티의 주 식별지를 삭제할 때, 같은 값이 하위(자식) 엔터티의 외래 식별지에 존재
    하면 해당 값을 모두 널(Null) 값으로 수정하고 나서 상위(부모)엔터티의 주 식별자 삭제


수정규칙

  • Restrict 수정 규칙 : 상위(부모) 맨터티의 주 식별자를 업데이트할 때, 같은 값이 하위(자식) 엔터티의 외래 식별자
    에 없을 때만 상위(부모) 앤터티의 주 식별자를 수정
  • Cascade 수정 규칙 : 상위(부모) 엔터티의 주 식별자를 업데이트할 때, 같은 값이 하위(자식) 엔터티의 외래 식별자 에 존재하면 해당 값을 모두 업데이트한후에 상위(부모) 엔터티의 주 식별지를 수정


DBMS 차원에서의 제약