이 글에서 꼭 잡아야 할 것
데이터를 바꾼 뒤에는 그 변경을 확정할지 되돌릴지 결정해야 한다. TCL은 트랜잭션을 제어하고, DCL은 사용자 권한을 관리한다.
SQL은 문법을 실행하는 순간 끝나는 것이 아니라, 그 변경을 언제 확정할 것인지까지 포함해 생각해야 한다. 트랜잭션 감각이 있으면 실무에서 사고를 줄일 수 있고, 시험에서도 DDL과 DML의 차이, 자동 커밋 여부 같은 포인트를 훨씬 잘 이해하게 된다.
개념 지도와 이해 포인트
대표 문법 패턴
UPDATE accounts
SET balance = balance - 100
WHERE account_id = 1;
SAVEPOINT before_transfer;
UPDATE accounts
SET balance = balance + 100
WHERE account_id = 2;
COMMIT;
문법 읽는 포인트
- COMMIT은 변경 사항을 확정한다.
- ROLLBACK은 마지막 COMMIT 이후 변경을 되돌린다.
- GRANT는 권한 부여, REVOKE는 권한 회수다.
핵심 용어
- COMMIT
- ROLLBACK
- GRANT
중간 저장점이 있는 이체 흐름 이해하기
트랜잭션은 비즈니스 작업 단위라는 관점으로 이해하는 것이 중요하다. 주문, 결제, 재고 차감처럼 함께 성공하거나 함께 실패해야 하는 작업은 하나의 트랜잭션으로 읽어야 한다.
SAVEPOINT s1;
UPDATE inventory
SET quantity = quantity - 1
WHERE product_id = 100;
ROLLBACK TO s1;
수험 체크포인트와 자주 하는 실수
시험 체크포인트
- COMMIT 전과 후의 상태 차이를 꼭 구분하자.
- SAVEPOINT는 부분 롤백을 위한 기준점이다.
- GRANT/REVOKE는 DCL, COMMIT/ROLLBACK은 TCL로 분류된다는 점을 기억하자.
자주 하는 실수
- 트랜잭션을 문장 하나 단위로만 이해하는 실수
- DDL과 DML의 커밋 특성을 혼동하는 실수
- 권한 부여와 객체 소유 개념을 섞어 이해하는 실수
연결 학습
트랜잭션과 권한을 이해하면 운영 관점이 붙는다. 다음 챕터에서는 자주 쓰는 데이터베이스 객체인 뷰, 시퀀스, 인덱스를 정리한다.
댓글 0
작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.
같은 카테고리에서 이어서 읽기
지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
DDL 기초: CREATE, ALTER, DROP, TRUNCATE
DDL은 데이터 구조를 정의하고 바꾸는 문법이다. 테이블과 컬럼을 만드는 CREATE, 구조를 바꾸는 ALTER, 제거하는 DROP과 TRUNCATE를 정확히 구분해야 한다.
제약조건과 데이터 무결성
좋은 데이터베이스는 잘못된 데이터를 애초에 받지 않는다. 제약조건은 데이터 무결성을 보장하는 핵심 장치이며, 오라클 SQL 시험에서도 매우 중요한 주제다.
DML: INSERT, UPDATE, DELETE, MERGE
DML은 실제 데이터를 추가하고 바꾸고 삭제하는 문법이다. 테이블 구조보다 더 자주 다루게 되는 영역이므로 문장별 목적과 영향 범위를 명확히 이해해야 한다.
뷰, 시퀀스, 인덱스 이해하기
오라클 SQL 실무에서는 테이블만 다루지 않는다. 뷰로 조회를 추상화하고, 시퀀스로 번호를 만들고, 인덱스로 검색 속도를 높인다.
실행 계획과 SQL 튜닝 기초
좋은 SQL은 정답만 맞는 SQL이 아니라, 같은 정답을 더 효율적으로 만드는 SQL이다. 실행 계획과 튜닝 기초를 이해하면 왜 어떤 문장이 느린지 읽을 수 있게 된다.
댓글을 불러오는 중입니다.