21|SQL·DDL·DCL·뷰·시스템 카탈로그

글 요약

사무자동화산업기사 – SQL DDL DCL의 구분과 CREATE·ALTER·DROP, COMMIT·ROLLBACK·GRANT·REVOKE, 뷰와 시스템 카탈로그를 정리합니다.

관계형 데이터베이스에서는 SQL을 사용하여 데이터를 조회하고 변경할 뿐만 아니라 테이블과 뷰를 정의하고, 사용자 권한과 트랜잭션을 제어합니다. 같은 SQL 명령이라도 수행하는 역할에 따라 데이터 정의어, 데이터 조작어, 데이터 제어어 등으로 구분할 수 있습니다.

이 장에서는 SQL DDL DCL의 역할을 구분하고, DDL의 CREATE·ALTER·DROP과 주요 제약조건을 살펴봅니다. 이어서 COMMIT·ROLLBACK·GRANT·REVOKE의 기능, 뷰의 생성과 변경·삭제, 시스템 카탈로그에 저장되는 메타데이터를 정리합니다.

이 장의 핵심 내용

  • SQL은 관계형 데이터베이스를 정의·조회·변경·제어하는 표준 질의 언어입니다.
  • DDL은 스키마·테이블·뷰 등 데이터베이스 객체의 구조를 정의합니다.
  • CREATE는 객체 생성, ALTER는 객체 구조 변경, DROP은 객체 삭제에 사용합니다.
  • CREATE TABLE에서는 NOT NULL, DEFAULT, PRIMARY KEY, UNIQUE, FOREIGN KEY와 CHECK 등의 제약조건을 지정할 수 있습니다.
  • CASCADE는 종속 객체까지 처리하고, RESTRICT는 종속 객체가 있으면 삭제를 거부합니다.
  • COMMIT은 트랜잭션을 확정하고, ROLLBACK은 아직 확정하지 않은 변경을 취소합니다.
  • GRANT는 권한을 부여하고, REVOKE는 이전에 부여한 권한을 회수합니다.
  • 뷰는 기본 테이블의 질의를 바탕으로 정의되는 가상 테이블입니다.
  • 시스템 카탈로그는 테이블·열·제약조건·인덱스·권한 등 데이터베이스 객체의 메타데이터를 저장합니다.

SQL은 어떤 언어인가?

SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 정의하고 조회·삽입·수정·삭제하며, 권한과 트랜잭션을 제어하는 데 사용하는 언어입니다.

시험 교재에서는 SQL을 DDL, DML, DCL로 구분하는 경우가 많습니다. 다만 데이터베이스 이론서나 DBMS 문서에서는 COMMIT과 ROLLBACK을 별도의 트랜잭션 제어어인 TCL로 분류하기도 합니다.

구분영문주요 역할대표 명령
DDLData Definition Language데이터베이스 객체의 구조 정의CREATE, ALTER, DROP
DMLData Manipulation Language데이터의 조회와 변경SELECT, INSERT, UPDATE, DELETE
DCLData Control Language사용자 권한과 데이터 접근 제어GRANT, REVOKE
TCLTransaction Control Language트랜잭션의 확정과 취소COMMIT, ROLLBACK
시험 교재에 따라 COMMIT과 ROLLBACK을 DCL에 포함하기도 하고 TCL로 별도 분류하기도 합니다.

분류 기준 주의: 이 글에서는 교재의 출제 범위를 따라 COMMIT·ROLLBACK·GRANT·REVOKE를 함께 다루지만, 엄밀한 기능 구분에서는 GRANT·REVOKE가 권한 제어이고 COMMIT·ROLLBACK은 트랜잭션 제어입니다.

DDL은 무엇을 정의하는가?

