DB
ORACLE에서의 제약사항(Constraint)
Jonny
2022. 1. 10. 15:03
제약사항(Constraint)
컬럼에 대한 속성 형태로 정의하지만 엄연히 오라큰 데이터베이스 객체 중 하나이며 데이터 무결성을 보장하기 위한 용도로 사용.
- Not Null
- 컬럼 생성시 지정하지 않으면 default로 Null이 허용 가능하게 되어 있다. 이를 방지하기 위함.
- ex ) name varchar2(10) NOT NULL;
- 컬럼 생성시 지정하지 않으면 default로 Null이 허용 가능하게 되어 있다. 이를 방지하기 위함.
- Primary key
- 기본키이다. Null 값을 갖지 못하고, 중복된 값도 가질 수 없다. 즉, UNIQUE와 NOT NULL을 동시 정의한 것과 같다.
- ex ) bno number primary key;
- 기본키이다. Null 값을 갖지 못하고, 중복된 값도 가질 수 없다. 즉, UNIQUE와 NOT NULL을 동시 정의한 것과 같다.
- Foreign Key
- 외래키이다. 이 외래키로 지정된 컬럼은 반드시 다른 테이블의 “Primary Key(기본키)”와 참조 관계를 가지게 되고 외래키로 지정된 컬럼은 참조관계를 가진 테이블의 기본키에 있는 값만을 가질 수 있다. 즉, Null값은 허용하되, 참조하고 있는 테이블의 기본키에 있는 값만 입력될 수 있다.
- ex ) constraints 외래키명 foreign key references 참조테이블명
- 외래키이다. 이 외래키로 지정된 컬럼은 반드시 다른 테이블의 “Primary Key(기본키)”와 참조 관계를 가지게 되고 외래키로 지정된 컬럼은 참조관계를 가진 테이블의 기본키에 있는 값만을 가질 수 있다. 즉, Null값은 허용하되, 참조하고 있는 테이블의 기본키에 있는 값만 입력될 수 있다.
- Unique
- 중복이 허용되지 않도록 데이터를 넣어야 하는 경우 사용.
- ex) bno number UNIQUE;
- 중복이 허용되지 않도록 데이터를 넣어야 하는 경우 사용.
- Default
- 아무런 값을 입력 하지 않았을 때, 디폴트로 설정한 값이 입력되도록 하는 것.
- Check
- Mysql enum 데이터 타입과 비슷한 효과로, 입력될 수 있는 데이터의 종류를 제한 할 수 있다.
- bno number primary key CHECK (bno between 1 and 10) 으로 하면 1~10 값만 가능
- Mysql enum 데이터 타입과 비슷한 효과로, 입력될 수 있는 데이터의 종류를 제한 할 수 있다.