DCL의 개념
- 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다.
- 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다
- DCL의 유형
COMMIT : DB 조작 작업을 영구적으로 반영하여 완료
ROLLBACK : DB 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구한다.
GRANT : DB 사용자에게 사용 권한을 부여
REVOKE : DB 사용자의 사용 권한을 취소
COMMIT
- 트랜잭션이 성공적으로 끝나면 DB가 새로운 일관성(Consis-tency)상태를 가지기 위해 수행된 모든 변경을 DB에 반영하여 완료하여야한다.
ROLLBACK
- 트랜잭션의 일부를 성공적으로 끝내지 못하면 DB가 비일관성(Inconsistency)인 상태를 가질 수 있기 때문에(즉, 트랜잭션이 수행한 일부 변경이 DB에 반영될 가능성이 있기 때문에) 일부분만 완료된 트랜잭션은 롤백되어야 한다.
GRANT / REVOKE
ex) GRANT 사용자등급 TO 사용자_ID,사용자_ID2.... [IDENTIFIED BY 암호];
REVOKE 사용자등급 FROM 사용자_ID,사용자_ID2,...;
* 사용자 등급
DBA: 데이터베이스 관리자
RESOURCE : 데이터 베이스 / 테이블 생성 가능자
CONNECT : 단순 사용자
- 권한 종류 : ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 등
- WITH GRANT OPTION : 부여반은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여한다.
- GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소한다.
- CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소한다.
GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];
ex) 사용자 ID가 'NABI'인 사람에게 <고객> 테이블에 대한 모든 권한과 다른 사람에게 권한을 부여할 수 있는 권한까지 부여하는 SQL문은?
GRANT ALL ON 고객 TO NABI WITH GRANT OPTION;
REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE]
ex) 사용자 ID가 'STAR'인 사람에게 부여한 <고객>테이블에 대한 권한 중 UPDATE 권한을 다른 사람에게 부여할 수 있는 권한만 취소하는 SQL문은?
REVOKE GRANT OPTION FOR UPDATE ON 고객 FROM STAR;
'Programming > DataBase' 카테고리의 다른 글
[DataBase] 스토어드 프로시저 (Stored Procedure) (0) | 2013.06.28 |
---|---|
내장 SQL (0) | 2013.06.26 |
SQL - DML (0) | 2013.06.26 |
SQL - JOIN (0) | 2013.06.26 |
sql - select 문 (0) | 2013.06.26 |