DB

테이블 생성, 제약조건(CONSTRAINT)

보겸삼촌 2019. 6. 25. 14:05

데이터베이스 공통 테이블 생성 구문 형식

 

-- 테이블 생성

CREATE TABLE 테이블명(

      칼럼명   DATATYPE   [DEFAULT 형식],  

      칼럼명   DATATYPE   [DEFAULT 형식], 

      칼럼명   DATATYPE   [DEFAULT 형식]    [AS 별칭명]

 

      [CONSTRAINT  칼럼명  PRIMARY KEY  (칼럼명)],

      [CONSTRAINS  칼럼명  FOREIGN KEY  (칼럼명)  REFERENCES  참조할 테이블명(참조할 테이블 칼럼명)]

); 

  > 한 테이블 내에서는 칼럼명이 중복되면 안 됨

  > 예약어는 사용할 수 없음

  > [ ] 는 옵션으로 생략해도 됨

 

 

 

1. 테이블 생성

 

예시)

-- 테이블 생성 예시

CREATE TABLE TEST_TABLE_02(

    TEST_ID           VARCHAR(20)     NOT NULL,

    TEST_NAME           CHAR(20)     NOT NULL,

    TEST_DEPT       VARCHAR(10),

    TEST_DATE                 DATE,

    TEST_NUM          NUMBER(3),

 

    CONSTRAINT    TEST_PK   PRIMARY KEY  (TEST_ID)

);

 

COMMIT;

 

- 결과 

 

테이블 생성 시 제약조건으로 기본 키 TEST_PK가 설정되었음을 확인

 

 

 

2. 제약조건 (CONSTRAINT)

 

테이블 생성 혹은 수정 시 제약조건을 반드시 사용할 필요는 없음

 

구분 설명
PRIMARY KEY

기본키

- 테이블에 저장된 행 데이터를 고유하게 식별

- 하나의 테이블에는 하나의 기본키 제약만 정의 가능

- 기본키 제약조건을 생성하면 DBMS에서 자동으로 UNIQUE 인덱스를 생성

- 기본키 칼럼에는 NULL을 입력할 수 없음

FOREIGN KEY

외래키

- 참조 무결성 제약조건 선택

- 관계형 데이트베이스에서 테이블 간의 관계를 정의하기 위해서 기본키를 다른 테이블의 외래키로 복사하는 경우 사용

UNIQUE KEY

고유키

- 테이블에 저장된 데이터를 고유하게 식별

- NULL은 고유키의 제약조건의 대상이 아님

NOT NULL

NULL 값 입력 금지

CHECK

입력할 수 있는 도메인 제한

- 값의 범위

- 평가할 수 있는 논리식 지정(TRUE OR FALSE)

 

'DB' 카테고리의 다른 글

[MYSQL] MYSQL 설치  (0) 2019.08.22
MSSQL - MSSQL_SERVER 2014 (EXPRESS, 무료 설치  (0) 2019.07.11
테이블 생성 (SELECT 이용)  (0) 2019.06.25
테이블 구조 확인 (DESC)  (0) 2019.06.25