DDL은 DB구조, 데이터 형식, 접근방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.
3가지의 유형이 있는데
CREATE | 스키마, 도메인, 테이블, 뷰, 인덱스를 정의함 |
ALTER | 테이블에 대한 정의를 변경하는데 사용함 |
DROP | 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제함 |
이중 가장 자주 사용하는 테이블을 기준으로 설명하겠다.
1. CREATE
CREATE 테이블을 정의하는 명령문이다.
기본 테이블에 포함될 모든 속성에 대하여, 속성명과 그 속성의 데이터타입, 기본값 , NULL 값 허용 여부를 지정한다.
- Primary Key : 기본키로 사용할 속성을 지정함
- 기본키 ( 후보키중에서 특별히 선정된 키 )
- 데이터를 보다 명확하게 구분하고 찾기 위한 식별자
PK ( 기본키 )의 특징 1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다. 2. 값의 중복이 없어야 한다. 3. NULL 값을 가질 수 없다. |
- UNIQUE : 대체키로 사용할 속성을 정함, 중복된 값을 가질수 없음
- CREATE UNIQUE INDEX id_idx ON STUDENT (id desc);
- FOREIGN KEY : 외래키로 사용할 속성을 정함
- CONSTRAINT: 제약조건의 이름을 지정함
예제: (정보처리기사 실기 19년도 출제 문제)
create table patient (
id char(5) PRIMARY KEY,
name char(10),
sex char(1),
phone char(10),
CONSTRAINT sex_ck CHECK (sex ='f' or sex = 'm'),
CONSTRAINT id_fk FOREIGN KEY(id) REFERENCES doctor(doc_id) );
sex 속성은 f 또는 m 값만 갖도록 한다 ( 제약조건명 : sex_ck)
id는 <doctor> 테이블에 있는 'doc_id' 를 참조한다. ( 제약조건명 : id_fk )
2. ALTER
ALTER 테이블은 테이블에 대한 정의를 변경하는 명령문이다.
ADD | ALTER TABLE 테이블명 ADD 속성명 데이터_타입 alter table student add id varchar(10); |
|
ALTER | ' set ' | ALTER TABLE 테이블명 ALTER 속성명 SET 'XXX'; |
DROP | ALTER TABLE 테이블명 DROP COLUMN 속성명 |
3. DROP
DROP 테이블은 테이블에 대한 정의를 삭제하는 명령문이다.
- DROP TABLE "테이블명"
'개발 > DB' 카테고리의 다른 글
[SQL] 2.데이터 조작어(DML) (0) | 2021.04.28 |
---|