[2023 정보처리기사] 3과목 – 20. SQL – DCL(Data Control Language)

1. DCL(Data Control Language)의 정의

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

 

2. GRANT

: DB관리자가 사용자에게 접근 권한을 부여하는 명령어.

– 구조: GRANT [*권한] ON 테이블 TO 사용자 [*WITH GRANT OPTION];

*권한: ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 등.

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

Ex) GRANT SELECT ON 학생 TO 민수 WITH GRANT OPTION;

– 사용자 “민수”에게 “학생”테이블에 대한 SELECT 권한을 부여하며, 다른 사용자에게도 부여할 수 있는 권한 부여.

 

3. REVOKE

: DB관리자가 사용자에게 접근 권한을 취소하는 명령어.

구조: REVOKE [*GRANT OPTION FOR] [권한] ON 테이블 FROM 사용자;

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

Ex) REVOKE GRANT OPTION FOR ALL ON 학생 FROM 민수;

– 사용자 ”민수“에게 ”학생“테이블에 대한 모든 권한을 취소하며, 다른사람에게 권한을 부여할 수 있는 권한도 취소.

 

4. COMMIT / ROLLBACK / SAVEPOINT

  • COMMIT: 트랜잭션이 성공적으로 끝나고 변경된 모든 내용을 DB에 반영하는 명령어.
  • ROLLBACK: 아직 COMMIT되지 않은 변경된 모든 내용을 취소하고 DB를 이전상태로 되돌리는 명령어.
  • SAVEPOINT: 트랜잭션 내에 ROLLBACK할 위치를 지정하는 명령어.

Leave a Comment