제약조건이란 테이블에 데이터 삽입 또는 변경시, 제약 사항을 설정하여 데이터의 일관성을 유지할 수 있도록 하는 조건을 의미합니다.
제약조건의 대상에 따라 컬럼 제약조건과 테이블 제약조건으로 구분할 수 있고, 제약 사항에 따라서 ALTIBASE HDB는 다음과 같은 제약조건을 제공합니다.
제약조건 | 설명 |
---|---|
PRIMARY KEY | PRIMARY KEY값은 테이블 내에서 유일해야 하며, NULL 값을 가질 수 없다. 한 테이블 내에 정의 가능한 PRIMARY KEY 개수는 하나이다. |
UNIQUE | UNIQUE값은 테이블 내에서 유일해야 한다. NULL 값은 포함 가능하다. |
FOREIGN KEY | 다른 테이블의 PRIMARY KEY/UNIQUE 값을 참조하는 외래키를 정의한다. |
NOT NULL/NULL | NOT NULL : 해당 칼럼에 NULL 값을 가질 수 없다. NULL : 해당 칼럼에 NULL 값을 가질 수 있다. |
DEFAULT | 컬럼 값을 명시해 주지 않을 경우 기본으로 저장될 값을 명시 지정되지 않으면 기본 값은 NULL로 명시된다. |
ALTIBASE HDB는 ANSI SQL92 표준을 준수하며, 그에 해당하는 제약조건을 제공하지만 CHECK 제약조건은 제공하지 않기 때문에 제약조건 사용 시 유의해야 합니다.
컬럼 정의 시, 하나의 컬럼에 대해 정의한 제약조건을 컬럼 제약조건이라고 하고, 여러 개의 컬럼들에 대해 하나의 제약조건을 테이블 정의 하단 부분에 정의하는 것을 테이블 제약조건이라고 합니다.
NULL/NOT NULL 제약조건과 TIMESTAMP 제약조건은 컬럼 제약조건으로만 정의할 수 있고, 그 외 제약조건들은 컬럼 제약조건 또는 테이블 제약조건으로 정의할 수 있습니다.
CREATE TABLE table_name ( column_name datatype [DEFAULT expr] [CONSTRAINT constraint_name] constraint_type, … ) ;
CREATE TABLE table_name ( column_name datatype [DEFAULT expr] , … [CONSTRAINT constraint_name] constraint_type (column_name), … ) ;
- 강좌 URL : http://www.gurubee.net/lecture/2171
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.