본문 바로가기
정보처리기사 필기/[3과목] 데이터베이스구축

[정보처리기사] SQL DDL, DML, DCL

by Devinus 2021. 3. 4.

1. SQL(Structured Query Language)

- sql은 국제 표준 데이터베이스 언어이며, 많은 회사에서 관계형 데이터베이스(RDB; Relational DataBase)를 지원하는 언어로 채택하고 있다.

SQL은 질의(Query)어지만 데이터 정의(Data Define), 데이터 조작(Data Manipulation), 데이터 제어(Data Control) 기능을 모두 갖고 있다.

 

2. SQL의 분류

2.1. DDL(Data Define, Language, 데이터 정의어)

- DDL은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.

- 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의한다.

- 데이터베이스 관리자나 데이터베이스 설계자가 사용

명령어 기능
CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의
ALTER TABLE에 대한 정의를 변경
DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제

 

2.2. DML(Data Manipulation Language, 데이터 조작어)

- DML은 데이터베이스에 저장된 데이터를 질의어를 통해 처리하는 언어이다.

- 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다.

명령어 기능
SELECT 테이블에서 조건에 맞는 튜플을 검색
INSERT 테이블에 새로운 튜플을 삽입
DELETE 테이블에서 조건에 맞는 튜플을 삭제
UPDATE 테이블에서 조건에 맞는 튜플의 내용을 변경

 

2.3. DCL(Data Control Language, 데이터 제어어)

- DCL은 데이터의 보안, 무결성, 회복, 병행 수행 등을 정의하는 데 사용되는 언어이다.

 

명령어 기능
COMMIT 명령에 의해 수행된 결과를실제 물리적 디스크로저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알림
ROLLBACK 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구
GRANT 데이터베이스 사용자에게 사용 권한을 부여
REVOKE 데이터베이스 사용자의 사용 권한을 취소

 


정보처리기사 필기 기출문제

 

41.
SQL의 분류 중 DDL에 해당하지 않는 것은?
[정답률: 80%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제)
① UPDATE DDL - CREATE, ALTER, DROP
UPDATE는 DML
② ALTER  
③ DROP  
④ CREATE  

 

47.
DML에 해당하는 SQL 명령으로만 나열된 것은?
[정답률: 26%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제)
① DELETE, UPDATE, CREATE, ALTER CREATE, ALTER는 DDL
② INSERT, DELETE, UPDATE, DROP DROP은 DDL
③ SELECT, INSERT, DELETE, UPDATE DML - SELECT, INSERT, DELETE, UPDATE
④ SELECT, INSERT, DELETE, ALTER ALTER는 DDL

 

58.
데이터 제어언어(DCL)의 기능으로 옳지 않은 것은?
[정답률: 23%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제)
① 데이터 보안  
② 논리적, 물리적 데이터 구조 정의 논리적, 물리적 데이터 구조 정의는 DDL의 기능이다.
③ 무결성 유지  
④ 병행수행 제어  

 

45.
DCL(Data Control Language) 명령어가 아닌 것은?
[정답률: 33%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제)
① COMMIT  
② ROLLBACK  
③ GRANT  
④ SELECT DCL - COMMIT, ROLLBACk, GRANT, REVOKE
DML - SELECT, INSERT, DELETE, UPDATE

 

55.
DML(Data Manipulation Language) 명령어가 아닌 것은?
[정답률: 67%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제)
① INSERT  
② UPDATE  
③ ALTER DML - SELECT, INSERT, DELETE, UPDATE
DCL - CREATE, ALTER, DROP
④ DELETE  

 

44.
학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
[정답률: 25%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제)
① INSERT  
② ALTER 테이블에 대한 정의(필드)를 변경하는 명령어는 DDL - ALTER
③ DROP  
④ MODIFY  

 

47.
다음 SQL문에서 빈칸에 들어갈 내용으로 옳은 것은?
[정답률: 29%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제)
① FROM  
② SET 본문에서 다루지는 않았지만 DML -  UPDATE 명령어는 SET과 함께 온다.
③ INTO  
④ TO  

 

53.
사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은?
[정답률: 32%]  정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제)
① delete select on department to X1;  
② remove select on department from X1;  
③ revoke select on department from X1; SQL에서 권한을 회수 하는 명령어는 DCL - revoke이다.
④ grant select on department from X1; DCL - grant는 권한을 부여하는 명령어다.