-
A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução.-> Nem todas as atualizações, só as transações que receberam COMMIT.
-
II. A consistência garante que, se o banco de dados estiver inicialmente em estado inconsistente, a execução da transação T, por si só, é capaz de deixar o banco de dados em um estado consistente.
FALSO - Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.
IV. A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução.
FALSO - Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.
-
Conceito de Transação:
São coleções de operações q formam uma única unidade lógica de trabalho.
Várias operações no banco podem parecer uma só pro usuario. P ex.: Transferencia de dinheiro entre contas. Mas no banco são várias operações(q, juntas, são a transação). E é desejável q ou todas completem com sucesso, ou nenhuma.
Para garantir a integridade dos dados, é necessário q o sistema de bd mantenha as seguintes propriedades das transações:
A-tomicidade: tdas as operacoes da transaçao são refletidas no bd, ou nenhuma será.
Ex.: a operação de transferir $40 do Bradesco(q possui $100 na conta) pro Banco do Brasil(q tem $60) pode ser descrita nas operações:
Leia(Brad) = 100;
Brad = 100 -40;
Escreva(40);
Leia(BB) = 60;
BB = 60 + 40;
Escreva(100).
Se faltasse anergia apos escrever o novo valor de Brad, o sistema entraria em estado inconsistente, pois o dinheiro nao foi creditado no banco do brasil. Sendo assim, é desejável q todas as operações terminem com sucesso, ou sejam desfeitas.
C-onsistencia: a execução d uma transação isolada preserva a consistencia do bd. Ou seja, se o bd tiver em estado consistente, a execução de uma transação faz continua-lo consistente. Ou seja, se o banco tava consistente, execução da transação Brad/BB deve manter essa consistencia.
I-solamento: cada transaçao nao esta ciente das outras executando simultaneamente. Ela pensa q iniciou ou terminou antes/depois, d outra.
D-urabilidade: depois q uma transação for completada, as mudanças persistem, mesmo em caso de falhas.
Traduzindo: Brad nao sabe q BB vai adicionar o valor q ele ta subtraindo da conta
Tendo colocado esses conceitos, vamos as questoes:
I. A atomicidade garante que todos os efeitos da transação T sejam integralmente refletidos no banco de dados ou que, em caso de falha, nenhum deles seja aceito. Certo!
II. A consistência garante que, se o banco de dados estiver inicialmente em estado inconsistente, a execução da transação T, por si só, é capaz de deixar o banco de dados em um estado consistente. Errado!
III. O isolamento garante que a execução da transação T seja isolada da execução de quaisquer outras transações simultâneas, de modo a evitar que o banco de dados venha a assumir um estado inconsistente.
IV. A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução. Errado!
Como visto, se ocorrer falhas durante a execução, as mudanças devem ser revertidas(rollback)
-
Os items II e IV estão incorretos.
No item II, o erro é dizer que a transação é capaz de levar o banco de dados de um estado inconsistente a um estado consistente. O correto é dizer que as transações devem levar o banco de dados de um estado consistente a outro estado consistente.
Já no item IV, o erro é dizer que a durabilidade garante a permanência dos resultados da transação mesmo no caso de falha. Isso seria uma contradição com a atomicidade, não é? A durabilidade diz que os resultados das transações completadas com sucesso que devem permanecer no BD.
-
I. Atomicidade: Uma transação precisa sempre terminar com uma operação de efetivação ou de reversão;
II. Consistência: Processar uma transação nunca pode resultar em perda de consistência no banco de dados;
III. Isolamento: Mesmo quando transações são processadas simultaneamente, os resultados precisam ser os mesmos de um processamento sequencial;
IV. Durabilidade: O conteúdo de uma transação completa não pode ser afetado por falhas.
-
II = CONSISTENTE PARA CONSISTENTE
IV = SÓ QUEM RECEBEU COMMIT
GABARITO D