DDL(Data Definition Language)은 데이터베이스의 논리적 구조와 물리적 구조를 정의하거나 변경·삭제하는 언어입니다. 스키마, 도메인, 테이블, 뷰, 인덱스와 제약조건 등의 데이터베이스 객체를 대상으로 합니다.

  • 데이터베이스 객체의 이름과 구조를 정의합니다.
  • 열의 이름, 데이터형과 기본값을 지정합니다.
  • 기본키·외래키·고유성·검사 조건 등 무결성 제약조건을 정의합니다.
  • DDL로 정의한 객체 정보는 시스템 카탈로그 또는 데이터 사전에 기록됩니다.
명령기능대표 대상
CREATE새 데이터베이스 객체를 생성스키마, 도메인, 테이블, 뷰, 인덱스
ALTER기존 객체의 구조나 속성을 변경열 추가·변경·삭제, 제약조건 변경
DROP기존 데이터베이스 객체를 삭제스키마, 도메인, 테이블, 뷰, 인덱스
CREATE·ALTER·DROP은 생성·변경·삭제로 구분합니다.

CREATE는 객체 생성, ALTER는 기존 객체의 구조 변경, DROP은 객체 자체의 삭제에 사용합니다.

CREATE TABLE은 테이블을 어떻게 생성하는가?

CREATE TABLE은 새로운 테이블을 생성하고 각 열의 이름, 데이터형, 기본값과 제약조건을 정의하는 명령입니다.

CREATE TABLE 학생 (
    학번       VARCHAR(10) PRIMARY KEY,
    이름       VARCHAR(30) NOT NULL,
    학과코드   CHAR(3),
    성별       VARCHAR(10) DEFAULT '미정',
    이메일     VARCHAR(100) UNIQUE,
    졸업연도   INTEGER CHECK (졸업연도 >= 2020),

    FOREIGN KEY (학과코드)
        REFERENCES 학과(학과코드)
        ON UPDATE CASCADE
        ON DELETE SET NULL
);

위 예제에서는 학번을 기본키로 지정하고, 이름에는 NULL을 허용하지 않습니다. 성별의 기본값은 ‘미정’이며 이메일에는 중복값을 허용하지 않습니다. 학과코드는 학과 테이블의 학과코드를 참조하는 외래키입니다.

제약조건기능핵심 의미
NOT NULLNULL 값 입력 금지반드시 값이 있어야 함
DEFAULT값을 생략했을 때 기본값 사용초기값 자동 지정
PRIMARY KEY튜플을 고유하게 식별중복과 NULL을 허용하지 않음
UNIQUE열 또는 열 조합의 중복값을 제한하며, NULL의 중복 허용 방식은 DBMS와 설정에 따라 달라질 수 있음후보키 성격의 고유성 보장
FOREIGN KEY다른 테이블의 키 참조참조 무결성 유지
CHECK입력값이 조건을 만족하는지 검사도메인과 업무 규칙 제한
제약조건은 테이블에 저장할 수 있는 데이터의 범위와 관계를 제한합니다.

열 수준 제약조건

특정 열을 정의하는 위치에 바로 작성합니다.

학번 VARCHAR(10) PRIMARY KEY

테이블 수준 제약조건

열 정의가 끝난 뒤 별도로 작성하며 여러 열을 함께 지정할 수 있습니다.

PRIMARY KEY (학번, 과목코드)

문법 차이: 데이터형 이름, 자동 증가 열, 외래키의 참조 동작과 제약조건 문법은 DBMS마다 일부 차이가 있습니다. 실제 환경에서는 사용하는 DBMS의 문법을 확인해야 합니다.

ALTER TABLE은 테이블 구조를 어떻게 변경하는가?

ALTER TABLE은 이미 존재하는 테이블의 구조를 변경하는 명령입니다. 새로운 열을 추가하거나 기존 열의 속성을 변경하고, 필요하지 않은 열이나 제약조건을 제거할 수 있습니다.

구문기능대표 용도
ADD새로운 열이나 제약조건 추가성별 열 추가, 외래키 추가
ALTER기존 열의 기본값·데이터형 등 변경기본값 설정, 데이터형 변경
DROP기존 열이나 제약조건 제거불필요한 열 삭제

열을 추가하는 예

