※ SQL 제어어?
관리자가 데이터의 보안, 무결성 유지, 병행제어, 회복 등을 하기 위해 사용하는 언어로, COMMIT, ROLLBACK, GRANT, REVOKE 등이 있다.
1. COMMIT
: 데이터베이스 내의 연산이 성공적으로 종료되어 연산에 의한 수정 내용을 지속적으로 유지하기 위한 명령어
2. ROLLBACK
: 데이터베이스 내의 연산이 비정상적으로 종료되거나 정상적으로 수행이 되었다 하더라도 수행되기 이전 상태로 되돌리기 위해 연산 내용을 취소할 때 사용하는 명령어
예 1 ) [학생] 테이블에서 김길동 학생의 연락처를 '232-0077'로 갱신하시오.
UPDATE 학생 SET 연락처 = '232-0077' WHERE 성명='김길동';
COMMIT;
=> UPDATE 명령 이후 COMMIT을 했으므로, 정상적으로 반영된다.
예 2 ) ROLLBACK 명령을 사용해 명령을 취소하시오.
DELETE FROM 학생 WHERE 성명='최길동';
ROLLBACK;
=> [학생] 테이블에서 최길동 학생의 자료를 삭제했지만 ROLLBACK 명령에 의해 취소되어 삭제된 자료가 다시 살아난다.
3. GRANT
: 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하기 위한 명령어
GRANT 권한 내용 ON 테이블_이름 TO 사용자 [WITH GRANT OPTION];
GRANT 권한 내용(A) ON 테이블_이름(B) TO 사용자(C) | 관리자가 사용자 C에게 테이블 B에 대한 권한 A를 부여함 |
WITH GRANT OPTION | 사용자가 관리자로부터 부여받은 권한을 다른 사용자에게 부여할 수 있는 권한 부여권까지 부여하고자 할 때 사용하는 옵션 |
예 1 ) 관리자가 사용자 OTH에게 [학생] 테이블에 대해 UPDATE 할 수 있는 권한과 그 권한을 필요시 다른 사용자에게 부여할 수 있는 권한을 부여하시오.
GRANT UPDATE ON 학생 TO OTH WITH GRANT OPTION;
4. REVOKE
: 관리자가 사용자에게 부여했던 권한을 취소하기 위해 사용되는 명령어
REVOKE 권한 내용 ON 테이블_이름 FROM 사용자 [CASCADE];
REVOKE 권한 내용(A) ON 테이블_이름(B) FROM 사용자(C) | 관리자가 사용자 C에게 부여했던 테이블 B에 대한 권한 A를 취소함 |
CASCADE | 사용자 C가 다른 사용자에게 권한을 부여했을 경우 그 권한도 연쇄적으로 취소됨. |
예 1 ) 사용자 OTH에게 부여했던 [학생] 테이블에 대한 UPDATE 권한을 취소하시오.
REVOKE UPDATE ON 학생 FROM OTH CASCADE;
'전공 > Database' 카테고리의 다른 글
[이론] 뷰(VIEW)와 시스템 카탈로그 (0) | 2022.04.04 |
---|---|
[실습] SQL문 (0) | 2022.03.29 |
[이론] SQL 조작어(DML) (0) | 2022.03.15 |
[이론] SQL 정의어(DDL) (0) | 2022.03.14 |
[이론] 관계 데이터 연산 (0) | 2022.03.13 |