데이터베이스

[Oracle] 1. SQL DDL, DML, DCL 이란

jwKim96 2019. 9. 11. 17:19

SQL, 그리고 DDL, DML, DCL 이란 무엇인가를 짚고 넘어가보자.

 

 

1. SQL (Structured Query Language)

 

SQL 이란 데이터베이스에 Query를 요청하기 위한 구조화된(Structured) 언어(Language)이다.

 

Query란 질의어 라고하며, 데이터베이스 혹은 정보 시스템에 정보 요청을 할 수 있는 컴퓨터 언어이다.

 

 

쉽게 말하면,

 

Query란 DB 혹은 정보시스템에 질문하기위한 언어

 

SQL은 Query를 구조화 시킨 언어

 

원래는 각 정보시스템 마다, 데이터베이스마다 질의어가 달라서 시스템 구성을 변경하게 되면

 

질의어를 다시 배워야 했다고 한다.

 

하지만 각 데이터베이스 회사의 협업(?)을 통해 SQL을 어느정도 통일되어 SQL만 공부하면

 

왠만한 데이터베이스에서 추가적인 공부 없이 SQL을 사용할 수 있다.

 

 

 

 

 

2. DDL (Data Definition Language)

우리말로 데이터 정의어 라고 한다.

 

'정의어' 라고해서 정의만 한다고 생각할 수 있지만,

 

DDL을 통해서는 [ 생성, 삭제, 수정 ] 등을 할 수 있다.

 

주로 

 

CREATE TABLE ~ 

DROP TABLE ~

ALTER TABLE ~

 

등의 명령어가 쓰인다.

 

이들을 보면 데이터를 집적 다루는 것이 아니라,

 

데이터를 담을 공간을 다룬다는 것을 알 수 있다.

 

 

 

3. DML(Data Manipulation Language)

우리말로 데이터 조작어 라고한다.

 

이전에 DDL을 통해 데이터를 담을 공간의 구조(틀)을 만들어 놓는다면,

 

이 언어는 데이터를 집적 다룬다.

 

SELECT ~

INSERT ~

UPDATE ~

DELETE ~

등의 명령어가 있고, 

 

각각의 이는 이미 만들어진 테이블(데이터를 담을 공간)에 접근하여

 

조회( SELECT )

입력( INSERT )

수정( UPDATE )

삭제( DELETE )

 

등을 할 수 있다.

 

4. DCL(Data Control Language)

DCL이란 데이터 제어어 라고한다.

 

데이터에 접근할 수 있는 권한을 제어한다.

 

GRANT ~

REVOKE ~

 

등의 명령어를 통해 권한을 부여(GRANT)

그리고 권한 회수(REVOKE) 할 수 있다.