ALTER TABLE 학생
ADD COLUMN 성별 VARCHAR(10) DEFAULT '미정';

열의 기본값을 변경하는 예

ALTER TABLE 학생
ALTER COLUMN 성별 SET DEFAULT '미입력';

열을 삭제하는 예

ALTER TABLE 학생
DROP COLUMN 성별 CASCADE;

DBMS별 차이: 일부 DBMS는 ADD COLUMN 대신 ADD를 사용하고, 데이터형 변경에 MODIFY 또는 ALTER COLUMN TYPE을 사용합니다. 시험에서는 문제에 제시된 문법과 교재의 기준을 우선 확인합니다.

DROP은 CASCADE와 RESTRICT를 어떻게 구분하는가?

DROP은 테이블·뷰·스키마·도메인·인덱스 등의 데이터베이스 객체를 삭제합니다. 테이블의 행만 제거하는 DELETE와 달리 DROP TABLE은 테이블 구조 자체를 삭제합니다.

DROP TABLE 학생 RESTRICT;

DROP TABLE 학생 CASCADE;

DROP VIEW 전자과_학생 CASCADE;

DROP SCHEMA 학사관리 CASCADE;
옵션종속 객체가 없는 경우종속 객체가 있는 경우
RESTRICT대상 객체를 삭제삭제를 거부하고 오류 발생
CASCADE대상 객체를 삭제종속 객체 또는 종속 관계까지 함께 처리
RESTRICT는 종속 객체가 있을 때 삭제를 제한하고, CASCADE는 종속 객체까지 연쇄적으로 처리합니다.

CASCADE 주의: CASCADE가 항상 다른 테이블 전체를 삭제하는 것은 아닙니다. 예를 들어 외래키가 다른 테이블을 참조하는 경우에는 참조 테이블 자체가 아니라 외래키 제약조건만 제거될 수 있습니다. 구체적인 동작은 객체의 종속 관계와 DBMS에 따라 달라집니다.

RESTRICT는 종속 객체가 있으면 삭제하지 않고, CASCADE는 종속 객체나 관계까지 연쇄적으로 처리합니다.

COMMIT과 ROLLBACK은 트랜잭션을 어떻게 제어하는가?

트랜잭션은 데이터베이스에서 하나의 논리적인 작업 단위로 처리되는 명령들의 집합입니다. COMMIT은 트랜잭션의 변경 내용을 확정하고, ROLLBACK은 아직 확정하지 않은 변경 내용을 취소합니다.

명령기능실행 결과
COMMIT현재 트랜잭션을 성공적으로 종료변경 내용이 확정되어 다른 트랜잭션에 공개되고 지속성이 보장됨
ROLLBACK현재 트랜잭션을 취소해당 트랜잭션에서 수행한 미확정 변경을 폐기함

COMMIT

BEGIN;

UPDATE 학생
SET 졸업연도 = 2027
WHERE 학번 = 'S001';

COMMIT;

변경한 졸업연도를 확정합니다.

ROLLBACK

BEGIN;

UPDATE 학생
SET 졸업연도 = 2027
WHERE 학번 = 'S001';

ROLLBACK;

변경한 졸업연도를 취소합니다.

ROLLBACK 범위: 일반적인 ROLLBACK은 현재 트랜잭션에서 아직 COMMIT하지 않은 변경을 취소합니다. 이미 COMMIT하여 확정된 변경은 단순한 ROLLBACK으로 되돌릴 수 없습니다.

GRANT와 REVOKE는 사용자 권한을 어떻게 제어하는가?

GRANT는 사용자나 역할에 데이터베이스 객체의 사용 권한을 부여하고, REVOKE는 이전에 부여한 권한을 회수합니다.

GRANT SELECT, INSERT
ON 학생
TO 홍길동;

