📚CS/SQL

SQL 기본 및 활용 -DCL

바규냐하 2023. 8. 5. 15:35

1. DCL 개요

유저를 생성하고 권한을 제어할 수 있는 DCL (DATA CONTROL LANGUAGE) 명령어가 있다.

2. 유저와 권한

유저 역할
SCOTT Oracle 테스트용 샘플 유저 
Default 패스워드 : TIGER
SYS DBA ROLE을 부여받은 유저
SYSTEM 데이터베이스의 모든 시스템 권한을 부여받은 DBA 유저
Oracle 설치 완료 시에 패스워드 설정

유저 생성과 시스템 권한 부여

일반적으로 시스템 권한은 일일이 유저에게 부여되지 않는다.

롤 (ROLE)응 이용하여 간편하고 쉽게 권한을 부여하게 된다.

먼저 유저를 생성하고 권한을 부여한다.

새로운 유저를 생성하려면 일단 유저 생성 권한(CREATE USER)이 있어야 한다.

OBJECT에 대한 권한 부여

오브젝트 권한은 특정 오브젝트인 테이블, 뷰 등에 대한 SELECT, INSERT, DELETE, UPDATE 작업 명령어를 의미한다.

3. Role을 이용한 권한 부여

유저를 생성하면 기본적으로 CREATE SESSION, CREATE TABLE, CREATE PROCEDURE 등 많은 권한을 부여해야 한다.

데이터베이스 관리자는 ROLE을 생성하고, ROLE에 각종 권한들을 부여한 후 ROLE을 다른 ROLE이나 유저에게 부여할 수 있다.

또한 ROLE에 포함되어 있는 권한들이 필요한 유저에게는 해당 ROLE이나 유저에게 부여할 수 있다.

 

유저들과 권한들 사이 간 ROLE의 역할을 보여주고 있다

왼쪽 그림은 권한을 직접 유저에게 할당할 때를 나타내는 것이며, 오른쪽 그림은 ROLE에 권한을 부여한 후 ROLE을 유저들에게 부여하는 것을 나타내고 있다.

글에서 나오는 코드와 내용은 책 SQL 전문가 가이드에서 가져옴을 알립니다.