Transações banco de dados
Curso de Sistemas de Informação
Banco de Dados II
LISTA DE EXERCÍCIOS 01
1) O que significa a execução concorrente de transações de banco de dados em um sistema multiusuário? Discuta por que o controle de concorrência é necessário e dê exemplos informais.
A execução concorrente de transações de banco de dados permite que vários usuários acessem os dados do banco simultaneamente. O controle de concorrência é necessário para garantir que exista um isolamento das transações executadas concorrentemente. O isolamento garante que uma transação não sofre interferência de outras transações que estão sendo realizadas concorrentemente Se dois usuários, A e B, querem acessar uma mesma informação no …exibir mais conteúdo…
Podemos concluir que, a equivalência em conflito elimina todos os conflitos existentes em um escalonamento, já a equivalência em visão, mantêm-se os dados atualizados conforme as ações das transações vão ocorrendo 5) Discuta o resultado final dos diferentes schedules (escalas de execução) na figura 21.3 (a) e (b), onde M = 2 e N = 2, em relação as seguintes questões: a inclusão da condição acima muda o resultado final? O resultado obedece à regra de consistência implícita (de que a capacidade de X é 90)? A inclusão da condição acima não mudará o resultado. Haverá inconsistência, mas não para a regra da consistência implícita.
6) Adicione as instruções de bloqueios e desbloqueios as transações Ta e Tb de modo que observem o protocolo de bloqueio em duas fases. A execução dessas transações pode resultar em deadlock? Sim, a execução dessas transações pode resultar em deadlock.
7) O que é o protocolo de bloqueio em duas fases? Como ele garante a serialização?
Uma transação segue o protocolo de bloqueio em duas fases se todas as operações de bloqueio (read_lock, write_lock) precedem a primeira operação de desbloqueio na transação. Pode ser provado que, se cada transação em um Schedule seguir o protocolo de bloqueio em duas fases, o Schedule é garantidamente serializável,