-
728x90
제약조건 [constraint]
: 컬럼에 대한 속성 또는 컬럼의 데이터를 제한하는 조건
1. not null
-컬럼에 반드시 데이터를 입력해야하는 제약조건
-데이터가 삽입되지 않을시 오류 발생
create table test1( not_col varchar2(10) not null, basic_col varchar2(10) ); insert into test1 values ('','A'); -- null 값 입력으로 인한 오류 발생
2. unique
-중복되는 값을 허용하지 않는 조건
-동일한 값이 컬럼에 들어갈 시 오류 발생
create table test2( unique_col varchar2(10) unique, basic_col varchar2(10) ); insert into test2 values ('A','aa'); --정상 insert into test2 values ('A','aa'); --중복값으로 인한 오류 발생
3. primary key
-unique와 마찬가지로 중복값을 허용하지 않는 점과 동시에 not null 이 합쳐진 제약조건
-기본적으로 테이블에서 데이터를 식별할 때 사용되는 키로 테이블에 하나만 생성할 수 있음
create table test3( pri_col varchar2(10) primary key, basic_col varchar2(10) ); insert into test3 values ('A','aa'); --정상 insert into test3 values ('A','aa'); --중복값으로 인한 오류 발생
4. foreign key
-다른 테이블을 참조하는 제약조건으로 데이터간의 무결성을 위한 제약조건
-foreign key를 사용하기 위해서는 참조하는 테이블을 먼저 생성해야 하며 참조하는 데이터는 기본키로 만들어져 있어야 함
create table test4( pri_col varchar(10), constraint pri_col foreign key(pri_col) references test3(pri_col) ); insert into test4 values ('B'); --오류 insert into test4 values ('A'); --정상
5. check
-조건을 통해 테이블에 입력되는 데이터를 체크하여 조건에 맞지 않는 데이터가 삽입될 때 오류 발생
create table test5( gender varchar2(10) check ( gender in ('male', 'female')) ); insert into test5 values ('m'); --오류 insert into test5 values ('female'); -- 정상
1. default
-제약조건은 아니지만 컬럼 특성중 하나
-default 설정시 따로 데이터 입력을 하지 않아도 default 값이 들어감
create table test6( basic_col1 varchar2(10) not null, basic_col2 varchar2(10) null, default_col date default sysdate ); insert into test6 (basic_col1, basic_col2) values ('A','aa');
728x90'database > oracle' 카테고리의 다른 글
[Oracle] 오라클 유저 생성하기 (1) 2023.10.14 [Oracle] Oracle 다운로드 및 다운로드 확인 (0) 2023.10.14