제약조건
제약조건 이름
- 제약조건 이름을 설정하지 않고 제약조건을 만들면 오라클은 sys로 시작하는 번호를
이용해서 제약조건 이름을 설정
- 제약조건은 user_constraints 테이블에 존재
- 제약조건을 만들 때 이름을 부여할 수 있는데 이 때는 제약조건 앞에 constratin 제약조건 이름을 추가하면 됨.
- 기본키에는 Pk 외래키는 fk 유일성은 ul not null은 nn체크 제약조건은 ck를 붙이는 것이 개발자들의 관습
테이블 레벨 제약조건
- 행을 만들때 제약조건을 설정하지 않고 행을 전부 선언하고 마지막에서 제약조건을 설정하는 것
- [constraint 제약조건이름] 제약조건종류 (컬럼이름)
- not null은 테이블 레벨 제약조건으로 사용할 수 없음
- 기본키는 제약조건 종류를 primary key, 유일성은 unique, check는 동일하고 외래키는
Foreign key(열 이름) References 테이블(참조할 열 이름)으로 설정함.
- 기본키를 2개 이상의 열로 만들 때는 반드시 테이블 레벨 제약조건으로 만들어야 함.
제약조건 갱신
1) 제약조건 추가
alter table 테이블명
add [constraint 제약조건이름] 제약조건종류(컬럼이름);
2) 제약조건 변경 - not null은 제약조건 추가가 아니고 변경
alter table 테이블명
modify 열이름 [constraint 제약조건이름] 제약조건종류;
3) 제약조건 삭제
alter table 테이블명
drop constraint 제약조건이름;
제약조건 활성화&비활성화
1) 제약조건을 일시적으로 비활성화: 샘플링 입력이나 테스트할 때 주로 이용
alter table 테이블명
disable constraint 제약조건이름;
2) 제약조건을 활성화
alter table 테이블명
enable constraint 제약조건이름;