절차형SQL
DCL; Data Control Language 정의
- 무결성, 보안 및 권한 제어, 회복을 위해 데이터베이스에 접근을 제어하는 SQL 명령어
DCL 조작 대상
오브젝트 | 목적 | 내용 |
---|---|---|
사용자 권한 | 접근 통제 | 사용자를 등록하고, 사용자에게 특정 데이터베이스를 사용할 수 있는 권리를 부여하는 작업 |
트랜잭션 | 안전한 거래보장 | 동시에 다수의 작업을 독립적으로 안전하게 처리하기 위한 상호 작용 단위 |
DCL 유형과 명령어
- 트랜잭션 제어를 위한 명령어 TCL
- TCL; Transaction Control Language
- TCL과 DCL은 대상이 달라 서로 별개의 개념으로 분류할 수 있으나, 제어 기능의 공통점으로 DCL의 일부료 분류함
- 명령어
- DCL
- GRANT : 사용자 권한 부여
- REVOKE : 사용자 권한 회수
- TCL
- COMMIT : 트랜잭션 확정
- ROLLBACK : 트랜잭션 취소
- SAVEPOTINT : 복귀지점 설정
- DCL
사용자 권한 부여
- 권한은 시스템 권한과 객체 권한으로 분류
- 시스템 권한
1 | GRNAT 권한1, 권한2 TO 사용자 계정 |
- 객체 권한
1 | GRNAT 권한1, 권한2 ON 객체명 TO 사용자 계정 |
시스템 권한과 객체 권한의 종류
- 시스템 권한
- CREATE USER : 계정 생성 권한
- DROP USER : 계정 삭제 권한
- DROP ANY TABLE : 테이블 삭제 권한
- CREATE SESSION : 데이터베이스 접속 권한
- CREATE TABLE : 테이블 생성 권한
- CREATE VIEW : 뷰 생성 권한
- CREATE SEQUENCE : 시퀀스 생성 권한
- CREATE PROCEDURE : 프로시저 생성 권한
- 객체 권한
- ALTER : 테이블 변경 권한
- INSERT : 데이터 조작 권한
- DELETE : 데이터 조작 권한
- SELECT : 데이터 조작 권한
- UPDATE : 데이터 조작 권한
- EXECUTE : PROCEDURE 실행 권한
사용자 권한 회수
- GRANT에 대응하는 권한 회수 명령은 REVOKE
- 시스템 권한
1 | REVOKE 권한1, 권한2 FROM 사용자계정 |
- 객체 권한
1 | REVOKE 권한1, 권한2 ON 객체명 FROM 사용자계정 |