무결성 제약조건의 비활성화

 

*제약조건의 비활성화

ALTER   TABLE   table

DISBLE  CONSTRAINT constraint_name [CASCADE]) ;

 

*비활성화 사용 예

-수강 테이블의 sugang_pk, sugang_studno_fk 무결성 제약조건을 비활성화 하여라.

 

무결성 제약조건 활성화 및 비활성화

 

*대용량 데이터 초기 입력시

-무결성 제약조건의 위반 여부를 검사하는 과정으로 인해 처리 시간이 오래 걸리는 경우가 발생

-이러한 경우에는 기존의 무결성 제약조건을 일시적으로 비활성화하여 데이터를 입력한 다음, 비활성화된 무결성 제약조건은 다시 활성

-ALTER TABLE 명령문에서 ENABLE 또는 DISABLE 절 사용

 

 

무결성 제약조건 삭제 예

 

*사용예

-강좌 테이블의 subject_pk_ck 무결성 제약조건을 삭제하여라.

 

 

무결성 제약조건 삭제

 

*무결성 제약조건 삭제시

-ALTER TABLE...DROP CONSTRAINT 명령문 사용

-부모 테이블의 기본키 무결성 제약조건을 삭제하는 경우

  。참조 무결성 제약조건을 먼저 삭제한 후 삭제하거나 CASCADE 옵션 사용

 

*사용법

ALTER TABLE   table

DROP  CONSTRAINT constraint_name  [CASCADE]) ;

 

-cascade:삭제되는 칼럼을 참조하는 참조 무결성 제약조건도 함께 삭제

 

 

지연 제약조건 위배되는 데이터 입력

 

*사용 예

 

 

지연 제약조건 위배되는 데이터 입력

 

*사용 예

-강좌 테이블의 무결성 제약조건(subject_id_pk)에 위반되는 데이터를 입력하여 오류 메시지를 확인하여라.

 

 

즉시 제약조건 위배되는 데이터 입력 1

 

*사용 예

-강좌 테이블에서 무결성 제약조건에 위반되는 데이터의 예를 입력하여라.

 

 

무결성 제약조건에 의한 DML 명령문의 영향

 

*즉시 제약조건(immediate constraints)에 위배되는 데이터 입력시

-테이블에 데이터를 먼저 입력한 다음 무결성 제약조건을 위반하는 명령문을 롤백

 

*지연 제약조건(deferred constraints)에 위배되는 데이터 입력시

-트랜잭션내의 DML 명령문에서 제약조건 검사를 COMMIT 시점에서 한꺼번에 처리하여 트랜잭션의 처리 성능을 향상시키기 위해 사용

 

 

+ Recent posts