REVOKE INSERT
ON 학생
FROM 홍길동;
명령기능예시
GRANT객체 권한 또는 역할의 구성원 자격 부여학생 테이블의 SELECT 권한 부여
REVOKE이전에 부여된 권한 또는 역할 회수학생 테이블의 INSERT 권한 회수
  • SELECT 권한은 데이터를 조회할 수 있게 합니다.
  • INSERT 권한은 새로운 튜플을 삽입할 수 있게 합니다.
  • UPDATE 권한은 기존 데이터를 수정할 수 있게 합니다.
  • DELETE 권한은 기존 튜플을 삭제할 수 있게 합니다.
  • 권한의 종류와 적용 가능한 객체는 DBMS마다 차이가 있을 수 있습니다.

뷰는 어떤 가상 테이블인가?

뷰(View)는 하나 이상의 기본 테이블이나 다른 뷰에 대한 질의를 바탕으로 정의되는 가상 테이블입니다. 일반적인 뷰는 결과 데이터를 별도의 저장 공간에 물리적으로 보관하지 않고, 사용자가 뷰를 조회할 때 정의된 질의를 실행합니다.

사용자에게 기본 테이블 전체를 공개하지 않고 필요한 행과 열만 보여 줄 수 있으며, 복잡한 질의를 하나의 논리적인 테이블처럼 사용할 수 있습니다.

기본 테이블

  • 학번
  • 이름
  • 학과
  • 주민등록번호
  • 졸업연도

공개용 뷰

  • 학번
  • 이름
  • 학과
  • 졸업연도

민감한 주민등록번호는 제외합니다.

일반 뷰와 물리적 저장: 일반 뷰는 질의 정의를 저장하지만 결과 데이터 자체는 보통 물리적으로 저장하지 않습니다. 결과를 실제로 저장하는 구체화 뷰 또는 물질화 뷰는 일반 뷰와 구분해야 합니다.

CREATE VIEW는 뷰를 어떻게 정의하는가?

CREATE VIEW는 SELECT 질의를 이용하여 새로운 뷰를 정의합니다. 다음 예제는 학생 테이블에서 전자과 학생의 학번·이름·졸업연도만 보여 주는 뷰를 생성합니다.

CREATE VIEW 전자과_학생 AS
SELECT 학번, 이름, 졸업연도
FROM 학생
WHERE 학과 = '전자과';
학번이름졸업연도
c101김희영2026
c103두옥이2027
전자과_학생 뷰를 조회한 결과의 예

생성한 뷰는 일반 테이블처럼 SELECT문의 FROM 절에서 사용할 수 있습니다.

SELECT 학번, 이름
FROM 전자과_학생
WHERE 졸업연도 = 2027;

뷰의 장점과 한계는 무엇인가?

뷰의 장점

  • 필요한 행과 열만 공개하여 접근을 제한할 수 있습니다.
  • 복잡한 질의를 단순한 테이블처럼 사용할 수 있습니다.
  • 사용자별로 서로 다른 데이터 표현을 제공할 수 있습니다.
  • 기본 테이블의 일부 변경을 사용자 질의에서 감출 수 있습니다.
  • 뷰를 바탕으로 다른 뷰를 정의할 수 있습니다.

뷰의 한계

  • 복잡한 뷰는 삽입·수정·삭제가 제한될 수 있습니다.
  • 기본 테이블이나 다른 뷰에 대한 종속성이 발생합니다.
  • 일반 뷰는 결과를 저장하지 않으므로 조회 성능을 자동으로 높이지 않습니다.
  • DBMS마다 변경·갱신 가능 조건과 지원 문법이 다릅니다.
  • 종속 객체의 변경과 삭제를 함께 관리해야 합니다.

뷰의 핵심 장점은 논리적 데이터 독립성, 질의 단순화와 접근 제어이며, 일반 뷰가 반드시 조회 성능을 높이는 것은 아닙니다.

뷰의 정의 변경과 삭제는 어떻게 수행하는가?

뷰를 변경하는 방법은 DBMS마다 다릅니다. 일부 교재에서는 뷰 정의를 변경할 수 없으므로 DROP VIEW로 삭제한 뒤 다시 생성한다고 설명합니다. 그러나 현대 DBMS에서는 CREATE OR REPLACE VIEW 또는 ALTER VIEW를 지원하는 경우가 있습니다.

