Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 2.81 KB

2019-03-18-key.md

File metadata and controls

46 lines (37 loc) · 2.81 KB

기본 테이블 생성

기본 테이블은 CREATE TABLE로 만들어지는 테이블로 독자적으로 존재하는 테이블이다.

독자적으로 존재? 테이블과 행(튜플)들이 DBMS에 의해 하나의 파일로 생성되고 저장된다는 의미

CREATE TABLE 테이블 이름 (
        컬럼명1 DATATYPE [DEFAULT 형식],
        컬럼명2 DATATYPE [DEFAULT 형식],
        컬럼명3 DATATYPE [DEFAULT 형식]
);

제약조건(Constraint)

테이블 작성시에 Constraint를 사용해 입력하는 데이터에 대해 제약을 정해줄 수 있다. 제약조건은 사용자가 원하는 조건의 데이터만 유지하기 위한 특정 컬럼에 설정하는 제약이다. 테이블 생성시 제약조건을 반드시 기술할 필요는 없다.

구분 설명
PRIMARY KEY - 테이블에 지정된 행 데이터를 고유하기 식별하기 위한 기본키
- 하나의 테이블에 하나의 기본키 제약만 정의할 수 있다.
- 기본키 제약을 정의하면 DBMS는 자동으로 UNIQUE 인덱스를 생성하며, 기본키를 구성하는 컬럼에는 NULL값을 입력할 수 없다.
- PRIMARY KYE = UNIQUE KEY & NOT NULL
UNIQUE KEY - 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키 정의
- 중복성 배제, 유일한 값으로 존재해야한다.
- NULL은 고유키 제약의 대상이 아니므로, NULL값을 가진 행이 여러 개 있더라도 제약 위반이 되지 않는다.
NOT NULL NULL값의 입력을 금지한다. 이 제약을 지정함으로써 해당 컬럼은 입력 필수가 된다.
CHECK 입력할 수 있는 값의 범위 등을 제한한다. CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식을 지정한다.
FOREIGN KEY - 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 생성된다.
- 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.

PRIMARY KEY

CREATE TABLE 테이블 이름 (
        컬럼명1 DATATYPE PRIMARY KEY
        컬럼명2 DATATYPE [DEFAULT 형식],
        컬럼명3 DATATYPE [DEFAULT 형식]
);
CREATE TABLE 테이블 이름 (
        컬럼명1 DATATYPE [DEFAULT 형식],
        컬럼명2 DATATYPE [DEFAULT 형식],
        컬럼명3 DATATYPE [DEFAULT 형식],
  			CONSTRAINTS 기본키_이름 PRIMARY KEY(컬럼1, 컬럼2)
);

PRIMARY KEY는 하나의 테이블에 있는 데이터들을 식별하기 위한 기준으로 인식되는 제약조건이다. UNIQUE와 달리 한개의 테이블에 하나만 생성이 가능하다.