DML, TCL 명령어들 이외에도 유저를 생성하고 권한을 제어할 수 있는 DCL(DATA CONTROL LANGUAGE) 명령어
GRANT: 권한을 부여하는 명령
grant <권한 리스트> on <객체명> to <사용자 리스트>
REVOKE: 다른 사용자에게 부여한 권한을 회수하기 위한 명령
revoke <권한리스트> on <객체명> from <사용자 리스트>
WITH GRANT OPTION: 부여받은 권한을 다른 사용자에게 전파할 수 있는 특별한 옵션
// select 권한을 kim에게 부여함과 동시에 이 권한을 다른 사용자에게 다시 전파할 수 있는 자격까지 부여
grant select on student to kim with grant option
ROLE: 권한별로 사용자 그룹을 만들어 그룹에 권한을 부여하는 방법
// 롤 생성
create role <롤이름>
// 롤에 사용자 배정
grant <롤이름> to <사용자 리스트>
// 롤에 권한을 부여
grant select on <객체명> to <롤이름>
// 롤 삭제
drop role <롤 이름>
[121번]
ROLE는 많은 DBMS 사용자에게 개별적으로 많은 권한을 부여하는 번거로움과 어려움을 해소하기 위해 다양한 권한을 하나의 그룹으로 묶어놓은 논리적인 권한의 그룹이다.
[122번]
REVOKE INSERT ON R FROM KIM CASCADE;
WITH GRANT OPTION으로 KIM으로부터 권한을 부여받았다면, 그 사람은 CASCADE 명령어로, INSERT 권한이 KIM과 동시에 취소된다.