정보처리산업기사 CBT
종목 메뉴

개념 한 쪽

정보처리산업기사 DDL — 정의·조작·제어의 구분

데이터 정의어는 데이터베이스의 구조 자체를 만들고 바꾸고 없애는 언어다. 테이블과 뷰를 생성하고 삭제하는 기능, 스키마의 정의와 수정과 제약조건 명세, 생성과 변경과 삭제에 쓰이는 명령, 데이터 조작어와 데이터 제어어의 구분, SQL을 이루는 세 기능, 질의어의 비절차적 성격을 확인한다.

2026-10-18 기준 · 정보처리산업기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기

뜻

데이터 언어는 사용 목적에 따라 정의어, 조작어, 제어어로 나뉜다. 테이블이나 뷰를 구축하거나 삭제하는 기능은 데이터 정의어가 맡는다. 데이터베이스의 정의와 변경, 삭제에 쓰는 언어 역시 데이터 정의어다.

데이터 정의어의 명령은 만들기, 바꾸기, 없애기로 묶인다. 스키마를 정의하고 수정하며 제약조건을 명세하는 것이 주된 기능이고, 사용자 인터페이스를 제공하는 기능은 여기에 들지 않는다. 데이터베이스와 스키마를 새로 만들어 정의하는 언어를 묻는 문항의 답도 데이터 정의어다.

데이터 조작어는 데이터 모델에 맞추어 조직된 데이터에 접근하고 검색과 삽입과 삭제와 갱신을 수행하는 언어다. 데이터 제어어는 접근 권한을 다루는 언어다. 이 셋을 용도에 따라 구분해 두면 명령 하나가 어느 언어에 속하는지 판단할 수 있다.

SQL은 데이터 정의어, 데이터 조작어, 데이터 제어어의 세 기능으로 구성된다. 데이터 질의어를 따로 공식 분류로 세우지 않는다. 질의어는 터미널에서 주로 쓰는 비절차적 데이터 언어이므로 절차적이라고 설명하면 옳지 않다.

SQL의 정의문 가운데 테이블 구조를 만들고 바꾸고 없애는 명령은 정의어에 속한다. 데이터를 넣는 명령은 정의어가 아니라 조작어이므로, 정의문 목록에 넣으면 분류가 어긋난다.

예제

선지 판단은 테이블과 뷰의 생성과 삭제를 데이터 정의어의 기능으로 묶는지, 데이터베이스와 스키마의 정의·변경·삭제를 정의어로 읽는지, 제약조건 명세를 정의어의 기능으로 보는지, 데이터의 검색과 삽입과 갱신을 조작어로 돌리는지, SQL의 구성을 정의어·조작어·제어어 세 가지로 한정하는지, 질의어를 비절차적 언어로 이해하는지, 데이터를 넣는 명령을 정의문에서 빼는지에서 갈린다.

대표 기출 3문항

데이터 언어는 사용 목적에 따라 세가지로 나누어지는데 그 중 테이블이나 뷰를 구축 또는 삭제하는 기능을 가진 것은?

  1. 절차적 데이터 조작어
  2. 비절차적 데이터 조작어
  3. 데이터 정의어(DDL)
  4. 데이터 제어어(DCL)
정답과 해설 보기

정답 ③ · 테이블이나 뷰의 구축 및 삭제 기능을 가진 데이터 언어를 묻는 문제이다. 데이터 언어는 정의어(DDL), 조작어(DML), 제어어(DCL)로 나뉜다.

테이블·뷰의 생성(CREATE)·삭제(DROP)는 데이터 정의어(DDL)의 기능이다.

데이터 언어에 대한 설명으로 옳지 않은 것은?

  1. 데이터 언어는 사용 목적에 따라 데이터 정의어, 데이터 조작어, 데이터 제어어로 나누어진다.
  2. 데이터 조작어(DML)에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 절차적(procedural) 데이터 언어이다.
  3. 데이터 제어어(DCL)는 데이터를 보호하고 데이터를 관리하는 목적으로 사용된다.
  4. 데이터 정의어(DDL)는 데이터베이스를 정의하거나 수정할 목적으로 사용하는 언어이다.
정답과 해설 보기

정답 ② · 데이터 언어에 대한 설명 중 옳지 않은 것을 고르는 문제이다. 질의어는 터미널에서 주로 이용하는 언어이지만 어떻게가 아니라 무엇을 지정하는 비절차적 데이터 언어이다.

질의어(query language)는 터미널에서 주로 쓰는 '비절차적' 데이터 언어이므로 '절차적'이라는 설명은 틀리다.

데이터 정의어(Data Definition Language)의 기능으로 거리가 먼 것은?

  1. 외부 스키마 명세
  2. 데이터베이스 정의 및 수정
  3. 스키마에 사용되는 제약조건 명세
  4. 사용자와 DBMS 간의 인터페이스 제공
정답과 해설 보기

정답 ④ · 데이터 정의어(DDL)의 기능이 아닌 것을 고르는 문제이다. DDL은 데이터베이스의 스키마를 정의하고 수정하며, 외부 스키마 명세와 스키마에 사용되는 제약조건을 명세하는 등 구조를 정의하는 기능을 수행한다.

DDL은 스키마 정의·수정·제약조건 명세 기능의 언어이지, 인터페이스 제공 기능은 아니다.

자주 묻는 물음

데이터 정의어는 무엇을 하나요?
데이터베이스 구조를 정의하고 변경하고 삭제합니다. 테이블과 뷰를 만들거나 없애고, 스키마와 제약조건을 명세합니다.
SQL은 몇 가지 기능으로 구성되나요?
데이터 정의어, 데이터 조작어, 데이터 제어어 세 기능으로 구성됩니다. 데이터 질의어는 SQL의 공식 분류로 두지 않습니다.
데이터를 넣는 명령은 어느 언어에 속하나요?
데이터 조작어에 속합니다. 테이블 구조를 만들고 바꾸고 없애는 명령만 데이터 정의어입니다.
이 개념 문제 10개 풀기

정보처리산업기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.