Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Quadrix 2024

Banco de DadosSQL
Código
qg347819
Banca
Quadrix
Órgão
COREN-PR
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Quanto à Linguagem de Modelagem Unificada (UML), aos diagramas utilizados na Análise Orientada a Objetos e à Structured Query Language (SQL), julgue o item a seguir.O comando SQL para atualizar a idade e o departamento do enfermeiro com ID 2431 está descrito a seguir.MODIFY EnfermeiroSET Idade = 33, Departamento = ‘UTI’WHERE ID = 2431;
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Comando SQL de atualização: UPDATE e a sintaxe correta

Gabarito: ERRADO (letra E). O comando apresentado no enunciado está incorreto porque utiliza a palavra MODIFY para iniciar a instrução de atualização, quando a sintaxe padrão do SQL para essa operação é UPDATE. A forma correta seria UPDATE Enfermeiro SET Idade = 33, Departamento = 'UTI' WHERE ID = 2431;. A banca trocou o comando UPDATE por MODIFY, que não é um comando SQL válido para atualização de dados.

O SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela é dividida em sublinguagens, cada uma com um conjunto específico de comandos. A atualização de dados em uma tabela é uma operação de manipulação de dados, que pertence à sublinguagem DML (Data Manipulation Language). Os comandos da DML são SELECT, INSERT, UPDATE e DELETE. O comando UPDATE é o responsável por modificar os dados de um ou mais registros existentes em uma tabela.

A sintaxe básica do comando UPDATE é:

UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;

A cláusula SET especifica quais colunas serão alteradas e os novos valores. A cláusula WHERE é opcional, mas fundamental para definir quais registros serão afetados. Se omitida, todos os registros da tabela serão atualizados, o que pode ser um erro grave. No comando do enunciado, a cláusula WHERE ID = 2431 está correta, pois restringe a atualização ao enfermeiro com ID 2431.

O erro está na palavra MODIFY. No SQL padrão, não existe um comando MODIFY para atualizar dados. A palavra MODIFY é utilizada em alguns SGBDs, como o MySQL, mas dentro do comando ALTER TABLE, para alterar a definição de uma coluna (por exemplo, mudar o tipo de dado). Ou seja, MODIFY é um comando da DDL (Data Definition Language), que lida com a estrutura do banco, e não com os dados em si. A banca explorou exatamente essa confusão: trocou o comando de manipulação de dados (UPDATE) por um termo que lembra a alteração de estrutura (MODIFY).

Para fixar, veja a diferença entre os comandos:

Comando

Sublinguagem

Função

UPDATE

DML

Atualiza dados existentes em uma tabela

MODIFY (dentro de ALTER TABLE)

DDL

Altera a definição de uma coluna (estrutura)

ALTER TABLE

DDL

Altera a estrutura de uma tabela (adicionar, excluir ou modificar colunas)

NÃO CAIA NESSA!

A banca trocou o comando UPDATE por MODIFY, que não é um comando SQL para atualização de dados. O candidato que conhece a sintaxe básica do SQL percebe o erro na hora. Lembre-se: para atualizar dados, o comando é UPDATE; MODIFY é usado em ALTER TABLE para alterar a estrutura de uma coluna em alguns SGBDs.

Item — ❌ ERRADO

O comando apresentado está incorreto porque a palavra MODIFY não é um comando SQL válido para atualização de dados. A sintaxe correta para atualizar a idade e o departamento do enfermeiro com ID 2431 seria:

UPDATE Enfermeiro
SET Idade = 33, Departamento = 'UTI'
WHERE ID = 2431;

O comando UPDATE é o correto para essa operação, pois pertence à DML (Data Manipulation Language), que é a sublinguagem do SQL responsável por manipular os dados dentro das tabelas. A palavra MODIFY não faz parte do conjunto de comandos DML e, portanto, o item está errado.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qg347819