DCL 뜻? 3가지 종류의 데이터 제어를 위한 명령어

DCL 뜻과 개념 설명
DCL 뜻과 개념 설명

DCL 뜻과 개념에 대해서 이야기해봅시다.




DCL 뜻과 개념 알기

DCL 뜻(Data Control Language)은 사용자(USER)를 생성하고 USER에게 데이터를 컨트롤 할 수 있는 권한을 부여하거나 권한을 회수할 수 있도록 하는 명령어를 의미합니다.

DCL(Data Control Language)데이터베이스(DataBase)에 저장되어 있는 데이터들을 여러 사용자들이 문제 없이 공유하고 사용할 수 있도록 내부적으로 필요한 규칙과 기법을 정의하는데 사용하는 데이터 언어입니다. 데이터베이스를 올바르게 사용하고 관리하기 위해서 필요한 규칙들과 기법들은 DCL을 이용하여 데이터베이스 관리 시스템(DBMS)에 설명하고 관리합니다. 데이터베이스 관리 시스템에서는 등록된 규칙과 기법을 기반으로 데이터베이스를 제어하고 보호할 수 있게 됩니다.

DCL은 “데이터 제어어”라고 부릅니다.

DCL을 통해서 데이터베이스(DB)의 무결성(Integrity), 보안(Security), 회복(Recovery), 동시성(Concurrency)을 보장할 수 있게 됩니다.

[DCL의 4가지 장점]

구분내용
1무결성(Integrity)
2보안(Security)
3회복(Recovery)
4동시성(Concurrency)

DCL(Data Control Language)은 데이터를 제어하는 언어로 데이터를 관리하고 무결성, 보안, 회복, 동시성 등을 정의하는데 사용합니다.

DCL에는 사용자와 관련된 명령어, 권한 관련 명령어, ROLE과 관련된 명령어 3가지 종류가 있습니다.




DCL 뜻과 개념 설명

DCL 뜻(Data Control Language)은 사용자(USER)를 생성하고 권한을 부여하는 명령어들입니다.

DCL(Data Control Language)데이터베이스(DB, DataBase)에 접근하고 객체들을 사용할 수 있도록 사용자들에 대한 권한을 부여하고 권한을 해제할 수 있는 명령어들입니다. DCL에는 대표적으로 CREATE USER, ALTER USER, DROP USER와 같은 명령어들이 있습니다.

DCL을 “데이터 제어어“라고도 부릅니다.

DCL(데이터 제어어)에는 사용자와 관련된 명령어, 권한 관련 명령어, ROLE과 관련된 명령어 3가지 종류가 있습니다.

[DCL의 3가지 종류]

구분내용명령어
1사용자와 관련된 명령어CREATE USER
ALTER USER
DROP USER
2권한 관련 명령어GRANT
REVOKE
COMMIT
ROLLBACK
3ROLE과 관련된 명령어CREATE SESSION
CREATE USER
CREATE TABLE




1. 사용자 관련 명령어

사용자(USER)와 관련된 명령어는 하나의 데이터 베이스에 여러 명의 사용자를 가질 수 있습니다.

데이터 베이스(DB)가 하나의 기반이라고 하면 해당 기반에 여러 명의 사용자가 있을 수 있습니다.

만약 혼자 사용하고 있는데 추가적인 사용자가 필요하면 추가적인 사용자가 들어올 수 있도록 비밀번호를 부여해주는 등의 처리들이 필요합니다. 데이터베이스의 경우 보안 상 문제로 사용자마다 다른 비밀번호를 부여하는 것이 일반적입니다. 사용자와 관련된 명령어로는 CREATE USER, ALTER USER, DROP USER와 같은 명령어들이 있습니다.

CREATE USER는 사용자를 생성하는 명령어입니다. 이는 CREATE USER 명령어에 대한 권한이 있어야지만 실행 시킬 수 있습니다.

ALTER USER는 사용자를 변경하는 명령어입니다.

DROP USER는 사용자를 삭제하는 명령어입니다.


[사용자 관련 명령어 사용 예시]

CREATE USER 사용자명 IDENTIFIED BY 패스워드;

ALTER USER 사용자명 IDENTIFIED BY 패스워드;

DROP USER 사용자명;




2. 권한 관련 명령어

권한 관련 명령어는 비밀번호가 부여되면 해당 기반을 이용할 수 있는 권한을 부여하는 작업입니다. 권한 관련 명령어에는 GRANT, REVOKE, COMMIT, ROLLBACK이 있습니다.

GRANT는 사용자에게 권한을 부여하는 명령어입니다. GRANT는 DB 권한을 부여합니다.

REVOKE는 사용자에게 권한을 회수하는 명령어입니다. REVOKE는 DB 권한을 해제하게 됩니다.

COMMIT은 데이터를 데이터베이스(DB)에 저장하고 트랜잭션(Transaction)을 성공적으로 종료되도록 하는 명령어입니다.

ROLLBACK은 데이터의 변경 사항을 최소화하고 원래 상태로 원복 시킨 다음 트랜잭션을 종료하는 명령어입니다.


[권한 관련 명령어 사용 예시]

GRANT 권한 TO 사용자 명;

REVOKE 권한 FROM 사용자 명;




3. ROLE 관련 명령어

ROLE 관련 명령어는 특정 권한들을 하나의 세트로 묶는 것입니다. ROLE과 관련된 명령어에는 CREATE SESSION, CREATE USER, CREATE TABLE이 있습니다.

ROLE을 이용한 권한 부여의 경우 ROLE을 생성하고 ROLE에 대한 권한을 부여하고 ROLE을 사용자에게 부여하는 형태로 진행됩니다.


[ROLE 관련 명령어 사용 예시]

CREATE ROLE 롤명;

GRANT 권한 TO 롤명;

GRANT 롤명 TO 사용자명;