본문 바로가기

programming/용어정리

[SQL] What is DCL ?


안녕하세요. Bot - binoo 입니다.

오늘은 데이터 제어어(DCL)은 대체 무엇일까라는 주제로 간단하게 정리 해볼까 합니다.



지금까지는 Data 가 있을 집을 구성하고(DDL), 어떤 데이터를 넣고 누가 들어갔는지 확인했다면(DML)

이제는 이러한 Data를 처리하는 일련의 작업을 누구에게 얼마만큼 허용할지 생각해 봅니다.


예를 들어, 수습이 회사 DB 작업을 한다고 생각해봅시다.

회사차원에서는 수습이 아무리 마음에 들어도 전체 권한을 주기 쉽지 않습니다.

실수로 그동안 구축해두었던 모든 정보를 날려버린다면, 그 모든 책임을 수습에게 주기에는 부족하겠죠.


DCL 은 그런 언어입니다.


What is DCL ?


1. Data Control Language 의 약자입니다.

 제가 처음에 느낀 뜻 하고는 조금 다릅니다. 데이터를 다루는 정도를 사람마다 다르게 설정하는 언어입니다. 쉽게 말씀드리자면 권한을 제어하는 언어라고 생각하면 편합니다.

2. 주요 키워드는

 GRANT, REVOKE

각각 권한을 설정, 박탈하는 키워드입니다.


아래와 같이 사용합니다.


GRANT CREATE TABLE TO scott;


위와 같이 권한을 설정 할 수 있습니다. scott 이라는 사용자에게 테이블을 생성할 수 있는 권한을 부여합니다.


REVOKE CREATE TABLE FROM scott;


위와 같이 권한을 박탈할 수 있습니다. scott 이라는 사용자에게 주어졌던 테이블 생성 권한을 박탈합니다.




반응형