본문 바로가기
DB/DBMS

TCL - 트랜젝션 제어 언어

by 코딩하는 랄로 2023. 8. 13.
728x90

TCL이란

TCL = Transaction Control Language

TCL은 Transaction Control Language의 줄임말로, 트랜젹션 제어어라고 한다. TCL에 대해서 정확히 알기 위해서는 트랜젝션이 무엇인지 알아야 한다.

 

Transaction = 하나의 작업 단위

 

트랜잭션은 하나의 작업 단위를 일컫는데 하나의 작업 단위란 DMBS에서 특정 작업을 수행하는 데 필요한 쿼리문의 집합이다. 즉, 트랜잭션에는 하나 이상의 쿼리문이 포함되며 작업 단위이기 때문에 분할할 수 없다.

 

DBMS에서는 트랜잭션을 수행하였을 때 그것이 바로 결과에 영향을 미치는 것이 아닌 작업 단위에 대한 결과를 저장해두었다가 이 결과를 진짜 적용할지 안할지에 대해 결정하는 단계가 있다.

 

이 때 사용하는 것이 TCL 문법인 것이다. TCL문법으로는 다음과 같이 있다.

  • COMMIT : 작업 수행 결과를 그대로 적용, 확정하라는 명령어이다.
  • ROLLBACK : 작업 수행 결과를 적용하지 말고 이전에 COMMIT한 곳으로 이동하라는 명령어이다.

 

 

 

DELETE VS TRUNCATE

DML에서 사용하는 DELETE와 DDL에서 사용하는 TRUNCATE의 차이점은 바로 TCL을 통해 나타나게 된다. 왜냐하면 TCL은 DDL이 아닌 DML을 위한 문법이기 때문이다.

 

이 말의 의미는 DELETE의 경우는 TCL의 문법을 사용하여 작업을 확정, 복구할 수 있지만 TRUNCATE는 TCL의 문법을 사용하지 못하기 때문에 한번 사용하면 복구할 수 없다는 것을 의미한다.

 

그렇기 때문에 TRUNCATE가 DELETE에 비해 빠르고 대용량 데이터 처리에도 유리하지만 복구가 불가능하기 때문에 실무에서는 DELETE를 더 많이 사용한다.

 

 

 

AS - Alias

AS는 Alias를 뜻하는 단어로 별칭을 뜻한다. 이름 그대로 별명을 지어준다는 의미인데 테이블의 데이터를 다루다 보면 칼럼명이 너무 길거나 본인이 이해하기 편한 이름으로 임의로 바꾸고 싶을 때 사용하는 문법이다.

 

 

SELECT절

SELECT절에서 AS를 사용할 때에는 크게 두가지 방법이 있다.

  • AS : SELECT COL1 AS [별칭] ...
  • 공백 : SELECT COL1 [별칭] ...

이 때에 별칭은 큰 따옴표를 통해 표현하지만 별칭 내에 공백이 없을 경우 따옴표는 생략할 수 있다.

 

 

FROM절

FROM절에서는 공백으로만 별칭을 표현할 수 있다. FROM절에서 표현한 별칭은 SELECT절에서 다음과 같이 사용이 가능하다.

SELECT s.id AS 학생ID, t.id 교사ID FROM STUDENT s, TEACHER t;

 

AS 문법은 SELECT 절, FROM절에서 동시에 사용이 가능하다.

 

 

 

2023.08.13 - [Programming 공부/DBMS] - DML - Concatenation,Like

 

DML - Concatenation,Like

Concatenation Concatenation은 연결을 의미하는 단어로 SELECT문을 사용하여 데이터를 조회하고 싶을 때 내가 원하는 형태로 조회를 할 수 있도록 해준다. 학생의 정보를 담고 있는 테이블에 학생의 이름

codingralro.tistory.com

 

728x90

'DB > DBMS' 카테고리의 다른 글

DBMS - 정규화(NF) : 정규화란?  (0) 2023.08.14
DML - Concatenation,Like  (0) 2023.08.13
DML - WHERE조건식  (0) 2023.08.13
DML-SELECT, INSERT, UPDATE, DELETE  (0) 2023.08.13
DBMS 모델링  (0) 2023.08.13