Banco de dados ii - exercícios
514 palavras
3 páginas
Banco de Dados II - Atividade 01 – 07/08/2012 1) liste as propriedades ACID. Explique a utilidade de cada uma delas. Atomicidade (indivisível): ou todas as operações da transação são refletidas corretamente no banco de dados, ou nenhuma é; Consistência: a execução de uma transação isolada preserva a consistência do banco de dados; Isolamento: embora várias transações possam ser executadas simultaneamente, cada transação precisa estar desinformada das outras transações que estão sendo executadas ao mesmo tempo. Os resultados da transação intermediária precisam estar ocultos das demais em execução simultânea; Durabilidade: depois de uma transação completa com sucesso as mudanças que ela fez ao banco de dados persistem. Mesmo se o sistema apresentar falhas. 2) Durante uma execução, uma transação passa por vários estados, durante até que finalmente confirme ou aborte. Liste todas as sequencias de estados possíveis por meio dos quais uma transação pode passar. Ativa: o estado inicial; a transação permanece nesse estado enquanto esta executando; Parcialmente confirmada: depois que a instrução final foi executada; Falha: depois da descoberta de que a execução normal não pode mais prosseguir; Abortada: depois que a transação foi revertida e banco de dados for restaurado do seu estado anterior ao início da transação. Duas opções podem acontecer: o Reiniciar a transação; se não houver erro lógico interno; o Excluir a transação Confirmada: após o termino bem sucedido.
Parcialmente confirmada
Confirmada
Ativa
Falha
Abortada
3) considere as duas transações a seguir. T1: read(a); read(b); if A = 0 then B:= A+1; write(b). read(b); Read(a); If b = 0, then A:=A+1;
T2:
Write(a). Considere A = b = 0. a) Mostre que cada execução serial envolvendo duas transações preserva a consistência do banco de dados. T1 read(a); // a = 0 read(b); // b = 0 if a = 0 then b:= a+1; // a= 0; b = 1 write(b). // a = 0; b=1 read(b); // b = 1 read(a); // a = 0 If