All :L

8장 SQL 응용 (SQL - DCL) 본문

STUDY/정보처리기사

8장 SQL 응용 (SQL - DCL)

ofijwe 2023. 4. 15. 14:13
반응형

[SQL - DCL]

💡 DCL이란?

 

  • Data Control Language로 데이터 제어어라고 한다.
  • ** 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어 **
  • 4가지 종류 : COMMIT, ROLLBACK, GRANT, REVOKE

💡 GRANT/REVOKE 명령어란?

GRANT/REVOKE

 

: DB 사용자에게 권한을 부여(GRANT)하거나 취소(REVOKE)하기 위한 명령어

  • ** 사용자등급 지정 및 해제 **
    📌 일반 형식
    GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호];
    REVOKE 사용자등급 FROM 사용자_ID_리스트;
    # 예시 👩🏻‍💻
    GRANT RESOURCE TO NABI;
    GRANT CONNECT TO STAR;
    • DBA : 데이터베이스 관리자
      • RESOURCE : 데이터베이스 및 테이블 생성 가능자
      • CONNECT : 단순 사용자
  • ** 테이블 및 속성에 대한 권한 부여 및 취소 **
    📌 일반 형식
    GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];
    REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE];
    # 예시 👩🏻‍💻
    GRANT ALL ON 고객 TO NABI WITH GRANT OPTION;
    REVOKE GRANT OPTION FOR UPDATE ON 고객 FROM STAR;
    • WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여
      • GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한 취소
      • CASCADE : 권한 취소 시 연쇄적 취소
        [권한 종류]
      • ALL, SELECT, INSERT, DELETE, UPDATE 등

💡 COMMIT 명령어란?

COMMIT

 

: 트랜잭션 처리가 정상적으로 완료된 후 트랜잭션이 수행한 내용을 데이터베이스에 반영하는 명령

  • 명령을 실행하지 않아도 자동 실행
  • DML 실패 시 자동으로 ROLLBACK 되도록 Auto Commit 기능 설정 가능

💡 ROLLBACK 명령어란?

ROLLBACK

 

: 변경되었으나 아직 COMMIT되지 않은 모든 내용들을 취소하고 DB를 이전 상태로 되돌리는 명령

💡 SAVEPOINT 명령어란?

SAVEPOINT

 

: 트랜잭션 내에 ROLLBACK할 위치인 저장점을 지정하는 명령

💡 COMMIT/ROLLBACK/SAVEPOINT 명령어는 어떻게 사용할까?

[COMMIT]

 

# 예시 👩🏻‍💻
DELETE FROM 사원 WHERE 사원번호 = 40;
COMMIT;

[SAVEPOINT]

 

# 예시 👩🏻‍💻
SAVEPOINT S1;
DELETE FROM 사원 WHERE 사원번호 = 20;
SAVEPOINT S2;
DELETE FROM 사원 WHERE 사원번호 = 10;

[ROLLBACK]

 

# 예시 👩🏻‍💻
ROLLBACK TO S2;
ROLLBACK TO S1;
ROLLBACK;
반응형
Comments