UTF-404

데이터 제어어(DCL) 본문

정보처리기사

데이터 제어어(DCL)

UTF-404 2024. 3. 25. 11:52
728x90

💡 데이터 제어어(DCL; Data Control Language)의 개념

데이터 제어어는 DB 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 사용하는 언어이다.

 

📍 데이터 제어어(DCL) 기능

기능 설명
데이터 보안 불법적인 사용자로부터 데이터를 보호하는 기능
무결성 유지 데이터의 정확성과 일관성을 유지하는 기능
병행수행 제어 여러 트랜잭션을 수행할 때 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 기능
회복 데이터베이스 장애가 발생할 경우, 데이터베이스를 장애 발생 이전의 상태로 복원하는 기능

 

📍 데이터 제어어(DCL)의 유형 

🔎 DCL

명령어  동작  설명
GRANT 사용 권한 부여 관리자(DBA)가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어
REVOKE 사용 권한 취소 관리자(DBA)가 사용자에게 부여했던 권한을 회수하기 위한 명령어

 

🔎 DCL / TCL

명령어 동작 설명
COMMIT 트랜잭션 확정 데이터베이스 트랜잭션의 내용 업데이트를 영구적으로 확정하는 명령어
ROLLBACK 트랜잭션 취소 데이터베이스에서 업데이트 오류가 발생할 때, 이전 상태로 되돌리는 명령어
SAVEPOINT
(=CHECK POINT)
저장 시기 설정 트랜잭션의 특정 지점에 이름을 지정하고, 그 지점 이전에 수행한 작업에 영향을 주지 않고 그 지점 이후에 수행한 작업을 롤백할 수 있는 명령어

 

 

📌 GRANT(권한 부여) 명령어

  • GRANT 명령어는 데이터베이스 관리자(DBA)가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어이다.
  • GRANT 구문 마지막에 WITH GRANT OPTION 키워드를 붙이면 권한이 필요할 경우 다른 사용자에게 부여할 수 있는 권한을 부여할 수 있다.

📎 시스템 권한

GRANT 권한 TO 사용자;

권리자가 사용자에게 사용자에게 테이블/뷰/프로시저 등을 생성하고 삭제할 수 있는 권한을 부여

 

📎 객체 권한

GRANT 권한 ON 테이블 TO 사용자;

관리자가 사용자에게 테이블을 수정, 삽입, 삭제, 조회와 프로시저 실행을 할 수 있는 권한을 부여

 

📌 REVOKE(권한 취소) 명령어

  • REVOKE 명령어는 데이터베이스 관리자(DBA)가 사용자에게 부여했던 권한을 회수하기 위한 명령어이다.
  • REVOKE 구문에 CASCADE CONSTRAINTS 키워드를 붙이면 WITH GRANT OPTION으로 부여된 사용자들의 권한까지 회수할 수 있다.

📎 시스템 권한

REVOKE 권한 FROM 사용자;

관리자가 사용자에게 테이블/뷰/프로시저 등을 생성하고 삭제할 수 있는 권한을 회수

 

📎 객체 권한

REVOKE 권한 ON 테이블 FROM 사용자;

관리자가 사용자에게 테이블을 수정, 삽입, 삭제, 조회와 프로시저 실행할 수 있는 권한을 회수

 

 

📌 TCL 명령어

명령문 구분  설명
트랜잭션 확정 COMMIT; 데이터베이스 트랜잭션 내용 업데이트를 영구적으로 확정
트랜잭션 취소 ROLLBACK; 데이터베이스 업데이트 오류 발생 시 이전 상태로 되돌림
세이브 포인트 지정 SAVEPOINT 이름; 특정 지점을 지정
세이브 포인트 롤백 ROLLBACK TO
SAVEPOINT 이름;
SAVEPOINT로 지정한 부분 이후에 발생한 트랜잭션 취소
728x90

'정보처리기사' 카테고리의 다른 글

데이터 조작어(DML)  (0) 2024.03.25
절차형 SQL  (0) 2024.03.20
소프트웨어 연계 테스트  (0) 2024.03.20
내/외부 인터페이스 기술 표준  (0) 2024.03.20
소스 코드 품질 분석!!  (0) 2024.03.19