Pular para o conteúdo principal

Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — CESPE / CEBRASPE 2023

Banco de DadosSublinguagens SQL (DDL, DML, DQL, DCL e DTL)
Código
ce397744
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana Proc ( )

Em relação às linguagens de banco de dados SQL, DDL e DML, julgue o item a seguir.

 

Na DDL, que é uma linguagem declarativa, é descrito o que se deseja fazer, em vez de como fazê-lo, como comandos para definir tabelas e procedures, tal qual exemplificado a seguir.

 

CREATE TABLE <tablename> (col1 int, col2 int, col3 int)

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Sublinguagens SQL: DDL e DML

Gabarito: Certo. A afirmação está correta porque a DDL (Data Definition Language) é, de fato, uma linguagem declarativa — nela se descreve o que se deseja fazer, sem especificar como fazer — e o comando CREATE TABLE exemplifica perfeitamente essa característica, pois define a estrutura de uma tabela (metadados) sem detalhar o procedimento de criação. A fonte é o próprio conceito de linguagem declarativa aplicado à subdivisão do SQL.

A linguagem SQL é dividida em subconjuntos, cada um com uma função específica. A DDL (Data Definition Language) é a sublinguagem responsável por definir a estrutura dos objetos do banco de dados, como tabelas, índices, visões e procedures. Seus comandos principais são CREATE, ALTER, DROP e TRUNCATE. A DML (Data Manipulation Language), por sua vez, é a sublinguagem que manipula os dados dentro dessas estruturas, com comandos como INSERT, UPDATE, DELETE e, em algumas classificações, o SELECT.

A característica central da DDL é ser declarativa. Uma linguagem declarativa expressa a lógica do que se deseja obter, sem descrever o fluxo de controle ou o passo a passo para alcançar o resultado. No comando CREATE TABLE <tablename> (col1 int, col2 int, col3 int), o usuário apenas declara que deseja criar uma tabela com determinadas colunas e tipos — o SGBD é quem decide internamente como alocar espaço, criar índices de armazenamento, etc. Isso contrasta com linguagens procedurais, onde o programador precisa especificar cada etapa do processo.

Na prática, quando você executa CREATE TABLE clientes (id int, nome varchar(100)), você está dizendo ao banco: "quero uma tabela chamada clientes com estas colunas". Você não precisa dizer ao banco como ele deve gravar os dados no disco, como deve organizar os metadados ou como deve otimizar o acesso. Tudo isso é responsabilidade do SGBD. Essa é a essência da declaração: especificar o resultado desejado, não o método.

A distinção entre DDL e DML é fundamental e frequentemente cobrada em provas. Enquanto a DDL trabalha com metadados (dados sobre os dados — a estrutura), a DML trabalha com os dados em si (os registros). O comando CREATE TABLE é DDL porque define a estrutura; o comando INSERT INTO é DML porque insere dados nessa estrutura. A banca explora exatamente essa fronteira: confundir comandos que definem estrutura com comandos que manipulam dados.

A pegadinha desta questão está em associar a DDL a uma linguagem declarativa. Muitos candidatos podem pensar que apenas a DQL (com o SELECT) é declarativa, mas a característica declarativa se aplica a toda a linguagem SQL, incluindo a DDL. O CREATE TABLE é um comando declarativo porque descreve o que se deseja criar, não como criar.

Guarde a fronteira entre DDL e DML: DDL define a estrutura (metadados), DML manipula os dados. É exatamente nessa distinção que a questão se apoia para validar a afirmação.

1DDL (definição de estrutura)
CREATE, ALTER, DROP, TRUNCATE
Declarativa: descreve o quê, não como
Ex.: CREATE TABLE, CREATE PROCEDURE
2DML (manipulação de dados)
INSERT, UPDATE, DELETE
SELECT (em algumas classificações)
3DQL (consulta)
SELECT
4DCL (controle de acesso)
GRANT, REVOKE
5DTL (transações)
COMMIT, ROLLBACK
Sublinguagens SQL
LEVELsoulevel.com.br
Sublinguagens SQL: DDL (definição de estrutura) (CREATE, ALTER, DROP, TRUNCATE, Declarativa: descreve o quê, não como, Ex.: CREATE TABLE, CREATE PROCEDURE); DML (manipulação de dados) (INSERT, UPDATE, DELETE, SELECT (em algumas classificações)); DQL (consulta) (SELECT); DCL (controle de acesso) (GRANT, REVOKE); DTL (transações) (COMMIT, ROLLBACK)

Item — ✅ CERTO

A afirmação está correta por três razões:

  1. DDL é declarativa: A DDL descreve o que se deseja fazer, sem especificar como. O comando CREATE TABLE declara a intenção de criar uma tabela com determinada estrutura, deixando os detalhes de implementação para o SGBD.

  1. DDL define tabelas e procedures: A DDL é usada para criar, alterar e remover objetos do banco, incluindo tabelas (CREATE TABLE), procedures (CREATE PROCEDURE), visões (CREATE VIEW), índices (CREATE INDEX), entre outros.

  1. O exemplo é válido: O comando CREATE TABLE <tablename> (col1 int, col2 int, col3 int) é um exemplo clássico de DDL, pois define a estrutura de uma tabela com três colunas inteiras.

A notação <tablename> indica um valor genérico que deve ser substituído pelo nome real da tabela — o par de símbolos < > é uma convenção para representar placeholders.

Gabarito: Certo.

Link permanente: /questoes/ce397744