정보처리산업기사_실기_기록용

[데이터베이스] SQL - DCL

칼퇴하는 한개발 2021. 10. 5. 23:13
반응형

[출처] 2020 시나공 기본서 정보처리산업기사 실기


1. DCL(DATA CONTROL LANGUAGE)의 개념
- 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어
- 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용
- DCL의 유형

명령문 기능
COMMIT 데이터베이스 조작 작업을 영구적으로 반영하여 완료
ROLLBACK 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구
GRANT 데이터베이스 사용자에게 사용 권한을 부여
REVOKE 데이터베이스 사용자의 사용 권한을 취소


2. COMMIT / ROLLBACK
>> 하나의 트랜잭션에서 COMMIT 또는 ROLLBACK이 되어야 함

  • COMMIT
    • 트랜잭션의 모든 변경 내용들을 영구적으로 데이터베이스에 반영하는 명령어
    • 트랜잭션이 성공적으로 끝나면 수행된 모든 모든 변경을 데이터베이스에 반영하여 완료하여야 함
  • ROLLBACK
    • 변경된 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어
    • 트랜잭션의 일부를 성공적으로 끝내지 못하면 비일관성인 상태를 가질 수 있으므로 롤백되어야함

 

트랜잭션이란?
- 데이터베이스 관리 시스템에서 회복 및 병행 제어 시에 처리되는 작업의 논리적 단위



3. GRANT / REVOKE

  • GRANT : 권한 부여를 위한 명령어
  • REVOKE : 권한 취소를 위한 명령어
  • 사용자등급 지정 및 해제
    GRANT 사용자등급* TO 사용자_ID_리스트[IDENTIFIED BY 암호];
    REVOKE 사용자등급* FROM 사용자_ID_리스트;
    
    사용자등급*
    DBA : 데이터베이스 관리자
    RESOURCE : 데이터베이스 및 테이블 생성 가능자
    CONNECT : 단순 사용자​

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

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

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

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

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

반응형