Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO: Análise e desenvolvimento de sistemas POLO DE APOIO PRESENCIAL: Higienópolis SEMESTRE: 3° semestre COMPONENTE CURRICULAR / TEMA: BANCO DE DADOS NOME COMPLETO DO ALUNO: MARIA BEATRIZ DA SILVA SOUZA TIA: 22516042 NOME DO PROFESSOR: ELISANGELA BOTELHO GRACIAS 1) Como você definiria uma transação? Uma transação pode ser definida como uma unidade de trabalho executada dentro de um sistema de banco de dados, que é tratada de maneira coerente e confiável independentemente de outras transações. Uma transação é uma sequência de operações de banco de dados que é tratada como uma única unidade lógica de trabalho. Essas operações são projetadas para serem todas concluídas com sucesso (commit) ou então todas descartadas (rollback) em caso de falha em qualquer uma das operações individuais. 3) Alguns problemas de concorrência podem resultar do acesso simultâneo a um banco de dados por mais de uma transação. A figura abaixo ilustra duas transações – A e B – sendo executadas simultaneamente. Qual é o problema de concorrência mostrado nesta figura? No cenário apresentado, a Transação B lê um dado no tempo t2 que foi modificado pela Transação A no tempo t1, mas ainda não foi confirmado (já que a confirmação ocorre no tempo t3). Se, por algum motivo, a Transação A for revertida (rollback) após o tempo t2, a Transação B terá lido dados que são considerados inválidos ou "sujos", pois eles nunca foram verdadeiramente confirmados no banco de dados. Isso pode levar a inconsistências e erros nos dados se a Transação B tomar decisões ou realizar alterações com base nessa leitura suja. 2) As transações possuem as seguintes propriedades: atomicidade, consistência, isolamento e durabilidade, também conhecidas pelo acrônimo ACID. Comente, com suas palavras, cada uma destas propriedades. Atomicidade: Uma transação é uma operação completa que ou é totalmente realizada ou totalmente cancelada. Consistência: A transação só altera o estado do banco de dados de uma forma que respeite suas regras, mantendo sua validade. Isolamento: Operações de uma transação não são visíveis para outras transações até que estejam concluídas, evitando interferências. Durabilidade: Após o sucesso de uma transação, suas mudanças no banco de dados são permanentes, mesmo em caso de falhas. 4) Suponha que uma transação T1 adquiriu um bloqueioX (de escrita) sobre um objeto z do banco de dados. Neste momento, outra transação T2 tenta ler o mesmo objeto z do banco de dados. A transação T2 conseguirá o bloqueioC (de leitura) sobre o objeto z? Explique sua resposta. No cenário em que a transação T1 adquiriu um bloqueioX (de escrita) no objeto z, nenhuma outra transação, incluindo T2, pode obter um bloqueioC (de leitura) ou qualquer outro tipo de bloqueio no mesmo objeto até que T1 libere seu bloqueio. Isso é fundamental para manter a propriedade de isolamento das transações. Se T2 tentasse ler o objeto z enquanto T1 detém um bloqueioX, T2 teria que esperar (ficar em estado de espera) até que T1 completasse sua operação e liberasse o bloqueio. Isso previne condições de corrida e garante a integridade dos dados.
Compartilhar