Questão de Banco de Dados — SQL — Quadrix 2025
- Código
- qg602050
- Banca
- Quadrix
- Órgão
- CRP - SP
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico Especializado em Suporte Administrativo - Técnico em Tecnologia da Informação e Comunicação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: CERTO (letra C). O comando UPDATE pacientes SET diagnostico = 'depressão' WHERE id = 5; está sintaticamente correto e cumpre exatamente o objetivo de atualizar o diagnóstico do paciente cujo id é 5. O UPDATE é o comando da sublinguagem DML (Data Manipulation Language) destinado a modificar dados existentes em uma tabela, e a sintaxe apresentada segue o padrão UPDATE nome_da_tabela SET coluna = valor WHERE condição;.
O comando UPDATE é uma das instruções fundamentais da linguagem SQL, pertencente à sublinguagem DML (Data Manipulation Language), que também inclui INSERT, DELETE e SELECT. Enquanto o INSERT adiciona novas linhas e o DELETE remove linhas inteiras, o UPDATE altera o valor de uma ou mais colunas em linhas já existentes, sem remover a linha. A sintaxe básica é:
UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;A cláusula WHERE é opcional, mas extremamente importante: sem ela, o comando atualizaria todas as linhas da tabela. No comando da questão, a condição WHERE id = 5 restringe a atualização apenas ao registro cuja chave primária id seja igual a 5, garantindo que somente o diagnóstico daquele paciente específico seja alterado para 'depressão'.
Na prática, se a tabela pacientes tiver, por exemplo, os registros com id 1, 2, 3, 4 e 5, o comando acima modificará apenas a linha do paciente com id = 5, alterando o valor da coluna diagnostico para 'depressão'. Os demais registros permanecem intactos. Essa é a operação típica de manutenção de dados que o técnico de TI executaria.
A banca explora aqui um ponto que costuma gerar confusão: a diferença entre UPDATE e DELETE. Enquanto o DELETE remove a linha inteira (a tupla), o UPDATE apenas modifica valores de colunas específicas, mantendo a linha. Se o objetivo fosse apagar o diagnóstico, mas manter o paciente, o UPDATE com valor NULL seria a ferramenta correta, não o DELETE. Além disso, é comum o candidato confundir UPDATE com comandos de definição de dados (DDL), como ALTER TABLE, mas o UPDATE é exclusivamente de manipulação de dados.
Guarde a fronteira entre as sublinguagens SQL: DDL (CREATE, ALTER, DROP, TRUNCATE) define a estrutura; DML (SELECT, INSERT, UPDATE, DELETE) manipula os dados; DCL (GRANT, REVOKE) controla permissões. O comando da questão é claramente DML, e sua sintaxe está correta.
O comando UPDATE pacientes SET diagnostico = 'depressão' WHERE id = 5; está correto porque:
Utiliza a palavra-chave UPDATE seguida do nome da tabela pacientes, conforme a sintaxe padrão.
A cláusula SET especifica a coluna diagnostico e o novo valor 'depressão' (entre aspas simples, indicando string).
A cláusula WHERE id = 5 restringe a atualização ao registro com id igual a 5, evitando alterar todos os registros.
O comando pertence à DML e é exatamente a ferramenta adequada para modificar o diagnóstico de um paciente específico.
Não há erro de sintaxe nem de lógica: a tabela pacientes possui a coluna diagnostico (conforme o modelo relacional apresentado), e o id é a chave primária, permitindo identificar unicamente o registro.
A alternativa E afirma que o comando está errado, mas isso não procede. O comando está perfeitamente válido e atende ao objetivo proposto. Não há qualquer violação de sintaxe ou de semântica do SQL. A banca apresenta essa alternativa como distrator para testar se o candidato conhece a sintaxe correta do UPDATE e não confunde com outros comandos (como ALTER ou DELETE). Como o comando é válido, a alternativa E é incorreta.
Gabarito: letra C — o item está CERTO.
Link permanente: /questoes/qg602050