.png)
데이터의 정확성과 일관성을 보장하기 위해 각 컬럼에 정의하는 규칙
데이터 추가, 수정, 삭제하는 가운데 DB의 무결성을 유지(보장)
'필수 입력 사항'을 의미
즉, NULL 값을 허용 하지 않겠다는 의미이다.
테이블 생성과 동시에 하는 구문
CREATE TABLE 테이블명 (
컬럼명1 데이터타입 NOT NULL,
컬럼명2 데이터타입,
...
);
테이블 생성후 하는 구문
ALTER TABLE 테이블명 MODIFY 컬럼명 CONSTRAINT 별칭 NOT NULL;
NOT NULL은 INSERT 할때, 즉 데이터 입력시에 누락이 되어서는 안되는 부분이다. NULL 값이 들어가게 되면 오류가 발생한다.
중복성 배제
즉, '유일한 값'으로 존재해야 함을 의미
테이블 생성과 동시에 하는 구문
CREATE TABLE 테이블명 (
컬럼명1 데이터타입 UNIQUE,
컬럼명2 데이터타입,
...
);
테이블 생성후 하는 구문
ALTER TABLE 테이블명 ADD CONSTRAINT 별칭 UNIQUE(컬럼명);
NULL 값에 대해서는 UNIQUE 제약이 적용되지 않는다.
NOT NULL + UNIQUE로 '테이블에서 대표되는 컬럼'을 의미한다.
테이블 생성과 동시에 하는 구문
CREATE TABLE 테이블명 (
컬럼명1 데이터타입 PRIMARY KEY,
컬럼명2 데이터타입,
...
);
테이블 생성후 하는 구문
ALTER TABLE 테이블명 ADD CONSTRAINT 별칭 PRIMARY KEY(컬럼명);
'참조하는 테이블에서 존재하는 값만 사용 가능'을 의미
테이블 생성과 동시에 하는 구문
CREATE TABLE 테이블명 (
컬럼명1 데이터타입 REFERENCES 참조테이블명(참조 컬럼),
컬럼명2 데이터타입,
...
);
테이블 생성후 하는 구문
ALTER TABLE 테이블명 ADD CONSTRAINT 별칭 FOREIGN KEY(참조컬럼명) REFERENCES 참조테이블명(참조컬럼명);
주어진 조건에 해당하는 값만 입력 가능
테이블 생성과 동시에 하는 구문
CREATE TABLE 테이블명 (
컬럼명1 데이터타입 CHECK(제약조건),
컬럼명2 데이터타입,
...
);
테이블 생성후 하는 구문
ALTER TABLE 테이블명 ADD CONSTRAINT 별칭 CHECK(컬럼명 조건);
CHECK는 조건에 부합하는 데이터만 입력이 가능하도록 하는 제약조건이다.
조건에는 기본연산자나 비교연산자, IN, NOT IN 등 사용이 가능하다.