본문 바로가기

정보처리산업기사 필기 공부/SQL_활용

DCL(SQL_활용)

 

 

DCL 개요

 

1. DCL 유형

데이터 베이스에서 데이터 이외의 오브젝트에 대해 조작할 때 사용하는 명령어 이다.

 

DCL 조작 대상

오브젝트 목적 내용
사용자 권한 접근 통제 사용자를 등록하고, 사용자에게 특정 데이터베이스를 사용할 수 있는 권리를 부여하는 작업
트랜잭션 안전한 거래 보장 동시에 다수의 작업을 독립적으로 안전하게 처리하기 위한 상호 작용 단위

트랜잭션 제어를 위한 명령어 TCL(Transaction Control Language)이 있다. TCL과 DCL은 대상이 달라 서로 별개의 개념으로 분류할 수 있으나, 제어 기능의 공통점으로 DCL의 일부로 분류하기도 한다.

 

 

 

DCL 명령어

 

 

DCL

  • GRANT - 데이터베이스 사용자 권한 부여
  • REVOKE - 데이터 베이스 사용자 권한 회수

TCL

  • COMMIT - 트랜잭션 확정
  • ROLLBACK - 트랜잭션 취소
  • CHECKPOINT - 복귀지점 설정

 

 

 

 

 

DCL 활용

 

1. 사용자 권한 부여

권한은 시스템 권한과 객체 권환으로 분류한다

 

권한 명령어 문법
시스템 권한 GRANT 권한1, 권한2, TO 사용자 계정
객체 권한 GRANT 권한1, 권한2, ON 객체명 TO 사용자 계정

 

구분 권한 내용
시스템 권한 CREATE USER 계정 생성 권한
DROP USER 계정 삭제 권한
DROP ANY TABLE 테이블 삭제 권한
CREATE SESSION  데이터베이스 접속 권한
CREATE TABLE 테이블 생성 권한
CREATE VIEW 뷰 생성 권한
CREATE SEQUENCE 시퀀스 생성 권한
CREATE PROCEDURE 함수 생성 권한
객체 권한 ALTER 테이블 변경 권한
INSERT 데이터 조작 권한
DELETE
SELECT
UPDATE
EXECUTE PROCEDURE 실행 권한

 

 

 

2. 사용자 권한 회수

 GRANT에 대응하는 권한 회수 명령은 REVOKE이며, 권한 유형별 대응하는 명령어 구조는 다음과 같다

 

시스템 권한 - REVOKE 권한1, 권한2, FROM 사용자 계정

객체 권한 - REVOKE 권한1, 권한2 ON 객체명 FROM 사용자 계정

 

 

 

 

DCL 이론적 배경인 접근 통제

 

1. 접근 통제 개념

 

데이터베이스의 보안을 구현하는 방법으로 접근 통제 방법을 사용한다

 

접근 통제 정의

 - 보안 정책에 따라 접근 객체(시스템 자원, 통신자원 등)에 대한 접근 주체(사용자, 프로세스 등)의 접근 권한 확인 및 이를 기반으로 한 접근 제어를 통해 자원에 대한 비인가된 사용을 방지하는 정보 보호 기능

 

 

 

2. 접근 통제 정책에 따른 유형

 

임의 접근 통제

 - 시스템 객체에 대한 접근을 사용자 개인 또는 그룹의 식별자를 기반으로 제한하는 방법

 - 여기서 임의적이라는 말은 어떤 종류의 접근 권한을 갖는 사용자는 다른 사용자에게 자신의 판단에 의해서 권한을 줄 수 있다는 것임.

 - 주체와 객체의 신분 및 임의적 접근 통제 규칙에 기초하여 객체에 대한 주체의 접근을 통제하는 기능

 

임의 접근 통제 의미

 - 통제 권한이 주체에 있음

 - 주체가 임의적으로 접근 통제 권한을 배분하여 제어할 수 있음.

 

 

 

강제 접근 통제

 - 정보 시스템 내에서 어떤 주체가 특정 객체에 접근하려 할 때 양쪽의 보안 레이블에 기초하여 높은 보안 수준을 요구하는 정보가 낮은 보안 수준의 주체에게 노출 되지 않도록 접근을 제한하는 통제 방법

 

강제 접근 통제 의미

 - 통제 권한이 제3자에게 있음.

 - 주체는 접근 통제 권한과 무관함.

 

 

3. 접근 통제와 DCL 관계

 강제 접근 통제의 경우, 제3자의 종류에 따라 보다 세분화된 정책이 존재한다. 접근 통제 정책의 두 가지 가운데 데이터베이스관리시스템(DBMS)에서 채택한 접근 통제 정책은 임의 접근 통제, DAC 방식이다. 데이터베이스 관리, 특히 접근 통제 용도로 SQL에서 사용하는 명령어가 바로 DCL인 것이다.

 

 

 

 

 

TCL 활용 방법

 

1. 트랜잭션 개념

 - 트랜잭션은 '일 처리 단위'를 의미한다.

 

  • 트랜잭션은 논리적 연산 단위이다.
  • 한 개 이상의 데이터 베이스 조작이다.
  • 즉, 하나 이상의 SQL 문장이 포함된다.
  • 트랜잭션은 '거래'다.
  • 이때 거래 결과가 모두 반영되거나 또는 모두 취소되어야 한다.
  • 즉, 데이터베이스에서의 트랜잭션은 특별한, 엄격한 거래를 의미한다. 
  • 분할할 수 없는 최소 단위이다.

 

2. 트랜잭션 제어

 트랜잭션을 제어한다는 것은 흐름의 구조를 바꾼다는 것이 아니라 트랜잭션의 결과를 수용하거나 취소하는 것을 의미한다.

 

COMMIT - 거래 내역을 확정함.

ROLLABCK - 거래내역을 취소함.

CHECKPOINT - 저장점 설정 - ROLLBACK할 위치를 지정함

 

 

 

 

 

3.DCL.txt
0.00MB

'정보처리산업기사 필기 공부 > SQL_활용' 카테고리의 다른 글

뷰 활용(SQL_활용)  (0) 2020.04.19
인덱스 활용(SQL_활용)  (0) 2020.04.19
데이터 사전 검색(SQL_활용)  (0) 2020.04.19
DML (SQL_활용)  (0) 2020.04.19
DDL (SQL_활용)  (0) 2020.04.16