Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FGV 2024

Banco de DadosPL-SQL
Código
fg101860
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Técnico Judiciário - Área Administrativa - Especialidade: Tecnologia da Informação
O analista Cléber foi designado para auditar alterações de dados feitas pelo aplicativo TRFDigital. Ele deve analisar especificamente os registros da entidade Processo. O TRFDigital persiste a entidade Processo em uma tabela homônima de um banco de dados relacional e emprega o Hibernate Envers como solução de auditoria de entidades. As tabelas de auditoria foram criadas automaticamente pelo Envers, em sua configuração padrão.Para discriminar, utilizando Structured Query Language, quais registros de Processo foram removidos, Cléber deve utilizar a consulta:
  1. ASELECT * FROM Processo_AUD WHERE REVTYPE = 0
  2. BSELECT * FROM Processo_AUD WHERE REVTYPE = 1
  3. CSELECT * FROM Processo_AUD WHERE REVTYPE = 2
  4. DSELECT * FROM Processo_REV WHERE AUDTYPE = 0
  5. ESELECT * FROM Processo_REV WHERE AUDTYPE = 1
Revelar gabarito e comentário

GabaritoC — SELECT * FROM Processo_AUD WHERE REVTYPE = 2

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

Hibernate Envers: Identificação de Remoções via REVTYPE

Gabarito: letra C. O Hibernate Envers, em sua configuração padrão, cria automaticamente tabelas de auditoria com o sufixo _AUD e adiciona a coluna REVTYPE, que armazena o tipo de operação. Os valores possíveis são: 0 para INSERT, 1 para UPDATE e 2 para DELETE. Para listar apenas os registros removidos, a condição deve ser WHERE REVTYPE = 2.

10 = INSERT
21 = UPDATE
32 = DELETE
4Tabela: _AUD
Hibernate Envers (REVTYPE)
LEVELsoulevel.com.br
Hibernate Envers (REVTYPE): 0 = INSERT; 1 = UPDATE; 2 = DELETE; Tabela: _AUD

Alternativa A — ❌ Incorreta

SELECT * FROM Processo_AUD WHERE REVTYPE = 0 retornaria os registros inseridos, não os removidos. O valor 0 corresponde a INSERT.

Alternativa B — ❌ Incorreta

SELECT * FROM Processo_AUD WHERE REVTYPE = 1 retornaria os registros atualizados, não os removidos. O valor 1 corresponde a UPDATE.

Alternativa C — ✅ Correta ⟵ GABARITO

SELECT * FROM Processo_AUD WHERE REVTYPE = 2 é a consulta correta, pois REVTYPE = 2 indica DELETE.

Alternativa D — ❌ Incorreta

A tabela Processo_REV não é a tabela de auditoria gerada pelo Envers (que seria Processo_AUD). Além disso, a coluna AUDTYPE não existe nesse contexto.

Alternativa E — ❌ Incorreta

Mesmo problema da alternativa D: a tabela e coluna estão incorretas. O Envers não utiliza Processo_REV nem AUDTYPE.

PEGA ESSA DICA!

Memorize os três valores de REVTYPE no Hibernate Envers: 0 = INSERT, 1 = UPDATE, 2 = DELETE. Em questões de auditoria, o padrão é sempre a tabela com sufixo _AUD.

Gabarito: letra C

Link permanente: /questoes/fg101860