반응형
DCL(Data Control Language, 데이터 제어어)의 개념
- DCL은 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다.
- 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다.
- GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT 등이 있다.
DCL 명령어
1. 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 : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한 부여
- GRANT OPTION FOR : 다른 사용자에게 권한 부여 권한 취소
예시) 사용자 ID가 'NABI'인 사람에게 <고객> 테이블에 대한 모든 권한과 다른사람에게 권한 줄 수 있는 권한 연쇄 취소
GRANT ALL ON 고객 TO NABI WITH GRANT OPTION;
2. COMMIT
트랜잭션이 성공적으로 끝나면 데이터베이스가 새로운 일관성 상태를 가지기 위해 변경된 모든 내용 반영
- 실행하지 않아도 DML문 성공적으로 완료되면 자동으로 COMMIT되고, DML 실패하면 자동으로 ROLLBACK되도록 Auto Commit 기능 설정
3. ROLLBACK
아직 COMMIT되지 않은 변경된 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어
- 트랜잭션 전체가 성공적으로 끝나지 못하면 일부 변경된 내용만 데이터베이스에 반영되는 비일관성인 상태를 가질 수 있기 때문에 일부분만 완료된 트랜잭션은 롤백 되어야한다.
4. SAVEPOINT
ROLLBACK 할 위치인 저장점을 지정하는 명령어이다.
- 저장점 지정할 때는 이름을 부여하며, ROLLBACK 시 저장된 저장점 까지의 트랜잭션 처리 내용이 취소 된다.
예시) SAVEPOINT 'S1' 을 설정하고 <사원> 테이블에서 '사원번호' 20인 사원의 정보 삭제
SAVEPOINT S1;
DELETE FROM 사원 WHERE 사원번호 = 20;
예시) SAVEPOINT 'S1' 까지 롤백
ROLLBACK TO S1;
출처
자료 참고:
시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다
반응형
'정보처리기사 > 3과목' 카테고리의 다른 글
[정보처리기사 필기] SQL 응용 (DDL, DCL, DML) (0) | 2022.02.19 |
---|---|
[정보처리기사 필기] DML 구문 정리 (0) | 2022.02.18 |
[정보처리기사 필기] DDL 구문 정리 (0) | 2022.02.18 |
[정보처리기사 필기] 물리 데이터베이스 설계 (0) | 2022.02.18 |
[정보처리기사 필기] 데이터베이스 이중화 / 서버 클러스터링 / 보안 / 백업 (0) | 2022.02.18 |
댓글