SóProvas


ID
137053
Banca
FGV
Órgão
Senado Federal
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere as seguintes afirmativas a respeito das propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) de uma transação T de banco de dados:

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

Assinele:

Alternativas
Comentários
  • 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