본문 바로가기
DB

DDL, DML, DCL, TCL

by 이건 뭐야 2024. 2. 17.

DDL(Data Definition Language) - 데이터 정의어

테이블과 같은 데이터의 구조를 정의하는 언어로써 데이터의 전체의 골격을 결정하고 데이터베이스, 테이블 등을 생성하는 역할을 한다.

 

- SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용한다.

- 데이터베이스 관리자나 설계자가 사용한다.

종류 역할
CREATE 데이터베이스, 테이블 등 생성
ALTER 테이블 수정
DROP 데이터베이스, 테이블 삭제
TRUNCATE 테이블 초기화
RENAME 데이터베이스 객체 이름 변경

 


 

 

DML(Data Manipulation Language) - 데이터 조작어

정의된 데이터베이스에 입력된 데이터를 수정하거나 삭제하는 등의 역할을 한다.

 

- SELECT : 데이터 조회 / INSERT, UPDATE, DELETE : 데이터 변형

- 데이터베이스 사용자가 응용프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용한다.

- 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다.

종류 역할
SELECT 데이터베이스에서 데이터 검색(= RETRIEVE)

- ALL : Default값으로 중복되는 데이터가 있더라도 모두 출력함
- DISTINCT : 중복된 데이터가 있는 경우 1건만 출력함
INSERT 데이터 삽입
UPDATE 데이터 수정
DELETE 데이터 삭제

 


 

 

DCL(Data Control Language) - 데이터 제어 언어

데이터베이스에 접근하고 객체들을 사용하도록 권한을 부여하고 철회하는 역할을 한다.

 

※주의※

직접 데이터베이스의 테이블에 영향을 미치기 때문에 DCL 명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시 완료(AUTO COMMIT) 된다.

종류 역할
GRANT 특정 데이터베이스 사용자들에게 특정 작업에 대한 수행 권한 부여
(특정 사용자만 특정 작업을 할 수 있도록 지정 가능)
DEVOKE GRANT 명령으로 주어진 액세스 권한을 철회

 


 

 

TCL(Transaction Control Language) - 트랜잭션 제어 언어

데이터베이스의 데이터를 제어하는 언어로써, 데이터의 보안, 무결성, 회복, 병행, 수행제어 등을 정의하는 역할을 한다.

논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 트랜잭션 별로 제어한다.

종류 역할
COMMIT 트랜잭션의 작업 결과를 저장, 반영 (트랜잭션 완료)
ROLLBACK 데이터베이스를 마지막 COMMIT된 시점의 상태로 복원
데이터에 대한 변경 내용은 논리적인 트랜잭션으로 그룹화
SAVEPOINT ROLLBACK시 트랜잭션에 포함된 전체 작업 복원이 아닌 SAVEPOINT까지 트랜잭션의 일부만 ROLLBACK 가능

2024.02.16 - [DB] - Transaction(트랜잭션)

 

 

 

ROLL 객체

- ROLE의 종류

CONNECT : DB 접속 권한

RESOURCE : 테이블이나 인덱스를 생성할 수 있는 권한

CREATE VIEW : 뷰 생성 권한

DBA : 모든 권한(관리자)

 

 

 

 

 

참조

DDL, DML, DCL, TCL - monawa 님

[DB] DDL, DML, DCL 이란? - 불곰 님

DDL, DML, DCL 이란? - Java Holic 님

 

'DB' 카테고리의 다른 글

MySQL vs PostgreSQL  (0) 2024.03.22
Transaction(트랜잭션)  (0) 2024.02.16