Post List

2016년 1월 26일 화요일

SQLP 요점정리 #07 : 2과목 SQL - 2장-4 SQL활용 : 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 부여

댓글 없음:

댓글 쓰기