do contexto de um programa e assim sobrevivem a varias invocacoes de programas.Dados persistentes normalmente consistem nos bancos de dados compartilhado, acessados e atualizados atraves de transacoes. Por exemplo, banco de dados pessoais, banco de dados de inventario e banco de dados de vendedores, contas ou itens, todos contem dados persistentes. No entanto, ha varios niveis de persistencia. Os objetos menos persistentes sao aqueles criados e destruidos em procedures. Depois, ha os objetos que persistentem dentro do espaco de trabalho de uma transacao, mas que sao invalidados quando a transacao termina. As transacoes sao normalmente executadas dentro de uma sessao. O usuario estabelece seu login e define diferentes parametros ambientais dentro de um sessao, como caminhos, opcoes de exibicao, janelas, etc. Se o sistema suportar o multiprocessamento, varias transacoes poderao estar ativas dentro da mesma sessao de usuario ao mesmo tempo. Todas estas transacoes compartilharao os objetos da sessao. No entanto, quando o usuario terminar a sessao, os objetos da sessao serao invalidados. O unico tipo de objeto que persiste atraves das transacoes sao objetos permanentes normalmente compartilhados por varios usuarios. Esses objetos persistem atraves de transacoes, instabilizacoes de sistema e ate de meio. Tecnicamente, esses sao os objetos recuperaveis do banco de dados.5.0 Transacoes, Concorrencia, Recuperacao e Vercionamento de BDOO sTransacoesUma transacao e um programa executado inteiramente ou entao nao executado. As transacoes devem mapear bancos de dados de um estado coerente para outro. Para manter a coerencia, as transacoes devem passar pelo teste ACID: Atomicidade, coerencia, isolamento, e durabilidade.AtomicidadeComo uma transacao e executada inteiramente ou entao nao e executada, ou a sequencia completa de operacoes e aplicada ao banco de dados ou entao nenhuma. Este recurso chama-se de Atomicidade; as transacoes sao atomicas.CoerenciaDiz-se que o banco de dados e coerente se todas as suas restricoes de integridade sao satisfeitas. Pressupoe-se que na execucao de uma transacao, na ausencia de interferencia de outras transacoes concorrentes, o banco de dados seja levado de um estado coerente para outro.IsolamentoComo as transacoes sao executadas concorrentemente no mesmo banco de dados, elas devem ser isoladas das outras operacoes. Do contrario, a operacao intercalada de transacoes concorrente pode levar a anomalias. Assim, os SGBD suportam isolamento, que fornece seguranca contra interferencias entre as transacoes concorrentes.DurabilidadeA durabilidade esta relacionada a capacidade do SGBO de se recuperar de falhas no sistema e no meio. As atualizacoes de uma transacao efetivada devem devem ser preservadas e registradas em algum meio duravel. Deve-se manter redundancia suficiente para que se reconstrua um banco de dados coerente.Transacoes aninhadasAs transacoes de aplicacoes de banco de dados orientadas a objetos sao normalmente mais demoradas que as de aplicacao comerciais convencionais. Alonga duracao das transacoes em aplicacoes avancadas e uma caracteristica das aplicacoes de banco de dados da proxima geracao. Varias estrategias relacionadas a longa duracao das transacoes foram propostas na pesquisa de banco de dados. Algumas estrategias influenciaram as implementacoes de banco de dados orientado a objetos.As transacoes aninhadas sao utilizadas para resolver alguns problemas associados as transacoes de longa duracao. Um modelo de transacao aninhada pode conter subtransacoes, tambem chamadas de transacoes-filhas. Em