Considerando a teoria de concorrência em banco de dados, qu...
Considerando a teoria de concorrência em banco de dados, que nível de isolamento de transação abaixo permite a ocorrência de Leituras Sujas:
I. Read Uncommitted
II. Read Committed
III. Repeatable Read
IV. Serializable
V. Unbreakable
Das alternativas acima:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - Somente I está correta.
Vamos explorar o conceito de níveis de isolamento em transações de banco de dados. A questão aborda a teoria de concorrência, que é essencial para garantir a integridade e consistência dos dados em ambientes onde múltiplas transações ocorrem simultaneamente.
1. Read Uncommitted: Este é o nível de isolamento mais baixo, permitindo a ocorrência de leituras sujas. Isso significa que uma transação pode ler dados que ainda não foram confirmados por outra transação, o que pode levar a inconsistências caso a transação inicial seja desfeita.
2. Read Committed: Neste nível, as leituras sujas são evitadas, pois uma transação só consegue ler dados que já foram confirmados por outras transações. No entanto, ainda é possível que ocorra o fenômeno de leitura não repetível.
3. Repeatable Read: Este nível impede leituras sujas e leituras não repetíveis, mas ainda pode permitir o fenômeno de phantom reads, onde uma transação vê registros que não estavam presentes numa leitura anterior da mesma transação.
4. Serializable: Este é o nível de isolamento mais alto, garantindo que todas as transações sejam completamente isoladas umas das outras. Isso evita leituras sujas, leituras não repetíveis e phantom reads.
5. Unbreakable: Esse termo não é reconhecido dentro dos níveis de isolamento padrão nos sistemas de banco de dados.
Justificativas:
Alternativa A: Correta, pois apenas o nível Read Uncommitted permite leituras sujas.
Alternativa B: Incorreta. O nível Serializable, listado na alternativa IV, não permite leituras sujas.
Alternativa C: Incorreta. Nenhum dos níveis listados (Read Committed e Repeatable Read) permite leituras sujas.
Alternativa D: Incorreta. O nível Repeatable Read não permite leituras sujas e "Unbreakable" não é um nível reconhecido.
Alternativa E: Incorreta. Read Committed e Serializable não permitem leituras sujas.
É fundamental entender esses níveis de isolamento para garantir que as transações em um banco de dados ocorram de maneira controlada e segura, evitando inconsistências nos dados.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
_________________________________________________________________
/Nível de isolamento / Dirty Read / Nonrepeatable Read / Phantom Read /
/Read uncommitted / Possível / Possível / Possível /
/Read committed / Impossível / Possível / Possível /
/Repeatable read / Impossível / Impossível / Possível /
/Serializable / Impossível / Impossível / Impossível /
------------------------------------------------------------------------------------------------------------------
dirty read (leitura suja)
A transação lê dados escritos por uma transação simultânea não efetivada (uncommitted).
nonrepeatable read (leitura que não pode ser repetida
A transação lê novamente dados lidos anteriormente, e descobre que os dados foram alterados por outra transação (que os efetivou após ter sido feita a leitura anterior).
phantom read (leitura fantasma)
A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfazem uma determinada condição de procura, e descobre que o conjunto de linhas que satisfazem a condição é diferente por causa de uma outra transação efetivada recentemente.
Fonte: https://pt.wikipedia.org/wiki/Transa%C3%A7%C3%A3o_em_base_de_dados
Nível de Isolamento x Fenômeno em Transação:
https://uploaddeimagens.com.br/imagens/whatsapp_image_2018-06-23_at_12-21-39-jpeg
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo