[SQLD] 데이터를 지키는 언어, DCL의 세계로

서연·2025년 11월 4일
post-thumbnail

📖 DCL [출처]

  • 데이터베이스 사용자에게 권한을 부여 / 회수하는 언어이다.

💡 기본 문법

GRANT ON TO

  • 권한 부여

REVOKE ON FROM

  • 권한 회수

📁 권한의 종류

Select
Insert
Update
Delete
References
Alter
Index
All


🧩 GRANT 옵션

TO 유저 WITH GRANT OPTION;

  • 특정 사용자에게 부여 가능한 권한을 부여한다.
  • 단, 엄마가 회수될 때 자식도 회수된다.
  • A가 B에게 권한을 주고 B가 C에게 권한을 줬을 때 B에 대한 권한을 회수하면 C에게 할당됐던 권한까지 회수된다.

TO 유저 WITH ADMIN OPTION;

  • 테이블에 대한 모든 권한 부여이다.
  • 엄마의 권한 회수는 나랑 상관없다.
  • B의 테이블 권한을 회수해도 C에게는 남아있다.

🧠 문제 1

유저 hoho가 아래의 코드와 같은 작업을 수행할 수 있도록 권한을 부여하는 DCL을 작성하시오

UPDATE hoho_qualification.data
SET col2 = '합격' // 컬럼2를 합격으로 수정해주세요 = UPDATE
WHERE col1 = 'SQLD'; // 컬럼1이 SQLD 인 것만 = SELECT
  • GRANT SELECT, UPDATE ON hoho_qualification.data TO hoho;
  • WHERE 조건을 사용가능하기 위해 SELECT 권한도 부여한다.

🧠 문제 2

데이터베이스 상에서 많은 사용자들에게 개별적으로 권한을 부여하고 관리하는 어려움을 해소하고자 다양한 권한을 하나의 그룹으로 묶어서 관리할 수 있도록 하는 논리적인 권한의 그룹을 칭하는 말은

  • ROLE
  • GRANT 관리자 권한 TO hoho;

0개의 댓글