SóProvas


ID
32776
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação em um sistema de banco de dados pode ser descrita como uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. Para o gerenciamento de transações em sistemas de bancos de dados, assinale a afirmação correta.

Alternativas
Comentários
  • Para resolver esta questão vc deve ter bem claro o conceito de ACID em bancos de dados. ACID, significa:

    * A - Atomicidade
    * C - Consistência
    * I - Isolamento
    * D - Durabilidade

    Atomicidade

    Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Exemplos:

    * Ou todo o trabalho é feito, ou nada é feito.
    * Em uma transferência de valores entre contas bancárias, é necessário que, da conta origem seja retirado um valor X e na conta destino seja somado o mesmo valor X. As duas operações devem ser completadas sem que quaisquer erro aconteça, caso contrário todas as alterações feitas nessa operação de transferência devem ser desfeitas;

    Consistência

    Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.

    Isolamento

    Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários.

    Ex: Duas transações executadas juntas.

    Transação Y altera o nome do cliente.
    Transação X altera o nome do mesmo cliente;

    Ao fazer insert, update ou delete enquanto a transação estiver em andamento todos os dados da tabela serão alocados para aquela transação, portanto a transação X só poderá ser executada após a conclusão da transação Y. Esta escolha é feita pelo banco de dados e ele executa primeiro uma transação depois a outra.

    Uma transação só pode ser simultânea se elas não alterarem os mesmos dados.

    Durabilidade

    Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.
  • O que é execução entrelaçada???
  • Execução entrelaçada é a execução de comandos de duas ou mais transações concorrentemente. Ou seja, executar o comando da transação T1, depois da transação T2, depois voltar para T1, executar mais um comando de T1 e assim sucessivamente. Porém, devemos lembrar que essas transações devem ser serializáveis, ou seja, independente da ordem que T1 e T2 forem executadas, o resultado deve ser o mesmo que se elas tivessem sido executadas de forma serial.
  • Vamos aos erros presentes nas demais alternativas.

    Letra b:Um escalonamento é a ordem de execução de várias transações de forma concorrente, mas nunca entrelaçada.

    Errado, existem escalonamentos podem ser seriais e não-seriais.  Os seriais são aqueles em que as operações de cada transação são executadas consecutivamente, sem intercalação das operações de outra transação. Enquanto que, os planos não seriais são o oposto destes. Além disso, dentro dos não-seriais temos os  serializáveis, categoria que engloba as transações de forma concorrente entrelaçadas.

    NOTA: O conceito de serialidade de planos é usado para identificar quais planos são corretos quando há intercalação das operações das transações na execução dos planos.

    Letra C: Integridade não é uma das propriedades constantes na sigla ACID

    Letra D: 
    Mesmo após a execução de um comando commit, é possível a uma transação retornar a seu estado inicial com a utilização de rollback. Errado, após o commit não é possível dá o rollback das transações.

    Letra E: A partir do nivel de isolamento read commit já possuimos a garantia citada, portanto a questão esta errada

  • A letra A deve estar com erro de digitação, ainda não consegui entender o que está escrito. As demais estão erradas, acertei sem confiança