SQLP 2-2-4 DCL


2과목 SQL 기본 및 활용

  • 20문제
  • 각 상황별로 SQL문 작성이 가능할 정도로 연습해야 합니다.
  • 기본적인 SQL문법 및 함수는 생략하고 Tuning에 활용될수 있는 것 위주로 정리하고자 합니다.

2장 SQL 활용 (#4)

DCL (Data Control Langeage)

  • USER 생성 및 권한 관리에 관한 내용
  • DBMS별로 구조 및 내용이 많이 다름 (여기서는 Oracle 위주로 진행)
USER 생성
CREATE USER 사용자명 IDENTIFIED BY 비밀번호;
권한부여
GRANT 권한 TO 사용자;     -- 권한 부여
REVOKE 권한 FROM 사용자;  -- 권한 회수

앞서 본 사용자 생성 작업을 하기 위해서는 CREATE USER 권한이 필요함

GRANT CREATE USER TO 사용자명;

하지만 생성된 USER는 session 연결도 못한다.

GRANT CREATE SESSION TO 사용자명;

session 연결을 하였다 하더라도 table 생성 권한이 없다.

GRANT CREATE TABLE TO 사용자명;
OBJECT 권한 관리
GRANT 권한 ON 오브젝트 TO 사용자;
  • OBJECT 별 권한목록 ```
  • Table : DELETE, INSERT, SELECT, UPDATE, ALTER, INDEX, REFERENCES
  • View : DELETE, INSERT, SELECT, UPDATE
  • SEQUENCE : SELECT, ALTER
  • PROCEDURE : EXECUTE ```

기본적으로 자신이 생성하지 않은 object에는 접근이 불가능하다.
object 생성자가 그것을 활용할 사람에게 권한을 부여해야만 사용이 가능하다.

Role

사용자를 새로 생성할때마다 권한을 다 부여하는 것은 번거로운 작업이다.
Role을 생성하여 Role에다가 여러가지 역할을 부여하고, 사용자에게 해당 Role에 대한 권한을 주면 한방에 해결된다.

CREATE ROLE ROLE명칭          -- ROLE 생성
GRANT 권한[, ...] TO ROLE명칭 -- ROLE에 권한 부여
GRANT ROLE명칭 TO 사용자      -- 사용자에게 ROLE 부여

이 글이 도움이 되셨다면 공감 및 광고 클릭을 부탁드립니다 :)