All :L
8장 SQL 응용 (SQL - DCL) 본문
반응형
[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 : 단순 사용자
- DBA : 데이터베이스 관리자
- ** 테이블 및 속성에 대한 권한 부여 및 취소 **
📌 일반 형식 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 등
- WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여
💡 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;
반응형
'STUDY > 정보처리기사' 카테고리의 다른 글
9장 소프트웨어 개발 보안 구축 (서비스 공격 유형 (1/3)) (0) | 2023.04.17 |
---|---|
9장 소프트웨어 개발 보안 구축 (암호 알고리즘) (0) | 2023.04.16 |
8장 SQL 응용 (DML - SELECT (2/2)) (0) | 2023.04.16 |
8장 SQL 정의어 (SQL - DML) (0) | 2023.04.15 |
8장 SQL 응용 (SQL - DDL) (0) | 2023.04.15 |
Comments