Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

DCL 본문

SQLD

DCL

d5ngs 2019. 10. 25. 16:37

정의

  • Data Control Language
  • 유저를 생성하고 권한을 제어할 수 있는 명령어

유저, 권한
  • Oracle
    - 유저를 통해 DB에 접속하는 형태
    - ID, PW를 통해 인스턴스에 접속을 하고, 그에 해당하는 스키마에 오브젝트 생성 등의 권한을 부여

  • SQL Server
    - 인스턴스 내 다수의 데이터베이스에 연결하여 작업하기 위해 유저를 생성한 후 로그인과 유저를 매핑
    - 특정 유저는 특정 데이터베이스 내 특정 스키마에 대한 권한을 부여 받을 수 있음

  • 시스템 권한
    - 유저 생성 후 데이터베이스 접속한다고 해서 Object (테이블, 뷰, 인덱스 등)에 접할 수 없다.
    - 사용자가 실행하는 DDL 문장은 그에 해당하는 권한이 있어야만 실행할 수 있다.

  • Object 권한
    - 특정 Object에 대한 DML 작업 명령어를 의미


Role을 이용한 권한 부여

  • ROLE
    - 유저에게 허가 할 수 있는 권한들의 집합
    - 권한 부여와 회수를 쉽게 할 수 있다.
    - CREATE ROLE권한을 가진 유저에 의해 생성된다.
    - 한 유저가 여러개의 ROLE을 엑세스할 수 있고, 여러 유저에게 같은 ROLE을 부여할 수 있다.
    - 유저는 ROLE에 ROLE을 부여할 수 있다.

    - DBA가 유저마다 권한을 부여한다면 관리하기가 힘들다. 따라서 ROLE을 생성하여 ROLE만 유저에게 지정을 한다면 효율적으로 권한을 관리할 수 있다.

  • ROLE 부여 코드
    -
    CREATE ROLE manager;                                            -- ROLE 생성
    GRANT CREATE SESSION, CREATE TABLE TO manager;    -- ROLE에 권한 부여
    GRANT manager TO scott, test;                                  -- 권한이 부여된 ROLE을 유저나 ROLE에 부여



'SQLD' 카테고리의 다른 글

옵티마이저  (0) 2019.10.28
절차형 SQL  (0) 2019.10.25
윈도우 함수  (0) 2019.10.25
그룹함수  (0) 2019.10.25
서브쿼리  (0) 2019.10.25