관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
무결성 0 0 1,101

by 구루비스터디 무결성 정합성 Integrity 엔티티무결성 참조무결성 도메인무결성 [2017.09.03]


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 차원에서의 제약

"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3674

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입