본문 바로가기
SQL

SQL의 분류 : DML / DDL / DCL / TCL

by JoyfulS 2019. 9. 26.

 

1. DML (Data Manipulation Language) : 데이터 조작 언어

- 데이터를 조작(선택, 삽입, 수정, 삭제)하는데 사용되는 언어

- DML구문의 사용 대상은 테이블의 행

- 그러므로 DML구문 사용 이전에 테이블이 정의되어 있어야 함

- SELECT, INSERT, UPDATE, DELETE 가 DML에 해당

 

2. DDL (Data Definition Language) : 데이터 정의 언어

- 데이터베이스, 테이블, 뷰, 인덱스 등의 데이터베이스 개체를 생성/삭제,변경하는 역할

- CREATE, DROP, ALTER 등

- DDL은 트랜잭션을 발생시키지 않는다.

  * 트랜잭션 : 테이블의 데이터를 변경할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시키는 것

- 따라서 되돌림(ROLLBACK)이나 완전적용(COMMIT)을 시킬 수가 없음, 즉 DDL문은 실행 즉시 적용됨

 

3. DCL (Data Control Language) : 데이터 제어 언어

- 사용자에게 어떤 권한을 부여하거나 뺴앗을 때 주로 사용하는 구문

- GRANT, REVOKE, DENY 등

 

4. TCL (Transaction Control Language) : 트랜잭션 제어 언어

- DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 언어

- COMMIT, ROLLBACK 등

 

 

+ 트랜잭션

- 트랜잭션(transaction)은 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위이다.

- 장애가 발생했을 때 데이터를 복구하는 작업의 단위이기도 하다.

- 일반적으로 데이터베이스 연산은 SQL문으로 표현되므로, 트랜잭션은 작업 수행에 필요한 SQL문들의 모임이라고 보면 이해하기 쉽다.

- 트랜잭션의 예시를 통해 이해하고 싶다면 밑의 참고를 확인하자.

참고 : [네이버 지식백과] 트랜잭션의 개념 (데이터베이스 개론, 2013. 6. 30., 김연희)

'SQL' 카테고리의 다른 글

SQL 02. DML 기본 명령어  (0) 2019.09.27
SQL 01. DDL 기본 명령어  (0) 2019.09.27
RDBMS 기본 개념과 사용법  (0) 2019.09.26
SQL 설치  (0) 2019.09.26
SQL과 NoSQL  (0) 2019.09.25

댓글