기출문제/정보처리기사

2022년 2회 정보처리기사 기출문제 47번

엉클지니 2025. 2. 25. 21:57

47. SQL의 기능에 따른 분류 중에서 REVOKE문과 같이 데이터의 사용 권한을 관리하는데 사용하는 언어는?

    DDL(Data Definition Language)

    DML(Data Manipulation Language)

     DCL(Data Control Language)

    DUL(Data User Language)

 

문제 해설

1. SQL의 분류

SQL(Structured Query Language)은 데이터베이스를 다루는 언어로, 여러 가지 작업을 수행할 수 있도록 다양한 종류의 명령어를 제공합니다. SQL은 크게 4가지 카테고리로 분류됩니다:

  1. DDL (Data Definition Language):
    • 데이터베이스의 구조를 정의하고 수정하는 명령어들입니다.
    • 예시: CREATE, ALTER, DROP 등
    • 목적: 테이블이나 데이터베이스와 같은 객체를 생성, 수정, 삭제하는 작업을 담당합니다.
  2. DML (Data Manipulation Language):
    • 데이터베이스의 데이터를 조작하는 명령어들입니다.
    • 예시: SELECT, INSERT, UPDATE, DELETE 등
    • 목적: 데이터베이스에 있는 레코드나 행을 조회, 추가, 수정, 삭제하는 작업을 담당합니다.
  3. DCL (Data Control Language):
    • 데이터베이스 사용자의 권한을 제어하는 명령어들입니다.
    • 예시: GRANT, REVOKE 등
    • 목적: 사용자에게 권한을 부여하거나 회수하는 작업을 담당합니다.
  4. DUL (Data User Language):
    • 실제로 SQL에서 사용되지 않는 용어입니다. 이는 잘못된 선택지이며, SQL 표준에서는 DUL이라는 분류는 존재하지 않습니다.

2. REVOKE와 DCL

REVOKE문은 사용자가 가지고 있는 데이터베이스에서의 권한을 회수할 때 사용하는 명령어입니다.

  • 예를 들어, 특정 사용자에게 테이블 조회 권한을 주고, 나중에 해당 권한을 삭제하려면 REVOKE를 사용합니다.
REVOKE SELECT ON employees FROM user1;

위 SQL 문은 user1이라는 사용자가 employees 테이블에 대해 SELECT 권한을 더 이상 가지지 않게 합니다.

3. 각 보기에 대한 분석

  • ① DDL (Data Definition Language):
    • DDL은 데이터베이스 구조(테이블, 뷰 등)와 관련된 작업을 수행하는 명령어들입니다. 예를 들어, CREATE, ALTER, DROP 명령어가 DDL에 속합니다.
    • REVOKE와는 관련이 없습니다. REVOKE는 권한 관리와 관련된 명령어이므로 DDL과는 다른 기능입니다.
  • ② DML (Data Manipulation Language):
    • DML은 데이터를 다루는 명령어들입니다. 예를 들어, SELECT, INSERT, UPDATE, DELETE 등이 DML에 속합니다.
    • REVOKE는 데이터베이스의 데이터를 조작하는 명령어와는 관련이 없습니다. 권한을 관리하는 명령어는 DCL에 속합니다.
  • ❸ DCL (Data Control Language):
    • 정답입니다.
      DCL은 데이터베이스 사용자에게 권한을 부여하거나 회수하는 명령어들을 포함합니다.
    • 예시: GRANT(권한 부여), REVOKE(권한 회수) 등이 DCL에 해당합니다.
    • REVOKE는 사용자가 가지고 있는 권한을 취소하는 데 사용되므로 DCL에 속합니다.
  • ④ DUL (Data User Language):
    • 틀린 선택지입니다.
      DUL은 SQL에서 사용되지 않는 용어입니다. SQL 표준에서는 DUL이라는 분류는 존재하지 않습니다. 따라서 이는 틀린 선택지입니다.

4. 결론

정답은 ❸ DCL입니다.
DCL은 데이터베이스 사용자에게 권한을 부여하거나 회수하는 명령어들을 포함하며, REVOKE도 그 예에 해당합니다.

요약

  • DCL (Data Control Language): 사용자의 권한을 관리하는 명령어들이 포함됩니다. 예: GRANT, REVOKE
  • DDL (Data Definition Language): 데이터베이스 구조를 정의하거나 수정하는 명령어들.
  • DML (Data Manipulation Language): 데이터베이스 데이터를 조작하는 명령어들.
  • DUL: 잘못된 선택지, SQL 표준에는 해당 분류가 없습니다.

REVOKEDCL에 속하며, 권한을 회수하는 명령어입니다.

반응형