SQL 언어의 데이터 조작어(DML)에 속하지 않는 것은?
- INSERT 명령
- SELECT 명령
- UPDATE 명령
- ADD 명령
정답과 해설 보기
정답 ④ · SQL의 데이터 조작어에 속하지 않는 명령을 고르는 문제이다. DML에는 SELECT, INSERT, UPDATE, DELETE가 해당된다.
SELECT·INSERT·UPDATE는 DML, ADD는 ALTER TABLE의 구조 정의(DDL)에 딸린 명령이다.
개념 한 쪽
데이터 조작어는 저장된 데이터를 실제로 다루는 명령의 묶음이다. 검색과 삽입과 갱신과 삭제를 맡는 명령이 무엇인지, 구조를 바꾸는 정의어의 명령과 어떻게 갈리는지, SQL 안에서 정의어와 조작어와 제어어를 나누는 기준, 표준 질의어의 성격을 확인한다.
이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기
데이터 조작어에 속하는 SQL 명령은 검색, 삽입, 갱신, 삭제를 수행하는 것들이다. 이 네 가지가 조작어의 기본 목록을 이룬다. 데이터를 넣거나 값을 바꾸거나 행을 지우는 일은 모두 데이터 조작어의 몫이다.
테이블 구조 자체를 바꾸는 명령은 데이터 조작어가 아니라 데이터 정의어에 속한다. 구조를 변경하는 명령과 그에 딸린 명령이 조작어 목록에 섞여 있으면 분류가 어긋난다. 조작어인지 판단할 때는 데이터 값에 손을 대는가, 구조에 손을 대는가를 기준으로 삼는다.
데이터베이스와 스키마를 만들고 정의하는 일은 데이터 정의어가 맡는다. 데이터 조작은 조작어, 접근 권한 제어는 제어어로 나뉜다. SQL은 이 세 기능을 모두 포함하며, 데이터 질의어를 별도의 공식 분류로 두지 않는다.
SQL은 데이터베이스에서 정보를 요청할 때 쓰는 표준 질의어다. 질의어는 터미널에서 주로 쓰는 비절차적 데이터 언어이므로, 절차적 언어라고 설명하면 성격을 잘못 잡은 것이 된다.
조작어 목록을 짝지어 고르는 문항에서는 검색과 삽입과 갱신과 삭제가 한 묶음으로 제시된 보기를 찾는다. 정의어의 명령이 하나라도 섞여 있으면 그 보기는 조작어만으로 짝지어진 것이 아니다.
선지 판단은 검색·삽입·갱신·삭제를 조작어의 명령으로 묶는지, 구조를 바꾸는 명령과 그에 딸린 명령을 정의어 쪽으로 돌리는지, 데이터베이스와 스키마의 생성과 정의를 정의어로 읽는지, SQL의 구성을 정의어·조작어·제어어로 한정하는지, 질의어를 비절차적 언어로 이해하는지, 조작어만 짝지어진 보기에서 정의어 명령을 걸러내는지에서 갈린다.
SQL 언어의 데이터 조작어(DML)에 속하지 않는 것은?
정답 ④ · SQL의 데이터 조작어에 속하지 않는 명령을 고르는 문제이다. DML에는 SELECT, INSERT, UPDATE, DELETE가 해당된다.
SELECT·INSERT·UPDATE는 DML, ADD는 ALTER TABLE의 구조 정의(DDL)에 딸린 명령이다.
데이터 언어에 대한 설명으로 옳지 않은 것은?
정답 ② · 데이터 언어에 대한 설명 중 옳지 않은 것을 고르는 문제이다. 질의어는 터미널에서 주로 이용하는 언어이지만 어떻게가 아니라 무엇을 지정하는 비절차적 데이터 언어이다.
질의어(query language)는 터미널에서 주로 쓰는 '비절차적' 데이터 언어이므로 '절차적'이라는 설명은 틀리다.
데이터베이스를 정의하는 과정에서 주로 사용되는 데이터 언어는?
정답 ① · 데이터베이스를 정의하는 데 쓰이는 데이터 언어를 묻는 문제이다. DDL(Data Definition Language)은 CREATE, ALTER, DROP 같은 명령으로 스키마와 테이블 등 데이터베이스의 구조를 정의, 생성, 변경하는 언어이다.
DB를 정의하는 언어는 DDL이고, 데이터 조작은 DML, 권한 제어는 DCL이다.
정보처리산업기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.