DCL을 자세히 알기전 계정(사용자)에 대해 먼저 알아보자.
관리자 계정
=> 데이터베이스의 생성과 관리를 담당하는 계정이다.
모든 권한과 책임을 가지는 계정이라고도 한다.
ex) sys(최고관리자), system(sys에서 권한 몇개 제외된 관리자)
사용자 계정
=> 데이터베이스에 대하여 질의, 갱신, 보고서 작성 등의작업을 수행할 수 있는 계정으로 업무에 필요한 최소한의 권한만을 가지는 것을 원칙으로 한다.
ex) yjb계정(각자 이니셜 계정), updown, workbook 등
계정에 DB, DB객체에 대한 접근 권한을 부여하고 회수하는 언어이다.
종류로는 아래와 같이 있다.
- GRANT : 권한 부여
- REVOKE : 권한 회수
권한의 종류는 크게 시스템 권한, 객체 권한 2가지로 나눌 수 있다.
시스템 권한
=> DB 접속, 객체 생성 권한이다.
CRETAE SESSION : 데이터베이스 접속 권한
CREATE TABLE : 테이블 생성 권한
CREATE VIEW : 뷰 생성 권한
CREATE SEQUENCE : 시퀀스 생성 권한
CREATE PROCEDURE : 함수(프로시져) 생성 권한
CREATE USER : 사용자(계정) 생성 권한
DROP USER : 사용자(계정) 삭제 권한
DROP ANY TABLE : 임의 테이블 삭제 권한
객체 권한
=> 특정 객체를 조작할 수 있는 권한이다.
=> 종류는 아래와 같다.
권한 종류 | 설정 객체 |
---|---|
SELECT | TABLE, VIEW, SEQUENCE |
INSERT | TABLE, VIEW |
UPDATE | TABLE, VIEW |
DELETE | TABLE, VIEW |
ALTER | TABLE, SEQUENCE |
REFERENCES | TABLE |
INDEX | TABLE |
EXECUTE | PROCEDURE*/ |