[DB] DDL, DML, DCL - 데이터베이스 언어
- Computer Science/[DB]
- 2022. 2. 14.
데이터베이스 언어란?
데이터베이스 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단이다. DBMS를 통해 사용되며, 기능과 사용 목적에 따라 DDL, DML, DCL로 구분된다.
DDL(Data Definition Language) - 데이터 저장 언어
DDL은 데이터베이스를 정의하는 언어이며 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체 골격을 결정하는 역할을 한다. 스키마, 도메인, 테이블, 뷰, 인덱스 등을 정의하거나 변경, 삭제할 때 사용된다.
예를 들어 아래와 같은 것들이 있다.
종류 | 역할 |
CREATE | 데이터베이스, 테이블 생성 |
ALTER | 테이블 수정 |
DROP | 데이터베이스, 테이블 삭제 |
TRUNCATE | 테이블 초기화 |
DML(Data Manipulation Language) = 데이터 조작 언어
DML은 데이터베이스에 입력된 레코드를 조회하거나 수정, 삭제 등의 역할을 한다. 즉, 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서, 사용자와 DBMS 간의 인터페이스를 제공한다.
예를 들어 아래와 같은 것들이 있다.
종류 | 역할 |
SELECT | 데이터 조회 |
INSERT | 데이터 삽입 |
UPDATE | 데이터 수정 |
DELETE | 데이터 삭제 |
DCL(Data Control Language) - 데이터 제어 언어
DCL은 무결성, 보안 및 권한 제어 회복 등의 역할을 한다. 주로 데이터를 보호하고 관리하기 위해 사용된다. DCL을 통해 불법적인 사용자로부터 데이터를 보호할 수 있고, 데이터 정확성을 위한 무결성을 유지할 수 있다. 또한 시스템 장애에 대비한 회복과 병행수행 제어가 가능하다.
예를 들어 아래와 같은 것들이 있다.
종류 | 역할 |
GRANT | 특정 사용자에게 특정 작업 수행권한 부여 |
REVOKE | 특정 사용자에게 특정 작업 수행권한 박탈, 회수 |
COMMIT | 트랜잭션 작업 결과 반영 |
ROLLBACK | 트랜잭션 작업 취소 및 복구 |
참고로 트랜잭션에 대해 알고 싶다면 다음을 참고하자.
반응형
'Computer Science > [DB]' 카테고리의 다른 글
[DB] 관계대수, 관계해석이란? (0) | 2022.02.22 |
---|---|
[DB] 뷰(View)란 무엇인가? (0) | 2022.02.14 |
[DB] 스키마(Schema)란? 외부스키마, 개념스키마, 내부스키마 (0) | 2022.02.14 |
[DB] NoSQL이란?, NoSQL 특징, NoSQL 종류, NoSQL 장점 (3) | 2021.11.24 |
[DB] 트랜잭션의 고립(격리) 수준(Isolation Level) | 고립 수준 예시 (2) | 2021.11.18 |