SQLD

SQLD 개념정리 (DCL)

chojdsj 2023. 11. 12. 16:26
728x90

 

 

 

DCL (Data Control Language)

 

 

- 유저를 생성하고 권한을 제어하는 명령어 (GRANT와 REVOKE)

 

- 유저가 사용하는 모든 DDL(CREATE, ALTER, DROP, RENAME) 문장은 그에 해당하는 적절한 권한이 있어야만 가능

 

 

 

 

 

 

Oracle 기본 유저 종류

 

 

 

- SCOTT / TIGER (ID / PW) : 테스트용 샘플 유저

 

- SYS : DBA ROLE을 부여받은 유저

 

- SYSTEM : 모든 권한을 부여받은 DBA 유저 - 설치 시 패스워드를 설정

 

 

 

 

[ Oracle 권한부여 ]

 

- DBA 권한을 가진 SYSTEM 유저로 먼저 => 다른 유저에게 권한을 주는 방식으로 진행

 

 

 

 

[ SQL Server 권한부여 ]

- 유저 생성 전, 먼저 로그인을 생성해야 함

 

- 로그인을 생성할 수 있는 권한을 가진 로그인은 'sa'

 

 

 

 

 

 

 

 

Object에 대한 권한 부여

 

 

 

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

 

- [Oracle] : 자신이 생성한 테이블 외 다른 유저의 테이블에 접근하려면, 해당 오브젝트의 권한을 가진 소유자에게 권한을 부여받아야 함

 

- [SQL Server] : 오라클과 마찬가지로 차이점은 유저는 단지 "스키마"에 대한 권한만을 가짐. 테이블과 같은 오브젝트는 유저가 소유하는게 아니고 스키마가 소유하는 것. 유저는 그 스키마에 대한 권한을 갖는 것.

 

 

 

 

 

 

 

 

ROLE을 이용한 권한 부여

 

 

 DBA의 역할

 

- 각 유저별로 어떤 권한이 있는지 관리해야 함

 

- DBA는 ROLE을 생성하고, ROLE에 대한 각종 권한을 부여한 후, 다른 ROLE이나 유저에게 부여

 

 

 

 

ROLE

 

- 다양한 권한을 그룹으로 묶어 관리, 사용자와 권한 사이에서 중개 역할 수행

 

- 시스템 권한, 오브젝트 권한 모두 부여 가능

 

- ROLE은 유저에게 직접 부여될 수도 있고 다른 ROLE에 포함되어 유저에게 부여될 수도 있다.

 

 

 

 

 

ORACLE에서 제공하는 ROLE 종류

 

- CONNECT :  Create Session과 같은 로그인 권한

 

- RESOURCE : Create Table과 같은 오브젝트(=리소스) 생성 권한

 

 

 

 

유저 삭제 명령어와 권한

 

 

유저 삭제 명령어

 

- DROP USER 유저명 CASCADE;

 

=> CASCADE 옵션 : 해당 유저가 생성한 오브젝트를 먼저 삭제 후 유저를 삭제

 

'SQLD' 카테고리의 다른 글

SQLD 개념정리 (SQL 최적화 기본 원리)  (0) 2023.11.13
SQLD 개념정리 (절차형 SQL)  (0) 2023.11.12
SQLD 개념정리 (윈도우 함수)  (0) 2023.11.10
SQLD 개념정리 (GROUPING)  (0) 2023.11.09
SQLD 개념정리 (그룹함수)  (3) 2023.11.09