Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg351066
Banca
Quadrix
Órgão
CRN - 8ª Região (PR)
Ano
2024
Nível
Médio
Cargo
Assistente de Tecnologia da Informação Júnior
DECLAREv_ID TIPONUTRICIONISTA.ID%type := 2;v_DESCRICAO TIPONUTRICIONISTA.DESCRICAO%type := ‘Esportiva’;BEGININSERT INTO TIPONUTRICIONISTA (ID, DESCRICAO) VALUES (v_ID, upper(v_DESCRICAO)); COMMIT;END;O script acima, no Sistema de Gerenciamento de Banco de Dados (SGBD) Oracle, tem a finalidade de
  1. Amostrar todos os nutricionistas que são da categoria “Esportiva”.
  2. Bremover do banco de dados todos os nutricionistas que são da categoria “Esportiva”.
  3. Cinserir no campo DESCRICAO da tabela TIPONUTRICIONISTA a palavra Esportiva em minúsculo.
  4. Dinserir no campo DESCRICAO da tabela TIPONUTRICIONISTA a palavra Esportiva em maiúsculo.
  5. Eatualizar a categoria do nutricionista de ID igual a 2 para “Esportiva”.
Revelar gabarito e comentário

GabaritoD — inserir no campo DESCRICAO da tabela TIPONUTRICIONISTA a palavra Esportiva em maiúsculo.

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

Comandos SQL: INSERT e a função UPPER no Oracle

Gabarito: letra D. O script executa um comando INSERT (inserção de dados) na tabela TIPONUTRICIONISTA, e a função upper() converte a string 'Esportiva' para maiúsculas antes de gravá-la no campo DESCRICAO. Portanto, a finalidade é inserir a palavra "Esportiva" em maiúsculo.

O comando INSERT é um comando da sublinguagem DML (Data Manipulation Language), responsável por adicionar novas linhas a uma tabela. No script, as variáveis v_ID e v_DESCRICAO são declaradas com valores iniciais (2 e 'Esportiva', respectivamente). O comando INSERT INTO TIPONUTRICIONISTA (ID, DESCRICAO) VALUES (v_ID, upper(v_DESCRICAO)) insere uma nova linha na tabela, usando o valor da variável v_ID para a coluna ID e o resultado da função upper(v_DESCRICAO) para a coluna DESCRICAO.

A função upper() é uma função de string que converte todos os caracteres de uma string para maiúsculas. No Oracle, essa função é amplamente utilizada para normalizar dados, facilitar buscas case-insensitive ou padronizar o armazenamento. Como a variável v_DESCRICAO contém a string 'Esportiva' (com 'E' maiúsculo e o restante minúsculo), a função upper() a transforma em 'ESPORTIVA' (tudo maiúsculo).

O comando COMMIT é um comando de transação (DTL) que confirma permanentemente a transação, tornando a inserção visível para outros usuários e persistente no banco de dados. Sem o COMMIT, a inserção poderia ser desfeita com um ROLLBACK.

É importante destacar que o script não realiza consulta (SELECT), atualização (UPDATE) ou exclusão (DELETE). Ele apenas insere um novo registro. A pegadinha da questão está em reconhecer que a função upper() altera o texto para maiúsculas, e não em confundir os comandos DML.

Alternativa A — ❌ Incorreta

A alternativa afirma que o script mostra todos os nutricionistas da categoria "Esportiva". Isso está errado porque o comando INSERT não realiza consultas; ele insere dados. Para mostrar (consultar) registros, seria necessário usar o comando SELECT, que não aparece no script.

Alternativa B — ❌ Incorreta

A alternativa afirma que o script remove do banco de dados todos os nutricionistas da categoria "Esportiva". Isso está errado porque o comando INSERT não remove dados; ele adiciona. Para remover registros, seria necessário usar o comando DELETE, que não aparece no script.

Alternativa C — ❌ Incorreta

A alternativa afirma que o script insere a palavra "Esportiva" em minúsculo. Isso está errado porque a função upper() converte a string para maiúsculas. O valor inserido no campo DESCRICAO será 'ESPORTIVA', não 'Esportiva'. A função upper() é justamente o oposto da função lower(), que converteria para minúsculas.

Alternativa D — ✅ Correta ⟵ GABARITO

A alternativa afirma que o script insere a palavra "Esportiva" em maiúsculo. Isso está correto. O comando INSERT insere uma nova linha na tabela TIPONUTRICIONISTA, e a função upper(v_DESCRICAO) converte a string 'Esportiva' para 'ESPORTIVA' antes de gravá-la no campo DESCRICAO. O COMMIT confirma a transação, tornando a inserção permanente.

Alternativa E — ❌ Incorreta

A alternativa afirma que o script atualiza a categoria do nutricionista de ID igual a 2 para "Esportiva". Isso está errado porque o comando INSERT não atualiza registros existentes; ele insere um novo registro. Para atualizar, seria necessário usar o comando UPDATE, que não aparece no script. Além disso, o script insere um novo registro com ID 2, o que poderia causar erro de violação de chave primária se já existisse um registro com esse ID.

Gabarito: letra D

Link permanente: /questoes/qg351066