개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* ​무결성 제약조건 삭제시
- ALTER TABLE … DROP CONSTRAINT 명령문 사용
- 부모 테이블의 기본키 무결성 제약조건을 삭제하는 경우
- 참조 무결성 제약조건을 먼저 삭제한 후 삭제하거나 CASCADE 옵션 사용

 

 

 

 

 

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

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

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

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

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

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

* 즉시 제약조건(immediate constraints)에 위배되는 데이터 입력시
- 테이블에 데이터를 먼저 입력한 다음 무결성 제약조건을 위반하는 명령문을 롤백

 

* 지연 제약조건(deferred constraints)에 위배되는 데이터 입력시
- 트랜잭션내의 DML 명령문에서 제약조건 검사를 COMMIT 시점에서 한꺼번에 처리하여 트랜잭션의 처리 성능을 향상시키기 위해 사용 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* NULL을 제외한 무결성 제약조건 추가
- ALTER … ADD CONSTRAINT 명령문 사용

 

 

 

 

* NULL 무결성 제약 조건 추가
- ALTER TABLE…MODIFY 명령문 사용

 

 

 

* 사용 예
- 학생 테이블 인스턴스를 참조하여 studno에 기본 키, idnum에 고유 키,name에 NOT NULL 무결성 제약조건을 추가하여라.

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

* ON DELETE CASCADE
-부모 테이블에서 외래 키가 참조하는 기본 키나 고유 키를 포함한 행을 삭제할 경우 자식 테이블의 외래 키를 포함하는 행도 함께 삭제
* USING INDEX
- 기본 키나 고유 키 무결성 제약조건 생성시 묵시적으로 생성되는 인덱스에 대한 스토리지 파라미터 정의 
* NOT DEFERRABLE :
- 하나의 DML 명령문이 처리될 때마다 제약조건 위반 여부를 검사, defer_spec을 명시하지 않을 경우에는 기본 값
* DEFERRABLE
 - 트랜잭션내의 모든 DML 명령문에 대한 제약조건 검사를 트랜잭션 종료 시까지 연기
* INITIALLY IMMEDIATE
- DML 명령문이 종료될 때마다 제약조건 검사
* INITIALLY DEFERRED
- 트랜잭션이 끝날 때만 제약조건 검사 

+ Recent posts