| 특성 | 설명 |
|---|---|
| 원자성 | 전체 작업 중 하나라도 실패하면 모두 롤백 |
| 일관성 | 트랜잭션 전/후 DB 상태가 일관되게 유지 |
| 격리성 | 동시에 실행되는 트랜잭션은 서로 간섭 못함 |
| 지속성 | COMMIT 후 결과는 영구 반영됨 |
사례1: 은행 이체
출금 + 입금을 하나의 트랜잭션으로 묶어야 함
사례2: 영화 예매
좌석 선택, 결제, 예매 등록 등 일련의 작업은 하나의 트랜잭션
SAVEPOINT: 트랜잭션 내 중간 저장 지점 설정
SAVEPOINT save1;
ROLLBACK TO SAVEPOINT save1;
자동 커밋 (Auto Commit):
CREATE, ALTER, DROP, TRUNCATE 등 DDL 명령어는 자동 COMMIT 유발DCL은 데이터에 접근할 수 있는 권한을 부여/회수하는 역할
GRANT: 권한 부여REVOKE: 권한 회수| 종류 | 설명 | 예시 |
|---|---|---|
| 시스템 권한 | DB 접속, 사용자/테이블 생성 등의 권한 | CREATE SESSION, CREATE TABLE |
| 객체 권한 | 특정 테이블이나 뷰에 대한 권한 | SELECT, INSERT, UPDATE, DELETE |
CREATE USER MARKETER IDENTIFIED BY marketing123;
GRANT CREATE SESSION TO MARKETER;
GRANT SELECT ON COURSES TO MARKETER;
GRANT SELECT ON COURSES TO MARKETER WITH GRANT OPTION;
REVOKE SELECT ON COURSES FROM MARKETER;
REVOKE CREATE SESSION FROM MARKETER;
CREATE ROLE DEV_ROLE;
GRANT CREATE SESSION, CREATE TABLE TO DEV_ROLE;
GRANT SELECT, INSERT, UPDATE, DELETE ON COURSES TO DEV_ROLE;
CREATE USER DEV01 IDENTIFIED BY devpass;
GRANT DEV_ROLE TO DEV01;
REVOKE DEV_ROLE FROM DEV01;
GRANT)하거나 회수(REVOKE) 가능