종류 | 명령어 | 설명 |
DML - 데이터 조작어 (DML : Data Manipulation Language) |
SELECT | 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어. |
INSERT UPDATE DELETE |
데이터베이스에 들어 있는 데이터 삽입, 수정, 삭제의 명령어. | |
DDL - 데이터 정의어 (DDL : Data Definition Language) |
CREATE ALTER DROP RENAME TRUNCATE |
데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어. |
DCL - 데이터 제어어 (DCL : Data Control Language) |
GRANT REVOKE |
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어. |
TCL -트랜잭션 제어어 (TCL : Transaction Control Language) |
COMMIT ROLLBACK SAVEPOINT |
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어. |
Transaction?
- 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적인 작업 단위.
- 데이터베이스 응용 프로그램은 트랜잭션들의 집합으로 정의 할 수 있다.
- 여러 단계의 처리를 하나의 처리처럼 다루는 기능이다.
- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료된다.
- 하나의 명령어라도 잘못되면 전체 취소된다.
- 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위함이다.
Transaction의 특징
- 원자성 : 트랜잭션이 데이터베이스에 모두 반영되던가, 전혀 반영되지 않던가 해야한다.
- 지속성 : 트랜잭션이 성공적으로 완료됐을 경우, 결과는 영구적으로 반영되어야 한다.
- 독립성 : 둘 이상의 트랜잭션이 동시에 병행되고 있을 경우 어느 하나의 트랜잭션이 다른 트랜잭션에 영향을 줄 수 없다.
- 일관성 : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다.
'DataBase' 카테고리의 다른 글
[SQL] NULL 관련 함수 (0) | 2023.03.20 |
---|---|
TOP, LIMIT, ROWNUM (0) | 2023.03.20 |
MySQL Foregin Key 설정 (0) | 2023.03.20 |
SQL Constraints (0) | 2023.03.20 |
Commit, Rollback, Save Point (0) | 2023.03.20 |