본문 바로가기
정보처리기사

SQL - DCL

by Yeoseungwon 2023. 10. 4.
728x90

SQL – DCL 

-       DCL은 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다.

-       DCL은 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다. 

명령어 기능
COMMIT 트랜잭션 처리가 정상적으로 완료된 후 트랜잭션이 수행한 내용을 데이터베이스에 반영하는 명령
ROLLBACK 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구함
변경되었으나 아직 COMMIT되지 않은 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어
GRANT 데이터베이스 사용자에게 사용 권한을 부여함
REVOKE 데이터베이스 사용자의 사용 권한을 취소함
SAVEPOINT 트랜잭션 내에 ROLLBACK할 위치인 저장점을 지정하는 명령어
ROLLBACK할 때 지정된 저장점까지의 트랜잭션 처리 내용이 모두 취소된다.

 

 

GRANT / REVOKE

l  데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령

GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; 

 

REVOKE 사용자등급 FROM 사용자_ID_리스트;

 

-       사용자등급

1.     DBA : 데이터베이스 관리자

2.     RESOURCE : 데이터베이스 및 테이블 생성 가능자

3.     CONNECT : 단순 사용자

 

l  테이블 및 속성에 대한 권한 부여 및 취소

GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];

 

REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE];

 

-       권한 종류 : ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 

-       WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여함

-       GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소함

-       CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소함

 

 

 

EX ) SAVEPOINT ‘S1’ 을 설정하고 사원번호가 20인 사원의 정보를 삭제하시오

SAVEPOINT S1;

DELETE FROM 사원 WHERE 사원번호=20;

 

EX) SAVEPOINT ‘S2’까지 ROLLBACK을 수행하시오

ROLLBACK TO S2;

 

EX) SAVEPOINT 없이 ROLLBACK을 수행하시오

ROLLBACK;

728x90

'정보처리기사' 카테고리의 다른 글

SQL - DML  (0) 2023.10.04
SQL - DDL  (0) 2023.10.04
서브네팅 Subnetting  (0) 2023.09.22