Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FGV 2024

Banco de DadosPostgreSQL
Código
fg091753
Banca
FGV
Órgão
Prefeitura de São José dos Campos - SP
Ano
2024
Nível
Superior
Cargo
Analista em Gestão Municipal (Tecnologia da Informação)
O PostgreSQL, versão 15, suporta 4 níveis de isolamento de transações. Com relação níveis de isolamento e aos fenômenos que eles isolam.Em relação ao tema, assinale V para a afirmativa verdadeira e F para a falsa.( ) O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma.( ) O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização.( ) O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização.As afirmativas são, respectivamente,
  1. AF – V – F.
  2. BF – F – V.
  3. CV – V – F.
  4. DV – F – V.
  5. EF – V – V.
Revelar gabarito e comentário

GabaritoD — V – F – V.

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

Níveis de Isolamento no PostgreSQL

Gabarito: letra D — V, F, V. O PostgreSQL 15 segue o padrão SQL/ANSI e oferece quatro níveis de isolamento. A primeira afirmativa é verdadeira: o nível leitura sem compromisso (read uncommitted) permite leitura fantasma. A segunda é falsa: leitura confirmada (read committed) não admite leitura suja, mas permite leitura fantasma e anomalias de serialização. A terceira é verdadeira: o nível serializável é o mais rigoroso e bloqueia todos os fenômenos indesejados (leitura suja, leitura não repetível, leitura fantasma e anomalia de serialização).

A banca cobra a associação entre os níveis e os fenômenos que cada um previne ou permite. A tabela abaixo resume:

Nível

Leitura suja

Leitura não repetível

Leitura fantasma

Anomalia de serialização

Read Uncommitted

Permite

Permite

Permite

Permite

Read Committed

Não permite

Permite

Permite

Permite

Repeatable Read

Não permite

Não permite

Permite (padrão) / Não permite (PG)

Permite

Serializable

Não permite

Não permite

Não permite

Não permite

PEGA ESSA DICA!

Memorize que o PostgreSQL trata o nível Repeatable Read como equivalente ao padrão SQL de mesmo nome, mas com proteção contra phantom reads. Já no padrão SQL, Repeatable Read permite phantom. Na prova, preste atenção se a questão menciona explicitamente a implementação do PostgreSQL ou o padrão ANSI. Para a banca FGV, a distinção mais cobrada é que read committed permite phantom, enquanto serializable não permite nenhum fenômeno.

Análise das afirmativas

1ª afirmativa — V (Verdadeira)

"O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma."

O nível read uncommitted é o mais baixo e permite todos os fenômenos: leitura suja, leitura não repetível e leitura fantasma. A afirmativa está correta.

2ª afirmativa — F (Falsa)

"O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização."

O nível read committed não admite leitura suja, mas admite leitura fantasma e anomalias de serialização. Portanto, a afirmação é falsa ao dizer que não admite.

3ª afirmativa — V (Verdadeira)

"O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização."

O nível serializable é o mais alto e previne todos os fenômenos listados, inclusive a anomalia de serialização (que ocorre quando a execução concorrente não é equivalente a nenhuma execução serial). Afirmativa correta.

Gabarito: letra D — V, F, V.

Link permanente: /questoes/fg091753