[오라클 DB] SQL 문 종류

Song·2022년 3월 6일
0

DBMS

목록 보기
1/2
서울디지털대학교 오라클 데이터베이스 시스템 1주차 강의 정리

SQL 문

  • DML (데이터 조작어)
  • DDL (데이터 정의어)
  • DCL (데이터 제어어)
  • TCL (트랜잭션 제어)

DML (Data Manipulation Language)

대상

  • 데이터

SQL

  • Insert, Update, Delete, Merge
  • Select
  • Select문은 데이터를 조작하지않으므로 DQL (Database Query Language)로 분류하기도 함
  • Merge란 일반 DML과 달리 소스 테이블과 목적 테이블이 있고 두 개의 테이블을 비교 후 동일하게 만들기 위해 insert, update, delete를 실행하는 기능이다.

특징

  • 기본적으로 테이블 데이터만 조작하기 때문에 쿼리에 TABLE 키워드가 필요없다.
  • 뷰에 대한 DML은 결과적으로 테이블의 데이터를 조작한다.

DDL (Data Definition Language)

대상

  • 데이터베이스 객체
    예) 테이블, 뷰, 시퀀스 제약조건 등

SQL

  • Create, Alter, Drop etc..

특징

  • 데이터를 저장, 관리하기 위한 DB 객체를 정의
  • 객체의 종류가 다양하므로 DML과 달리 쿼리에 객체의 카테고리를 지정해줘야하며 카테고리별로 문법이 상이할 수 있다.

DCL (Data Control Language)

대상

  • 데이터베이스 권한
    시스템 권한 (예. DB 서버에 관한 권한)
    객체 권한 (예. 테이블 생성, 변경 etc)

SQL

  • GRANT (권한) TO (사용자)
  • REVOKE (권한) FROM (사용자)

특징

  • 데이터, DB 객체, 시스템에 접근하는 것을 제한 또는 제어
  • DB 보안과 관련

TCL (Transaction Control Language)

대상

  • 트랜잭션
  • 트랜잭션은 'an Atomic Unit of Work' 로 말그대로 분리할 수 없는 최소 단위의 단계이며 DML들로 구성되어있다.
  • 하나의 트랜잭션의 작업 단계중 하나라도 실패 시 전체 작업이 실패된 걸로 간주하고 Roll back이 실행된다.

예) 은행의 이체 작업 (최소 두번의 DML로 이루어져 있으며 하나의 기능이라도 실패 시 처음부터 실행이 되어야한다.)

SQL

  • Commit (DML에 문제가 없을 시 DB에 데이터가 영구적으로 반영된다.)
  • Rollback (트랜잭션 중 문제 발생 시 트랙잭션 시작 전 상태로 돌린다.)
  • Savepoint (트랜잭션 중간으로 되돌릴 수 있도록 중간 지점을 설정한다.)

특징

  • 자율 트랜잭션을 제외하면 세션 당 실행되는 트랜잭션은 하나
  • 첫 DML이 트랜잭션의 시작 (DML이 실행될 때 내부적으로 트랜잭션 ID가 생성되고 관리된다.)
  • SELECT문은 트랜잭션에 영향을 주지 않는다.
  • DDL, DCL은 문장 자체가 하나의 트랜잭션이며 실행되기 전 기존 트랜잭션은 Auto Commit이 된다.
profile
Learn From Yesterday, Live Today, Hope for Tomorrow

0개의 댓글