Sistemas Gerenciadores de Banco de Dados são concorrentes qu...

Próximas questões
Com base no mesmo assunto
Ano: 2011 Banca: CESGRANRIO Órgão: BR Distribuidora
Q1227186 Banco de Dados
Sistemas Gerenciadores de Banco de Dados são concorrentes quando permitem mais de uma transação acessando o Banco de Dados (BD) ao mesmo tempo. Considere duas transações A e B, acessando o mesmo Banco de Dados. A transação B atualizou uma tupla no tempo t1. No instante seguinte, t2, a transação A leu essa mesma tupla. No instante t3, a transação B foi cancelada, e ocorreu um ROLLBACK. Esse problema de concorrência é denominado 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B - dependência sem commit

Para compreender a alternativa correta, é necessário ter conhecimento sobre os problemas de concorrência em ambientes de banco de dados. Estes problemas surgem quando múltiplas transações operam sobre os mesmos dados simultaneamente. Um dos principais objetivos do controle de concorrência é assegurar a consistência e a integridade dos dados.

A situação apresentada descreve um cenário onde ocorre o que é chamado de dependência sem commit. Isso acontece quando uma transação lê dados que foram alterados por outra transação que ainda não foi confirmada, ou seja, não realizou o commit. Se a transação que realizou as mudanças é posteriormente cancelada (executa um ROLLBACK), as alterações são desfeitas. Isso pode levar a transação que leu os dados a trabalhar com informações que efetivamente nunca existiram no banco de dados.

A alternativa está correta porque descreve precisamente o problema mencionado: a transação A leu dados que foram atualizados pela transação B no tempo t1. Quando a transação B é cancelada em t3, as informações lidas por A podem já não ser válidas, já que dependiam do commit da transação B, que não ocorreu.

É importante destacar que o gerenciamento eficaz de transações em um SGBD é crucial para manter a confiabilidade e a integridade dos dados, e o conhecimento desses problemas de concorrência é fundamental para profissionais da área de banco de dados que se preparam para concursos públicos.

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

Dependência sem Commit é o mesmo que “Leituras Sujas”;

Análise Inconsistente é o mesmo que “Leituras não repetidas”.

Colega ROBERTO SILVA ESTÁ ERRADO, Análise Inconsistente é diferente de LEITURA NÃO REPETIDA.

D e E = Vazam, não são problemas de CONCORRÊNCIA

A = Apenas a TRANSAÇÃO B está mexendo na TUPLA, TRANSAÇÃO A está apenas ACESSANDO.

C = Possui um COMMIT

GABARITO B

 A transação B atualizou uma tupla no tempo t1.

No instante seguinte, t2, a transação A leu essa mesma tupla.

No instante t3, a transação B foi cancelada, e ocorreu um ROLLBACK.

OBSERVEM ACONTECEU UM ERRO, TEVE UM ROLLBACK

- Atualização Perdida (LOST UPDATE) = Duas Transações ATUALIZAM o mesmo dado, Duas transações ACESSAM os mesmos dados do BD têm suas operações INTERCALADAS tornando o valor de alguns itens incorretos.

 - SOBRESCRITA de DADOS ALTERADOS sem COMMIT.

- Leitura Suja/Leitura Inválida/Atualização Temporária/Dependência sem COMMIT (DIRTY-READ) = Esse problema ocorre quando UMA TRANSAÇÃO ATUALIZA um item do banco de dados e depois a TRANSAÇÃO FALHA (SEM COMMIT) por algum motivo. Nesse meio-tempo, o ITEM ATUALIZADO É ACESSADO (LIDO) POR OUTRA TRANSAÇÃO, ANTES DE SER ALTERADO PARA SEU VALOR ORIGINAL.

 - DADOS MODIFICADOS QUE NÃO TIVERAM COMMIT

- Leitura Não Repetida (NONREPETEABLE READ) = Duas LEITURAS DE DADOS na mesma transação NÃO SE REPETEM. Na segunda leitura, DADOS NÃO EXISTEM OU FORAM MODIFICADOS.

 - Uma transação T lê O MESMO ITEM DUAS VEZES e o item é ALTERADO POR OUTRA TRANSAÇÃO T’ ENTRE AS DUAS LEITURAS. Logo, T RECEBE VALORES DIFERENTES PARA SUAS DUAS LEITURAS NO MESMO ITEM.

- Leitura Fantasma/Resumo Incorreto/Sumário Incorreto (PHANTOM READ) = Se uma transação está calculando uma função de resumo de agregação em uma série de itens de banco de dados, enquanto outras transações estão atualizando alguns desses itens, a função de agregação pode calcular alguns valores antes que eles sejam atualizados e outros, depois que eles forem atualizados.

- Análise Inconsistente = Não tem falha, É semelhante à leitura suja, já que resulta na leitura inconsistente de valores por uma transação. A diferença é que a leitura ocorre sem que tenham ocorrido problemas com a transação concorrente, ou seja, as operações da transação são finalizadas usando o comando COMMIT.

 - Leitura Suja com COMMIT.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo