1. DDL (Data Definition Language, 데이터 정의 언어)
ㅇ 스키마, 데이터베이스, 테이블, 뷰, 인덱스, 도메인, 제약조건 등 각종 RDB 객체들에 대한
생성,변경,삭제 등을 관리하기 위한 SQL 언어
- 주로, DBA가 많이 사용하는 SQL 언어
ㅇ 명령어 例) CREATE, ALTER, DROP, CREATE VIEW, DROP VIEW 등
ㅇ 이 범주로는 작업의 완정성을 보장해주는 트랜잭션 기능이 없으므로,
- rollback(되돌림),commit(완전적용) 등을 실행시킬 수 없음
2. 테이블 생성
ㅇ CREATE TABLE 문
- CREATE TABLE <테이블명>
( <칼럼명1> <자료형> <칼럼1 제약조건>,
<칼럼명2> <자료형> <칼럼2 제약조건>,
...
<테이블 옵션1>,...
);
- 例) CREATE TABLE goods (no INT NOT NULL, name VARCHAR(120) NOT NULL, address VARCHAR(200),
PRIMARY KEY (no));
ㅇ 테이블의 각 열(칼럼) 마다 칼럼명,자료형,옵션을 지정
ㅇ 옵션 例) PRIMARY KEY, IDENTIFY, CONSTRAINT, DEFAULT 등
- 제약조건 (Constraint) 옵션 ☞ 무결성 제약조건 참조
. (칼럼 옵션) NOT NULL, UNIQUE, CHECK, DEFAULT
. (칼럼,테이블 옵션) PRIMARY KEY, FOREIGN KEY
ㅇ 응용 例) 현존 테이블로부터 새로운 테이블 생성
- CREATE TABLE 새테이블명 AS (SELECT * FROM 현테이블명);
3. 테이블 변경
ㅇ ALTER TABLE <테이블명> ADD/DROP COLUMN <열 정의>;
ㅇ 응용 例) JOIN 활용한 테이블 변경
- UPDATE 테이블A a INNER JOIN 테이블B b ON a.i = b.i SET a.갱신컬럼 = (갱신식)
4. 테이블 삭제
ㅇ DROP TABLE <테이블명>;
5. 인덱스 테이블
ㅇ 원 데이터 테이블과 별도로 생성되어, 빠르게 원하는 데이터를 찾게하는 기능
- 한편, 인덱스 없이 전체 테이블을 검색하는 경우를, Full Scan 이라고 함
ㅇ 테이블의 특정 칼럼 집합에 대해 만들어짐
ㅇ 구분
- 자동 인덱스 : PRIMARY KEY 및 UNIQUE 제약조건 적용하는 칼럼에 자동으로 생성됨
- 수동 인덱스 : 명시적으로, CREATE INDEX 명령어를 사용하여 인덱스를 생성하는 경우