Published: Jan 14, 2020 by Dev-hwon
DCL(Data Control Language, 데이터 제어어)
- 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어
- 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용
명령문 | 기능 |
---|---|
COMMIT | 데이터베이스 조작 작업을 영구적으로 반영하여 완료 |
ROLLBACK | 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구 |
GRANT | 데이터베이스 사용자에게 사용 권한을 부여 |
REVOKE | 데이터베이스 사용자의 사용 권한을 취소 |
COMMIT / ROLLBACK
- COMMIT
- 트랜잭션의 모든 변경 내용들을 영구적으로 데이터베이스에 반영
- 트랜잭션이 성공적으로 끝나면 데이터베이스가 새로운 일관성 상태를 가지기 위해 수행된 모든 변경을 데이터베이스에 반영하여 완료
- ROLLBACK
- 변경된 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어
- 트랜잭션의 일부를 성공적으로 끝내지 못하면 데이터베이스가 비일관성이 ㄴ상태를 가질 수 있기 때문에 일부분만 완료된 트랜잭션은 롤백되어야 한다.
GRANT / REVOKE
- GRANT : 권한 부여
- REVOKE : 권한 취소
- 사용자 등급 지정 및 해제
GRANT 사용자등급 TO 사용자_ID_리스트[IDENTIFIED BY 암호];
REVOKE 사용자등급 FROM 사용자_ID_리스트;
- 테이블 및 속성에 대한 권한 부여 및 취소
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 : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소
- CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소