뷰의 질의 정의를 교체하는 예

CREATE OR REPLACE VIEW 전자과_학생 AS
SELECT 학번, 이름, 졸업연도
FROM 학생
WHERE 학과 = '전자과'
  AND 졸업연도 >= 2027;

뷰의 이름을 변경하는 예

ALTER VIEW 전자과_학생
RENAME TO 전자과_졸업예정자;

뷰를 삭제하는 예

DROP VIEW 전자과_졸업예정자 RESTRICT;

DROP VIEW 전자과_졸업예정자 CASCADE;
명령주요 역할주의점
CREATE OR REPLACE VIEW기존 뷰의 정의 질의를 교체허용되는 열 구조 변경 범위는 DBMS마다 다름
ALTER VIEW뷰 이름·소유자·옵션 등 변경정의 질의를 직접 변경하는지는 DBMS마다 다름
DROP VIEW뷰 삭제종속 뷰가 있으면 CASCADE 또는 RESTRICT 동작 확인

교재 표현 보완: 뷰의 정의 변경에 ALTER VIEW를 사용할 수 없다는 설명을 모든 DBMS에 일반화하면 안 됩니다. PostgreSQL에서는 ALTER VIEW로 보조 속성을 변경하고, 정의 질의를 바꿀 때는 CREATE OR REPLACE VIEW를 사용합니다. 다른 DBMS의 ALTER VIEW 기능은 서로 다를 수 있습니다.

기본 테이블이나 종속 뷰를 삭제하면 어떻게 되는가?

뷰는 기본 테이블이나 다른 뷰에 의존하므로 관련 객체를 삭제할 때 종속 관계를 확인해야 합니다. 기본 테이블을 삭제한다고 해서 항상 뷰가 자동으로 삭제되는 것은 아닙니다.

상황RESTRICT 또는 기본 동작CASCADE 사용
뷰가 참조하는 기본 테이블 삭제종속 뷰가 있으면 테이블 삭제를 거부할 수 있음종속 뷰까지 함께 제거할 수 있음
다른 뷰가 참조하는 뷰 삭제종속 뷰가 있으면 삭제를 거부할 수 있음해당 뷰를 바탕으로 만든 뷰까지 함께 제거할 수 있음
구체적인 종속 객체 처리 방식과 기본 옵션은 DBMS마다 확인해야 합니다.

뷰에서 삽입·수정·삭제가 가능한가?

뷰에 대한 INSERT·UPDATE·DELETE 가능 여부는 뷰의 정의와 DBMS의 기능에 따라 달라집니다. 단일 기본 테이블의 열을 단순히 선택한 뷰는 갱신할 수 있는 경우가 많지만, 집계나 그룹화가 포함된 복잡한 뷰는 일반적으로 갱신이 제한됩니다.

뷰의 형태갱신 가능성대표 원인
단일 테이블의 단순 뷰갱신 가능한 경우가 많음뷰의 행을 기본 테이블의 한 행에 대응시키기 쉬움
여러 테이블을 결합한 뷰제한될 수 있음변경할 기본 테이블과 행을 결정하기 어려움
GROUP BY·집계 함수 포함대체로 읽기 전용결과 행이 여러 기본 행을 집계하여 만들어짐
DISTINCT·집합 연산 포함대체로 제한됨결과 행과 기본 행의 일대일 대응이 어려움

시험과 실제 DBMS: 시험에서는 복잡한 뷰의 삽입·수정·삭제가 제한된다는 원칙을 우선 기억합니다. 실제 DBMS에서는 자동 갱신 가능 뷰, 트리거와 규칙 등의 기능에 따라 동작이 달라질 수 있습니다.

시스템 카탈로그는 어떤 정보를 저장하는가?

