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 실행 |