1. DCL

  • Data Control Language의 약자로, 데이터 제어 언어라고 한다. 
  • 조작 대상으로는 사용자 권한과 트랜잭션이 있다.
  • 트랜잭션의 제어를 위한 명령어로 TCL이라는 용어가 있다.
  • TCL은 DCL에 속해 있다고 보기도 하지만 TCL과 DCL은 서로 다른 개념으로 구분한다.  
사용자 권한 접근 통제  - DBMS에 접근할 사용자를 등록한다. 
 - 특정 사용자에게 DB의 사용 권한을 부여하는 작업이다.
트랜잭션 안전, 무결
거래 보장
 - 동시 다발적으로 발생하는 다수 작업을 독립적이고 안전하게 처리하기 위한 DB의 작업 단위이다.

 

[DCL & TCL]

DCL GRANT
REVOKE
 - DB 사용자 권한 부여
 - DB 사용자 권한 회수
TCL COMMIT
ROLLBACK
CHECKPOINT
 - 트랜잭션 확정
 - 트랜잭션 취소
 - 복귀지점 설정

 

[DCL 작성]

(1) 권한 부여

#시스템 권한
GRANT 권한1, 권한2 TO 사용자계정

#객체 권한
GRANT 권한1, 권한2 ON 객체명 TO 사용자계정

 

(2) 권한 회수

#시스템 권한
REVOKE 권한1, 권한2 FROM 사용자계정

#객체 권한
REVOKE 권한1, 권한2 ON 객체명 FROM 사용자계정

 

2. TCL

[개념]

  • 트랜잭션이란, 일을 처리하는 단위이자 분해되지 않는 최소 단위이다.
  • 논리적인 연산 단위이자 하나 이상의 SQL문이 포함된다.
  • 또한 거래를 의미하기도 하며 거래의 모든 결과가 모두 반영되거나 모두 취소되어야 한다.

 

[권한]

구분 명령어 권한 내용
시스템 권한 CREATE USER 계정 생성
SESSION DB 접속
TABLE 테이블 생성
VIEW 뷰 생성
SEQUENCE 시퀀스 생성
PROCEDURE 함수 생성
DROP USER 계정 삭제
ANY TABLE 테이블 삭제
 
구분 권한 내용
객체 권한 ALTER 테이블 변경
INSERT 데이터 조작
DELETE
SELECT
UPDATE
EXECUTE PROCEDURE 실행

 

 

 

 

'SQL' 카테고리의 다른 글

DML  (0) 2022.03.07
DDL  (0) 2022.02.25
SQL 문법 정리  (0) 2022.02.09

+ Recent posts