본문 바로가기

오라클 ADMIN

Constraints


Constraint = 제약조건

테이블에 올바른 데이터만 입력 받고 잘못된 데이터는 들어오지 못하도록 칼럼마다 정하는 규칙


▶ 자세한 내용은 http://hayleyfish.tistory.com/47 를 참고하기




제약조건 종류


- NOT NULL -> null 값 입력 안됨


- UNIQUE -> 중복값 입력 안됨


- PRIMARY KEY -> NOT NULL + UNIQUE


- FOREIGN KEY -> 다른 테이블의 칼럼을 참조해 무결성 검사


- CHECK -> 설정된 값만 입력




제약조건 관리


- DISABLE NOVALIDATE

기본값, 제약조건이 없는 것과 동일하게 작동


- DISALBE VALIDATE

테이블의 내용 변경 안됨


- ENABLE NOVALIDATE

기존의 데이터는 검사하지 않고, 신규 데이터만 제약조건 검사해서 들어옴


- ENABLE VALIDATE

기존데이터와 신규데이터 모두 검사

Exceptions table 를 사용해 문제가 되는 행을 찾는다. (utlexcpt1.sql 스크립트를 통해 exception table 생성 후 사용)



제약조건 상태 조회

select table_name, constraint_name, column_name

from user_cons_columns

where table_name='테이블명' ;




테이블 생성시 제약조건 생성하는 예

CREATE TABLE hr.employee(

id NUMBER (7)

CONSTRAINT employee_id_pk PRIMARY KEY

DEFERRABLE --> 나중에 모아서 제약조건 검사, IMMIDIATE 로 쓰면 입력될때마다 바로바로 제약조건검사

USING INDEX 

STORAGE(INITIAL 100K NEXT 100K) --> ASSM으로 자동적으로 설정되기 때문에 생략 가능

TABLESPACE inde, --> 인덱스 테이블스페이스와 테이블스페이스 따로 분리 시켜야 함

last_name VARCHAR2 (25)

CONSTRAINT employee_lastname_nn NOT NULL,

dept_id NUMBER (7))

TABLESPACE users ; --> 인덱스 테이블스페이스와 테이블스페이스 따로 분리 시켜야 함




'오라클 ADMIN' 카테고리의 다른 글

Users  (0) 2013.01.21
Profiles  (0) 2013.01.21
Index  (0) 2013.01.20
Table  (0) 2013.01.20
Undo  (0) 2013.01.17