시스템 카탈로그(System Catalog)는 DBMS가 데이터베이스 객체와 운영 상태에 관한 정보를 저장하고 관리하는 시스템 데이터베이스 또는 시스템 테이블의 집합입니다.

시스템 카탈로그에 저장된 정보는 실제 업무 데이터가 아니라 데이터를 설명하는 데이터이므로 메타데이터라고 합니다. 데이터 사전(Data Dictionary)이라는 표현도 함께 사용됩니다.

정보 유형저장되는 대표 내용
테이블 정보테이블명, 소유자, 스키마, 저장 구조
열 정보열 이름, 순서, 데이터형, 기본값, NULL 허용 여부
제약조건 정보기본키, 외래키, UNIQUE, CHECK 제약조건
뷰 정보뷰 이름, 소유자, 정의 질의, 종속 관계
인덱스 정보인덱스명, 대상 테이블과 열, 인덱스 구조
사용자·권한 정보사용자와 역할, 객체별 접근 권한
통계 정보질의 최적화에 사용하는 테이블·열의 통계
시스템 카탈로그는 DBMS가 데이터베이스의 구조와 객체를 이해하는 데 필요한 메타데이터를 저장합니다.
  • 시스템 카탈로그 자체도 테이블이나 뷰 형태로 구성될 수 있습니다.
  • SQL을 이용하여 허용된 시스템 카탈로그 정보를 조회할 수 있습니다.
  • 사용자가 시스템 카탈로그를 직접 수정하기보다 DBMS가 DDL 실행 결과에 따라 자동으로 갱신합니다.
  • 사용자에게 공개되는 카탈로그의 범위는 권한과 DBMS에 따라 달라질 수 있습니다.

시스템 카탈로그

각 DBMS가 내부적으로 관리하는 객체 정보입니다. 이름과 구조가 DBMS마다 다를 수 있습니다.

예: PostgreSQL의 pg_catalog

정보 스키마

SQL 표준에 따라 메타데이터를 조회하도록 마련된 뷰의 집합입니다.

예: information_schema.tables

직접 갱신 주의: 시스템 카탈로그는 DBMS의 정상 동작에 필요한 핵심 정보입니다. 일반 사용자가 직접 값을 수정하는 것이 아니라 CREATE·ALTER·DROP·GRANT 등의 명령을 실행하면 DBMS가 관련 메타데이터를 자동으로 갱신합니다.

시험에서 자주 혼동되는 개념

DDL과 DML

DDL은 테이블과 뷰 등의 구조를 정의하고, DML은 테이블에 저장된 실제 데이터를 조회하거나 변경합니다.

DCL과 TCL

GRANT·REVOKE는 권한 제어에 사용하고, COMMIT·ROLLBACK은 트랜잭션의 확정과 취소에 사용합니다.

DROP과 DELETE

DROP은 테이블 구조 자체를 삭제하고, DELETE는 테이블 구조를 유지한 채 조건에 맞는 튜플을 삭제합니다.

CASCADE와 RESTRICT

CASCADE는 종속 객체나 관계까지 처리하고, RESTRICT는 종속 객체가 있으면 대상 객체의 삭제를 거부합니다.

뷰와 기본 테이블

기본 테이블은 실제 데이터를 저장하고, 일반 뷰는 기본 테이블에 대한 질의 정의를 저장하는 가상 테이블입니다.

시스템 카탈로그와 사용자 테이블

시스템 카탈로그는 데이터베이스 객체에 관한 메타데이터를 저장하고, 사용자 테이블은 실제 업무 데이터를 저장합니다.

객체 구조는 DDL, 실제 데이터는 DML, 권한은 GRANT·REVOKE, 트랜잭션은 COMMIT·ROLLBACK으로 구분합니다.

