Banco de dados
Primeira parte:
1. Explique o conceito de transação em um banco de dados e dê um exemplo onde se aplica o uso de transações.
Transação em um banco de dados é uma operação que permite a consistência de informação, onde ela só é validada quando todos os processos forem encerrados corretamente.
Um exemplo é uma transferência bancaria, onde é solicitada a operação, é consultado se tem saldo suficiente, libera o processo e conclui.
2. Explique por que as transações são executadas de forma concorrente em um banco de dados e não uma após a outra.
As transações são executadas de forma concorrente para permitir o acesso de vários aplicativos e manipulem os mesmos dados.
3. Explique como são executadas as operações “ler_item” e “escrever_item” em um banco de dados.
Ler_item:
É encontrado o endereço do bloco de disco que contém o item;
Posteriormente é copiado esse bloco de disco para um buffer na memória principal; por ultimo é copiado o item do buffer para a variável de programa. Escrever_item:
É encontrado o endereço do bloco de disco que contém o item; é copiado esse bloco de disco para um buffer da memória principal; é copiado o item da variável de programa para o local correto no buffer; é armazenado o bloco atualizado do buffer de volta no disco
4. Cite e explique os estados pelos quais uma transação pode passar.
5. Cite um exemplo de atomicidade, consistência, isolamento e durabilidade.
Segunda parte:
1. Crie uma transação que executa uma leitura de dados e uma atualização de dados.
2. Crie uma transação que executa uma inserção de dados, porém executa um roolback ao final.
3. Crie uma transação que utilize um savepoint e um roolback para o mesmo.
4. Crie uma transação que utilize LOCK em uma tabela.