Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025
- Código
- ce417338
- Banca
- CESPE / CEBRASPE
- Órgão
- FUB
- Ano
- 2025
- Cargo
- Tec ( )
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado. O comando MODIFY não é um comando SQL padrão para alterar tabelas; a instrução correta é ALTER TABLE. O MODIFY é uma cláusula específica de alguns SGBDs (como Oracle) usada dentro do ALTER TABLE para modificar a definição de uma coluna, mas não é um comando autônomo do SQL padrão.
A linguagem SQL (Structured Query Language) é o padrão para acesso e manipulação de bancos de dados relacionais. Ela é dividida em sublinguagens, cada uma com funções específicas. Para alterar a estrutura de uma tabela (adicionar, modificar ou excluir colunas, por exemplo), utilizamos comandos da DDL (Data Definition Language). O comando principal da DDL para essa finalidade é o ALTER TABLE. A afirmação do enunciado está incorreta porque apresenta o MODIFY como um comando autônomo, quando na verdade ele é uma cláusula que pode ser usada dentro do ALTER TABLE em alguns SGBDs, não sendo um comando padrão do SQL.
Para entender melhor, vamos detalhar as sublinguagens do SQL e seus comandos principais. A DDL (Data Definition Language) é responsável por definir e modificar a estrutura dos objetos do banco de dados, como tabelas, índices e visões. Seus comandos principais são CREATE, ALTER, DROP e TRUNCATE. A DML (Data Manipulation Language) é usada para manipular os dados dentro das tabelas, com comandos como SELECT, INSERT, UPDATE e DELETE. A DCL (Data Control Language) controla as permissões de acesso, com GRANT e REVOKE. E a DTL (Data Transaction Language) gerencia transações, com COMMIT e ROLLBACK.
A pegadinha desta questão está em confundir a cláusula MODIFY (específica de alguns SGBDs) com um comando SQL padrão. No Oracle, por exemplo, para alterar o tipo de uma coluna, usa-se ALTER TABLE nome_tabela MODIFY nome_coluna novo_tipo. Já no MySQL e SQL Server, a sintaxe é ALTER TABLE nome_tabela ALTER COLUMN nome_coluna novo_tipo. Em ambos os casos, o comando principal é o ALTER TABLE, e MODIFY ou ALTER COLUMN são apenas cláusulas que especificam a ação a ser realizada na coluna.
A banca explora a falta de familiaridade do candidato com as variações de sintaxe entre os SGBDs. O candidato que conhece apenas o padrão SQL pode não reconhecer o MODIFY e errar a questão. Por outro lado, o candidato que conhece a sintaxe do Oracle pode achar que o MODIFY é um comando válido, mas a questão afirma que ele é utilizado para alterar tabelas, o que é uma generalização incorreta, pois o comando padrão é o ALTER TABLE.
A afirmação "O comando SQL MODIFY é utilizado para alterar tabelas de um SGBD" está errada. O comando padrão para alterar tabelas é o ALTER TABLE. O MODIFY é uma cláusula específica de alguns SGBDs (como Oracle) que pode ser usada dentro do ALTER TABLE para modificar a definição de uma coluna, mas não é um comando autônomo do SQL padrão. A banca tenta confundir o candidato ao apresentar uma sintaxe específica como se fosse um comando geral.
Gabarito: Errado
Link permanente: /questoes/ce417338