데이터베이스 관리에서 중요한 두 가지 언어, DCL(Data Control Language)과 TCL(Transaction Control Language)에 대해 자세히 알아보겠습니다. 이 두 언어는 데이터베이스 사용자의 권한을 제어하고, 트랜잭션을 안전하게 관리하는 데 필수적입니다.
DCL: 데이터 제어어
GRANT SELECT ON sales TO user123;
REVOKE SELECT ON sales FROM user123;
TCL: 트랜잭션 제어어
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
-- 여기서 어떤 문제가 발견되었다고 가정
ROLLBACK;
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 50 WHERE id = 1;
SAVEPOINT sp1;
UPDATE accounts SET balance = balance + 50 WHERE id = 2;
-- 문제 발생
ROLLBACK TO sp1;
COMMIT;
여기서는 'id = 2'의 계좌 변경 사항만 취소되고, 'id = 1'의 계좌 변경 사항은 그대로 유지되어 최종적으로 커밋됩니다.
이 포스트를 통해 DCL과 TCL의 기본적인 개념과 사용 방법을 이해하고, 실제 데이터베이스 관리에 활용할 수 있기를 바랍니다. 데이터베이스의 안전성과 효율성을 높이는 것은 이러한 명령어들의 정확한 사용에서 시작됩니다. 2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!
[정보처리기사 실기 공부] SELECT 쿼리 활용 (2) (0) | 2024.05.13 |
---|---|
[정보처리기사 실기 공부] SELECT 쿼리 활용 (1) (0) | 2024.05.12 |
[정보처리기사 실기 공부] SQL 기본 문법과 종류 (1) (0) | 2024.04.25 |
[정보처리기사 실기 공부] 분산 데이터베이스 (0) | 2024.04.24 |
[정보처리기사 실기 공부] 물리데이터 모델 품질 검토 (0) | 2024.04.23 |