현재 선택한 정보처리 과정

정보처리기사 실기 이론 학습

이론 목록으로 돌아가기

DDL·DML·DCL·TCL 기본

SQL 명령의 대상과 효과를 구별하고 빈칸의 문법을 채운다.

예상 읽기 3

실기 학습 목표

SQL 명령의 대상과 효과를 구별하고 빈칸의 문법을 채운다.

핵심 이론

DDL은 CREATE·ALTER·DROP으로 구조를 정의하고, DML은 INSERT·UPDATE·DELETE로 데이터를 변경한다. SELECT는 조회이며 교재에 따라 DQL로 따로 분류하기도 한다.

DCL은 GRANT·REVOKE로 권한을 부여·회수한다. GRANT SELECT ON T TO u, REVOKE SELECT ON T FROM u처럼 TO/FROM을 구별한다.

TCL은 COMMIT·ROLLBACK·SAVEPOINT다. SAVEPOINT는 트랜잭션 안의 부분 취소 지점이며 DBMS의 장애 회복 체크포인트와 다르다.

PRIMARY KEY는 유일성과 NOT NULL을 요구한다. UNIQUE는 조합의 중복을 막고 CHECK는 조건, FOREIGN KEY는 참조 관계를 제한한다. NULL과 DDL의 커밋 동작은 DBMS별 차이를 확인한다.

개념 도식

좌우로 이동해 그림을 확인하세요.그림 크게 보기
DDL·DML·DCL·TCL 기본의 관계와 흐름을 보여 주는 도식
DDL·DML·DCL·TCL 기본의 관계와 흐름을 보여 주는 도식

명령의 목적과 변경 경계를 구별한다

DDL은 테이블 등 구조, DML은 데이터 행, DCL은 권한, TCL은 트랜잭션의 확정·취소를 다룬다. DELETE는 조건에 맞는 행을 지우고 DROP은 객체 자체를 없앤다. COMMIT은 변경을 확정하며 ROLLBACK은 지정한 경계까지 취소한다.

초기값 10에서 +5 후 SAVEPOINT s, 다시 ×2를 수행하면 값은 30이다. ROLLBACK TO s는 저장점 뒤의 ×2만 취소해 15로 돌아가며, 이어 COMMIT하면 15가 확정된다. SAVEPOINT를 트랜잭션 시작과 동일하게 취급하지 않는다. DBMS별 DDL 자동 커밋 등의 차이는 지문이 정한 조건을 따른다.

제약조건은 어떤 중복·NULL·연결을 금지하는지 적어 판정한다. PRIMARY KEY는 유일성과 NULL 금지를 함께 요구한다. UNIQUE와 NOT NULL은 역할이 다르다. 복합 UNIQUE는 각 열이 따로 유일해야 한다는 뜻이 아니라 열 조합의 중복을 제한한다.

외래키의 ON DELETE CASCADE는 참조되는 부모 행을 지울 때 연결된 자식 행을 함께 지우는 동작이다. 전체 테이블을 삭제하는 명령이 아니다. 권한 회수는 REVOKE 권한 ON 대상 FROM 사용자라는 방향을 확인한다. 빈칸형에서는 요구 키워드만 쓰고 불필요한 문장 전체를 덧붙이지 않는다.

풀이 예시

다음 SQL을 위에서 아래로 수행한다. 모든 문장이 성공한다고 할 때 마지막 조회 결과를 쓰시오.

SQL코드 영역 안에서 좌우로 이동할 수 있습니다.
CREATE TABLE Counter(id INTEGER, n INTEGER); INSERT INTO Counter VALUES (1,10); BEGIN; UPDATE Counter SET n=n+5 WHERE id=1; SAVEPOINT mid; UPDATE Counter SET n=n*2 WHERE id=1; ROLLBACK TO mid; COMMIT;

[실행할 SQL]

SQL코드 영역 안에서 좌우로 이동할 수 있습니다.
SELECT n FROM Counter WHERE id=1;

예시 정답

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
15

풀이 과정

처음 UPDATE는 n을 15로 만든다. 저장점 이후 30으로 바꾼 부분만 ROLLBACK TO가 취소한다. 저장점 이전의 15는 COMMIT되어 남는다.

답안 점검

위 풀이 예시의 답을 가린 뒤, 핵심 이론의 규칙을 적용해 직접 풀어 보세요. 코드와 계산 문제는 중간값·단위·최종 출력의 순서를, 용어 문제는 지문의 핵심 단서와 답의 의미를 점검하세요. 해설과 다른 부분이 있으면 어느 조건을 놓쳤는지 확인하고 연결된 실기 문제로 다시 연습하세요.