본문 바로가기

데이터베이스

[데이터베이스] 8. SQL(Structured Query Language) - DCL

반응형

데이터 조작 프로시저

  • 데이터 조작을 위해서 사용하는 언어를 SQL(Structured Query Language)이라고 하는데, SQL은 일정한 데이터 집합으로부터 보다 쉽게 자료를 검색하고 입력, 수정, 삭제와 같은 조작을 할  수 있도록 고안된 언어를 말한다.
  • 일반적으로 SQL은 데이터 정의어(DDL: Data Definition Language), 데이터 조작어(Data Manipulation Language), 데이터 제어어(Data Control Language)등의 세가지로 분류한다. 

데이터 제어어(DCL: Data Control Language)

  • 사용자별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어들을 말한다.
  • 종류
    • ROLE, GRANT, REVOKE 등이 있다.
  • ROLE: 롤
    • 문법
      CREATE ROLE Role_name;
      /*
      	1) Role_name 선언 후 GRANT로 권한을 Role_name으로 부여
      	2) Oracle에서는 일반적으로 많이 사용하는 권한을 묶어 3가지 기본 Role을 제공
      		- CONNECT: 데이터베이스 접속 권한
      		- RESOURCE: Object 생성 권한
      		- DBA: 모든 권한
      */
    • 예시
      CREATE ROLE manager;
      GRANT create table, create view TO manager;
      GRANT manager TO scott;
  • GRANT: 권한 및 롤 부여
    • 문법
      GRANT 부여할 권한 유형 TO User [ Role_name ];
    • 예시
      GRANT connect, resource to scott;
      Grant SELECT ON emp TO scott[PUBLIC] [With Grant/Admin Option];
      /*
      Grant/Admin Option은 둘 다 실행 권한을 받은 사용자가
      다시 사용자에게 실행 권한을 부여해 줄수 있게 해주는 option이다.
      다만, 두 Option 간 차이는,
      	- With Grant Option: revoke 시 다른 사용자에게 부여도니 권한도 함께 회수된다.
      	- With Admin Option: revoke 시 다른 사용자에게 부여한 권한은 함께 회수되지 않으므로 
      			     Admin Option의 사용은 신중을 기해야 한다. 
      */
  • REVOKE: 권한 및 롤 회수
    • 문법
      REVOKE 회수할 권한 유형 FROM User;
    • 예시
      REVOKE connect, resource FROM scott;
      REVOKE SELECT ON emp FROM scott;

 

 

 

참고자료

  • NCS학습모듈 - 데이터입출력구현
반응형