- 테이블의 해당 컬럼에 잘못된 값이 입력/변경/삭제되는 것을 방지하기 위해
설정되는 조건(무결성 제약조건)
- 결함이 없는 데이터를 관리하기 위함(실행했을때 오류가 뜨지 않았지만 잘못된 데이터가 들어간 경우)
제약조건에 이름 부여하기)
(1) 컬럼레벨: 제약조건이 하나일때 컬럼에 쓸 수 있다.
컬럼명 자료형 CONSTRAINTS 제약조건명 제약조건
(2) 테이블레벨: 제약조건을 여러개 주고 싶을때 사용
컬럼명 자료형,
CONSTRAINT 제약조건명 제약조건(컬럼명)
제약조건 이름을 부여하지 않을 때)
컬럼명 자료형 제약조건
1) 종류
<1> PRIMARY KEY (기본키)
- 하나의 테이블에 하나만 존재하며 각 행을 식별하기 위한 용도로 사용
- NULL값을 허용하지 않고 중복값을 허용안함(NOT NULL + UNIQUE KEY)
예시)
EMPNO NUMBER(4) PRIMARY KEY
<2> FOREIGN KEY (외래키,참조키)
- 부모테이블의 특정 컬럼(기본키)를 참조하는 컬럼
- 부모테이블에 참조하는 값이 없으면 오류가 발생한다.
예시)
EMPNO NUMBER(4) REFERENCE 부모테이블명(컬럼명)
- 테이블레벨
EMPNO NUMBER(4) ,
CONSTRAINT 제약조건명 REFERENCE 부모테이블명(컬럼명)
<3> UNIQUE KEY(유일키)
- 컬럼의 모든 값이 유일해야 하는 경우에 사용. 중복데이터를 허용하지 않음
- NULL은 허용됨
<4> CHECK 제약조건
- 조건에 맞는 데이터만 입력되도록 조건을 부여하는 제약조건
<5> NOT NULL 조건
- NULL값을 허용하지 않는 컬럼에 설정