카테고리 없음

[DB] SQL개념과 분류(DML/DDL/DCL/TCL)

효진인데요 2023. 8. 23. 18:43

 

 

0. SQL 개념

 

 

출처:appmaster

 

 

  • 구조적 쿼리 언어 ( Structured Query Language )
  • 관계형 데이터베이스에서 원하는 데이터를 추출, 분석하는 데에 도움을 주는 쿼리 언어
  • 실행 순서가 없는 비절차적인 언어
  • 데이터의 흐름이나 특정 조건에 따른 데이터 분석도 가능
  • 데이터베이스 성능을 유지, 관리하고 최적화하는 데에 SQL 사용 가능

 

 


 

 

 

1. SQL 특징

 

 

 

  • 관계형 데이터베이스를 처리하는 가장 좋은 방법
  • 스프레드 시트와 같이 데이터를 테이블로 구성
  • 작은 데이터 세트부터 큰 스택까지 모든 데이터를 분석하고 조작할 수 있음
  • 대소문자를 구분하지 않음

 

  • 빠르고 이식 가능한 쿼리 언어
    → 아주 짧은 시간 안에 방대한 양의 데이터를 처리할 수 있음
    → 높은 효율성

 

  • 표준화된 언어
    → 대규모 커뮤니티가 존재하는 오픈 소스 개발 언어

  • 빅데이터 처리
    → 정보의 무결성을 보호하기 위해 최대의 정밀도로 대규모의 데이터 세트를 처리할 수 있음

 

 

 


 

 

2. SQL 분류

 

 

출처:K21Academy

 

 

 

SQL을 기능에 따라 분류하자면 DML, DDL, DCL, TCL로 나눌 수 있다.

각각 사용되는 명령어가 다르다는 특징이 있으니 아래에서 쭉 정리해보려 한다.

( 정처기 필기 공부할 때 조작어 셀인업데..정의어 크알드트..이러면서 외운 기억이 새록새록 난다. 오랜만이고만 (੭˙ ˘ ˙)੭ )

 

 

 

 

 

2.1 DML

 

  • 데이터 조작어 ( Data Manipulation )
  • 데이터베이스 수정을 가능하게 하는 것
  • 데이터베이스의 내부 데이터를 관리하기 위한 언어

 

[ 특징 ]

 

  • 명령어를 입력한 뒤 작업이 즉시 반영 (Auto Commit)이 되지 않음
  • DML에 의한 데이터 변동은 영구적인 변경이 아니기 때문에 ROLLBACK 명령어로 되돌릴 수 있음

 

  • TARGET 테이블을 메모리 버퍼 위에 올려두고 변경을 수행
    ▶ 실시간으로 테이블에 반영되지 않음
    ▶ COMMIT 명령어를 통해 트랜잭션을 종료한 뒤 해당 변경 사항 반영

 

 

[ 종류 ]

 

명령어 종류 명령어 설명
DML SELECT DB에 들어있는 데이터를 조회하거나 검색하기 위한 명령어 ( RETRIVE 라고도 함 )
INSERT DB의 테이블에 들어 있는 데이터를 조작하는 명령어

( INSERT : 데이터 삽입 / UPDATE : 데이터 수정 / DELETE : 데이터 삭제 )
UPDATE
DELETE

 

 

 

 

2.2 DDL

 

  • 데이터 정의어 ( Data Definition )
  • 데이터 세트를 업데이트하거나 조작할 때 사용

 

 

[ 특징 ]

 

  • 명령어를 입력하는 순간 작업이 즉시 반영 (Auto Commit)이 되기 때문에 사용 시 주의가 필요

 

 

[ 종류 ]

 

명령어 종류 명령어 설명
DDL CREATE - 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어

- 데이터 구조와 관련된 명령어

- 명령어 차례로 생성, 변경, 삭제, 이름 변경, 초기화를 의미
ALTER
DROP
RENAME
TRUNCATE

 

 

[ 주의 ]

 

DROP TRUNCATE
테이블 삭제 테이블 초기화
테이블을 잘못 생성했거나 더 이상 필요 없는 경우 테이블의 모든 행 일괄 삭제

 

 

 

 

 

2.3 DCL

 

  • 데이터 제어어 ( Data Control )
  • 관계형 데이터베이스에서 권한 매개변수를 설정하는 데 사용

 

 

[ 특징 ]

 

  • 불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안의 역할
  • 데이터의 정확성을 위한 무결성 유지
  • 시스템 장애에 대비한 회복과 병행수행 제어

 

 

[ 종류 ]

 

명령어 종류 명령어 설명
DML GRANT DB에 접근하고 객체들을 사용하도록 권한을 주거나 회수하는 명령어
REVOKE

 

 

 

 

2.4 TCL

 

  • 트랜잭션 제어어 ( Transaction Control Language )
  • DCL과 비슷한 맥락이나 데이터를 제어하는 언어가 아닌 트랜잭션을 제어
  • 논리적인 작업 단위를 묶어 DML에 의해 조작된 결과를 트랜잭션별로 제어

 

 

 

[ 종류 ]

 

명령어 종류 명령어 설명
TCL COMMIT 모든 작업을 정상적으로 처리
ROLLBACK 모든 작업을 다시 돌려 놓음
SAVEPOINT COMMIT 전 특정 시점까지만 반영하거나 ROLLBACK 하겠다

 

 

 

 

 

 

 

728x90