반응형

Constraint란?

테이블 생성 시에 Constraint, 즉 제약조건을 사용해서 입력하는 자료에 대해 제약을 정해줄 수 있습니다.

이때 정해진 제약에 따라서 데이터가 입력되는데 , 제약에 맞지 않다면 자료 입력이 거부되면서 오류가 납니다.

RDMBS에서는 데이터의 무결성을 위해 5가지 제약조건을 제공하고 있습니다.

NOT NULL 값이 NULL이 아닌값을 의미합니다.
UNIQUE 유일한 값으로 존재해야한다는 것을 의미합니다.
PRIMARY KEY NOT NULL과 UNIQUE를 합친것으로, 테이블에서 대표되는 컬럼을 의미합니다.
FOREIGN KEY '참조하는 테이블에서 존재하는 값만 사용 가능'을 의미합니다.
CHECK 주어진 조건에 해당하는 값만 입력가능을 의미합니다.

 

 

NOT NULL

특정 컬럼의 값이 반듯이 입력되어야 한다고 지정하는 것입니다.
NOT NULL은 테이블에 데이터를 INSERT 할 때 값이 없어서는 안 되는 부분입니다.
NOT NULL이기 때문에 NULL값도 들어갈 수 없습니다.

UNIQUE

특정 칼럼의 값이 중복되지 않도록 하는 것입니다.
UNIQUE는 해당 테이블에 있어서 존재하는 값이 유일해야 합니다.
만약 INSERT, UPDATE시에 동일한 데이터를 집어넣으려 한다면 오류가 납니다.
하지만 NULL값에 대해서는 제약이 적용되지 않기 때문에 여러 개의 NULL값을 넣을 수 있습니다.

PRIMARY KEY

NOT NULL과 UNIQUE 제약조건을 합친 제약조건입니다.
한 개의 테이블에 한 칼럼만 생성이 가능하며, NULL값이 있으면 안 되고 해당 칼럼의 데이터는 중복되면 안 됩니다.
PRIMARY KEY는 하나의 테이블에 있는 데이터들을 식별하기 위한 기준으로 인식되는 제약조건입니다.

FOREIGN KEY

해당 칼럼에 참조하는 테이블로부터 존재하는 값들만 사용한다는 의미의 제약조건입니다.
만약에 참조하는 테이블에 해당하는 값이 없을 때에는 INSERT, UPDATE시에 오류를 발생시킵니다.
외래 키(FOREIGN KEY)로 두 테이블이 부모 자식 테이블로 관계를 맺고 있을 시에는
자식 테이블이 참조하는 데이터는 부모 테이블에서 삭제가 불가능합니다.

CHECK

조건에 부합하는 데이터만 입력이 가능하도록 하는 제약 조건입니다.
조건에는 기본 연산자나 비교 연산자 등이 사용 가능합니다.

반응형

+ Recent posts