ALTIBASE HDB 5.3.3 기초강좌
제약조건 0 1 40,254

by Altibase 제약조건 PRIMARY KEY UNIQUE FOREIGN KEY DEFAULT [2011.11.30]


  제약조건이란 테이블에 데이터 삽입 또는 변경시, 제약 사항을 설정하여 데이터의 일관성을 유지할 수 있도록 하는 조건을 의미합니다.

  제약조건의 대상에 따라 컬럼 제약조건과 테이블 제약조건으로 구분할 수 있고, 제약 사항에 따라서 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

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 손님 [2013.06.04 16:16:14]
altibase의 primary key에는 auto increment를 먹일수가 없나요??
mysql의 경우에는 그런 형태의 제약이 가능했는데요,,
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입