이번 장 핵심 요약

  1. SQL은 관계형 데이터베이스를 정의·조회·변경·제어하는 언어입니다.
  2. DDL의 대표 명령은 CREATE·ALTER·DROP입니다.
  3. CREATE TABLE에서는 열의 데이터형과 무결성 제약조건을 정의합니다.
  4. ALTER TABLE은 열과 제약조건의 추가·변경·삭제에 사용합니다.
  5. DROP은 데이터베이스 객체의 구조 자체를 삭제합니다.
  6. CASCADE는 종속 객체까지 처리하고 RESTRICT는 종속 객체가 있으면 삭제를 제한합니다.
  7. COMMIT은 트랜잭션의 변경을 확정하고 ROLLBACK은 미확정 변경을 취소합니다.
  8. GRANT는 권한을 부여하고 REVOKE는 권한을 회수합니다.
  9. 뷰는 기본 테이블이나 다른 뷰의 질의를 바탕으로 정의되는 가상 테이블입니다.
  10. 일반 뷰는 결과 데이터를 별도로 물리적으로 저장하지 않습니다.
  11. 단순 뷰는 갱신 가능한 경우가 있지만 복잡한 뷰는 갱신이 제한될 수 있습니다.
  12. 뷰의 변경과 종속 객체 처리 방식은 DBMS에 따라 차이가 있습니다.
  13. 시스템 카탈로그는 데이터베이스 객체에 관한 메타데이터를 저장합니다.
  14. 시스템 카탈로그는 DDL과 권한 명령의 실행 결과에 따라 DBMS가 자동으로 갱신합니다.

복습 문제

스키마·테이블·뷰와 같은 데이터베이스 객체의 구조를 정의하는 언어는?

DDL입니다.

새로운 테이블을 생성하는 SQL 명령은?

CREATE TABLE입니다.

학생 테이블에 성별 열을 추가할 때 사용하는 명령은?

ALTER TABLE의 ADD 또는 ADD COLUMN 구문을 사용합니다.

테이블 구조 자체를 삭제하는 명령은?

DROP TABLE입니다.

종속 객체가 있을 때 대상 객체의 삭제를 거부하는 옵션은?

RESTRICT입니다.

종속 객체까지 연쇄적으로 처리하는 삭제 옵션은?

CASCADE입니다.

트랜잭션의 변경 내용을 확정하는 명령은?

COMMIT입니다.

아직 확정하지 않은 트랜잭션의 변경을 취소하는 명령은?

ROLLBACK입니다.

사용자에게 데이터베이스 객체의 권한을 부여하는 명령은?

GRANT입니다.

이전에 부여한 권한을 회수하는 명령은?

REVOKE입니다.

기본 테이블의 질의를 바탕으로 정의되는 가상 테이블은?

뷰입니다.

일반 뷰는 질의 결과를 물리적으로 저장하는가?

일반적으로 저장하지 않습니다. 뷰의 정의 질의를 저장하고 조회할 때 해당 질의를 실행합니다.

뷰의 정의 질의를 변경할 때 모든 DBMS에서 ALTER VIEW만 사용하면 되는가?

아닙니다. DBMS에 따라 CREATE OR REPLACE VIEW를 사용하거나 뷰를 삭제한 뒤 다시 생성할 수 있으며, ALTER VIEW가 지원하는 변경 범위도 다릅니다.

데이터베이스 객체의 구조와 권한 등을 설명하는 메타데이터를 저장하는 것은?

시스템 카탈로그 또는 데이터 사전입니다.

참고자료

이 글은 사무자동화산업기사 시험 범위에 포함된 SQL·DDL·DCL, CREATE·ALTER·DROP, COMMIT·ROLLBACK·GRANT·REVOKE, 뷰와 시스템 카탈로그를 이해하고 복습할 수 있도록 재구성한 정리입니다. SQL 명령의 분류, ALTER TABLE·ALTER VIEW 문법, 뷰의 갱신 가능 여부와 CASCADE·RESTRICT의 구체적인 동작은 DBMS마다 차이가 있으므로 실제 시험에서는 문제에 제시된 정의와 최신 Q-Net 출제기준을 함께 확인해야 합니다.


같은 주제의 다른 글

이 글과 같은 카테고리에 있는 이전 글과 다음 글을 확인해보세요.