기본 테이블은 CREATE TABLE
로 만들어지는 테이블로 독자적으로 존재하는 테이블이다.
독자적으로 존재? 테이블과 행(튜플)들이 DBMS에 의해 하나의 파일로 생성되고 저장된다는 의미
CREATE TABLE 테이블 이름 (
컬럼명1 DATATYPE [DEFAULT 형식],
컬럼명2 DATATYPE [DEFAULT 형식],
컬럼명3 DATATYPE [DEFAULT 형식]
);
테이블 작성시에 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 | - 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 생성된다. - 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다. |
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와 달리 한개의 테이블에 하나만 생성이 가능하다.