Old/Oracle

09_CONSTRAINT

깨꾹2 2018. 10. 30. 09:04

CONSTRAINT :  제약조건


1) NOT NULL : 해당열에 널 값이 없도록 하기위한 제약조건

2) UNIQUE : 지정된 열에 대해 널값은 허용이나 중복값은 허용하지 않는 제약조건

3) PRIMARY KEY : 테이블의 각 행을 식별하기 위한 제약조건, 테이블당 하나의 기본키를 생성할 수 있으며 기본키는 중복값과 널값을 갖을 수 없다.

4) FOREIGN KEY : 동일한 테이블 또는 다른 테이블에서 기본키 또는 고유키를 참조하는 제약조건, 부모 테이블의 값과 일치하거나 널값을 가져야한다.

4.1) ON DELETE CASCADE : 부모 테이블의 행이 삭제되는 경우 자식 테이블의 종속행을 삭제하는 옵션

4.2) ON DELETE SET NULL :  부모 테이블의 행이 삭제되는 경우 종속 외래키 값을 널로 변환하는 옵션

5) CHECK : 각 행이 만족시켜야 하는 조건을 정의


테이블 생성시 NOT NULL 제약조건 생성



테이블 생성후 NOT NULL 제약조건 추가하는 방법





테이블 생성시 UNIQUE 제약조건 생성



생성된 테이블에 UNIQUE 제약조건 추가



테이블 생성시 PK 제약조건 생성 기본키의 이름은 컴퓨터가 알아서 생성한다.


테이블 생성시 PK 제약조건 생성 기본키 이름을 지정할 수 있다.


 생성된 테이블에 PK 제약조건 추가하기



테이블 생성시 FK 제약조건 생성하기 REFERENCE 참조할테이블(컬럼)이다


참조할 테이블의 컬럼은 반드시 UNIQUE 또는 PK여야 오류가 발생하지 않는다.



생성된 테이블에 FK 제약조건 추가하는 방법 



ON DELETE CASCADE 옵션을 추가한 모습




ON DELETE SET NULL 옵션을 추가한 모습



CHECK 제약조건을 사용하는 모습





제약조건 확인하는법 


제약조건 삭제하는 방법


pkTestName = 테이블명


SYS_C006997 = 제약조건 명


'Old > Oracle' 카테고리의 다른 글

11_JOIN  (0) 2018.10.31
10_SubQuery  (0) 2018.10.31
08_COMMIT  (0) 2018.10.26
07_SELECT(AS, AND, OR, BTWEEN AND, IN, ISNULL, LIKE, ORDER BY, GROP BY, HAVING)  (0) 2018.10.23
06_데이터(INSERT, UPDATE, DELETE, MERGE)  (0) 2018.10.23