매일 1%씩, 개발자로 성장하기

[DB] DCL(Data Control Language, 데이터 제어 언어) 본문

Database

[DB] DCL(Data Control Language, 데이터 제어 언어)

할미개발 2022. 8. 3. 20:19
728x90

 DCL(Data Control Language, 데이터 제어 언어)

- 데이터 베이스 접근 권한을 부여하는 언어
- 데이터 베이스의 테이블에 영향을 직접적인 영향을 미치기 때문에 DCL 명령어를 입력하는 순간,
  명령어에 해당하는 작업이 즉시 AUTO COMMIT 된다는 것을 유의하여야함.

 

 

1) GRANT

- 데이터베이스에 대해서 특정 사용자에게 특정 작업이 가능하도록 액세스 권한을 제공

- WITH GRANT OPTION : 자신이 부여 받은 권한을 다른 계정의 사용자에게 부여할수 있음
- WITH ADMIN OPTION : 시스템 권한(관리자 계정에 부여된 권한 - DBA) 부여

GRANT 권한 ON 테이블명 TO 사용자;
GRANT 권한 ON 테이블명 TO 사용자 WITH GRANT OPTION;

 

2) REVOKE

- GRANT 명령으로 주어진 액세스 권한을 철회

- CASCADE CONSTRAINT : 참조 객체 권한에서 사용된 참조 무결성 제한을 같이 삭제가능
즉, WITH GRANT OPTION 으로 객체 권한을 부여한 사용자의 객체 권한을 철회하면 권한을 부여받은 사용자가 부여한

객체 권한 또한 같이 철회되는 종속철회가 발생 But, WITH ADMIN OPTION 은 특정 사용자의 권한만 회수가 되고 
나머지 다른사용자에게 부여된 권한은 회수가 되지 않음

REVOKE 권한 FROM 사용자;
REVOKE SELECT ON emp FROM kim WITH GRANT OPTION;
728x90
Comments