Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg354502
Banca
Quadrix
Órgão
NOVACAP
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas - Infraestrutura
Com relação à tabela SERVICO acima, implementada em um banco de dados relacional, e à linguagem SQL, julgue o item.O comando a seguir tem a finalidade de alterar o veículo para VAN 177, em que o responsável pelo serviço é J. JORGE.UPDATE SERVICOSET VEICULO = ‘VAN 177’WHERE RESPONSAVEL = ‘J. JORGE’;
  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”.
SE LIGUE NESSA!

Esta questão depende de uma tabela-base (SERVICO) que não está disponível neste material. O raciocínio abaixo ensina o método de análise do comando SQL; confira os dados da tabela no enunciado original para aplicar a condição corretamente.

Comando UPDATE em SQL

Gabarito: CERTO (letra C). O comando UPDATE SERVICO SET VEICULO = 'VAN 177' WHERE RESPONSAVEL = 'J. JORGE' é sintaticamente válido e, se existir na tabela SERVICO um registro cujo valor da coluna RESPONSAVEL seja exatamente 'J. JORGE', ele alterará o valor da coluna VEICULO para 'VAN 177' nesse registro. A estrutura do comando está correta: UPDATE nomeia a tabela, SET define a coluna e o novo valor, e WHERE filtra as linhas que serão afetadas.

O comando UPDATE é um dos comandos da DML (Data Manipulation Language) — a sublinguagem do SQL responsável por manipular os dados dentro das tabelas, e não a estrutura delas. Enquanto a DDL (Data Definition Language) lida com a definição do esquema (CREATE, ALTER, DROP), a DML opera sobre os registros: INSERT insere, DELETE remove e UPDATE altera dados existentes. O SELECT, embora em alguns livros seja classificado na DML, em outros é separado na DQL (Data Query Language), pois sua função é apenas consultar, não modificar.

A sintaxe do UPDATE segue o padrão: UPDATE nome_da_tabela SET coluna = novo_valor WHERE condição;. A cláusula WHERE é opcional, mas crucial: sem ela, o comando alteraria todas as linhas da tabela. Com ela, apenas as linhas que satisfazem a condição são modificadas. No comando da questão, a condição RESPONSAVEL = 'J. JORGE' filtra exatamente os registros cujo responsável é J. JORGE, e nesses registros o veículo é alterado para VAN 177.

Um ponto importante é a sensibilidade a maiúsculas e minúsculas na comparação de strings. Em muitos SGBDs, como o Oracle (citado no edital), a comparação de strings é case sensitive: 'J. JORGE' é diferente de 'j. jorge'. Portanto, o comando só afetará os registros em que o valor da coluna RESPONSAVEL seja exatamente 'J. JORGE', com essa capitalização. Se a tabela tiver 'J. Jorge' ou 'j. jorge', esses registros não serão alterados.

A pegadinha que a banca poderia explorar aqui é justamente essa: o candidato pode achar que o comando está errado por algum detalhe de sintaxe, mas a sintaxe está perfeitamente correta. A questão testa o conhecimento da estrutura básica do UPDATE e a função da cláusula WHERE. Como o comando está bem formado e cumpre exatamente a finalidade descrita no enunciado — alterar o veículo para VAN 177 onde o responsável é J. JORGE —, o item está CERTO.

  1. 1UPDATE nomeia a tabela
  2. 2SET define coluna e valor
  3. 3WHERE filtra as linhas
  4. 4Sem WHERE altera todas
LEVEL · soulevel.com.br

Alternativa C — ✅ CERTO ⟵ GABARITO

O comando está sintaticamente correto e cumpre a finalidade descrita. A estrutura UPDATE SERVICO SET VEICULO = 'VAN 177' WHERE RESPONSAVEL = 'J. JORGE' é a forma padrão do comando de atualização em SQL: UPDATE indica a tabela-alvo, SET define a coluna a ser alterada e o novo valor, e WHERE restringe a atualização apenas às linhas em que o responsável é 'J. JORGE'. Se essa condição for verdadeira para algum registro da tabela, o veículo desse registro será alterado para 'VAN 177'. Não há erro de sintaxe nem de lógica.

Alternativa E — ❌ ERRADO

Esta alternativa afirma que o comando está errado, o que não procede. O comando UPDATE está perfeitamente válido. A única ressalva seria se a tabela não tivesse nenhum registro com RESPONSAVEL = 'J. JORGE' — nesse caso, o comando executaria sem erro, mas não alteraria nenhuma linha. Isso, porém, não torna o comando incorreto; apenas significa que a condição não encontrou correspondência. A sintaxe e a finalidade estão corretas, portanto a alternativa E está ERRADA.

Gabarito: letra C — o comando está correto.

Link permanente: /questoes/qg354502