본문 바로가기

카테고리 없음

SQL -DCL에 대해

◆ DCL (Data Control Language)

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

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


DCL은 4가지의 유형이 있다.


COMMIT : DB 조작 작업을 반영하여 완료한다.

ROLLBACK : 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구시킨다.

GRANT : 사용자에게 사용 권한을 부여한다.

REVOKE : 사용자의 사용 권한을 취소한다.




- COMMIT (완료)

모든 변경 내용들을 DB에 반영하는 명령어이다.


- ROLLBACK

변경된 모든 내용들을 취소하고 DB를 이전 상태로 되돌린다.





- GRANT / REVOKE

GRANT : 권한 부여를 위한 명령어

REVOKE : 권한 취소를 위한 명령어


1
2
GRANT 사용자등급 TO 사용자;
REVOKE 사용자등급 FROM 사용자;
cs


GRANT / TO

REVOKE FROM

만 외워두면 된다.



예제 1) 사용자 ID가 BINO인 사람에게 데이터베이스 및 테이블을 생성할 수 있는 권한을 부여하는 SQL문을 작성하시오.

1
2
3
4
5
6
7
8
9
GRANT RESOURCE TO BINO;
 
/*
DBA : 데이터베이스 관리자
RESOURCE : 데이터베이스 및 테이블 생성 가능자
CONNECT : 단순 사용자
*/
cs


예제 1) 사용자 ID가 STAR인 사람에게 단순히 데이터베이스에 있는 정보를 검색할 수 있는 권한을 부여하는 SQL문을 작성하시오.

1
GRANT CONNECT TO STAR;
cs


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


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

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

GRANT OPTION FOR : WITH GRANT OPTION권한을 취소한다.

CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한마저 뺏어간다.


표기 방식

1
2
3
- GRANT 권한 ON 개체 TO 사용자 (WITH GRANT OPTION);
 
- REVOKE [GRANT OPTION FOR] 권한 ON 개체 FROM 사용자 [CASCADE];
cs



예제 1) 사용자 ID가 BINO인 사람에게 <국가>테이블에 대한 모든 권한과 다른 사람에게 권한을 부여할 수 있는 권한까지 부여하는 SQL문을 작성하시오.

1
GRANT ALL ON 국가 TO BINO WITH GRANT OPTION;
cs


예제 1) 사용자 ID가 BINO인 부여한 <국가>테이블에 대한 권한 중 UPDATE 권한을 다른 사람에게 부여할 수 있는 권한만 취소하는 SQL문을 작성하시오.

1
REVOKE GRANT OPTION FOR UPDATE ON 국가 FROM BINO;
cs