가끔 DB 배포 프로세스를 진행하다 보면
이 배포가 DCL인지 DDL인지 DMl인지
알아야 할 때가 있다.
아직 완벽하게 숙지를 못해서
정확하게 알아둘 겸 글로 남겨둔다.
DCL(Data Control Language, 데이터 제어어)
Control이라는 단어 뜻에 맞게
데이터를 제어하는 언어다.
데이터의 보안 / 무결성 / 회복 / 병행 수행 제어 등을
정의하는데 사용한다.
종류는 아래 네 가지가 있다.
GRANT
특정 DB 사용자에게 특정 작업에 대한 수행 권한 부여
REVOKE
특정 DB 사용자에게 특정 작업데 대한 수행 권한 박탈 및 회수
COMMIT
트랜잭션 작업을 데이터에 적용
ROLLBACK
트랜잭션의 작업 취소 및 원래 데이터로 복구
DDL(Data Definition Language, 데이터 정의어)
SCHEMA, DOMAIN, TABLE, VIEW, INDEX를
생성 / 수정 / 삭제할 때 사용하는 언어이다.
즉, DB를 정의하는 언어이기 때문에
DBA(데이터베이스 관리자)나 DB 설계자가 사용한다.
종류는 아래 네 가지가 있다.
CREATE
데이터베이스, 테이블 등을 생성
ALTER
테이블 수정
DROP
데이터베이스, 테이블 등을 삭제
TRUNCATE
테이블 초기화
DML(Data Manipulation Language, 데이터 조작어)
DB에 데이터를 조회 / 삽입 / 수정 / 삭제 등의
역할을 하는 언어이며,
DB 사용자가 어플리케이션이나 쿼리를 통해
저장된 데이터를 실질적으로 처리하는데 사용된다.
DB 사용자와 DBMS(데이터베이스 관리 시스템) 간의
인터페이스를 제공하며,
흔히 DB를 다룰 때 많이 사용하게 될 언어다.
종류는 아래 네 가지가 있다.
SELECT
데이터 조회
INSERT
데이터 삽입
UPDATE
데이터 수정
DELETE
데이터 삭제
어플리케이션이나 시스템을 처음부터 개발하는 것이 아니면
보통 DML만 사용하게 될 가능성이 높다.
DML에 대해 우선적으로 잘 알아두자.
끝!
'Study > Database' 카테고리의 다른 글
[DB] 인덱스란? - (3) 인덱스 스캔 방식 [개념] (0) | 2021.07.18 |
---|---|
[DB] 인덱스란? - (2) 구조, B-Tree 계열을 쓰는 이유 (0) | 2021.06.07 |
[DB] 인덱스란? - (1) 개념, 장단점, 쓰는 이유 (0) | 2021.05.31 |
[DB][MSSQL] PIVOT, UNPIVOT으로 여러 컬럼 합치기 (0) | 2021.04.08 |
[DB] SQL 작성 표준 가이드 (0) | 2021.02.25 |