9_Transaäes_Concorrencia_V1.1
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Bases de Dados
Transações e concorrência
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Transações
Noção fundamental de um SGBD.
Uma transação é uma unidade de trabalho que consiste na execução de um conjunto de operações sobre a base de dados.
Estas operações ou são todas executadas com sucesso, ou são todas anuladas, ficando a base de dados no estado anterior ao
início da transação.
Controlo de transações (commit, rollback, savepoint).
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Bases de Dados
Transações
As transações devem possuir um conjunto de propriedades, que devem ser asseguradas pelos mecanismos de
controlo da concorrência e da recuperação dos SGBD.
Este conjunto de propriedades costuma designar-se por ACID.
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Propriedades ACID
Uma transação deve respeitar as seguintes caraterísticas:
Atomicidade – uma transação pode ser composta por várias operações, mas o seu resultado deve ser tudo ou nada, ou seja,
uma transação é atómica. O utilizador deve ser sempre informado do resultado da sua execução: sucesso ou insucesso.
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Propriedades ACID
Consistência – uma transação que termine de forma normal garante que a BD fica num estado consistente. Assegura que a
transação leva a BD de um estado consistente a outro estado consistente.
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Propriedades ACID
Isolamento – quaisquer operações dentro de uma transação não são afetadas por operações de outras transações a decorrer
concorrencialmente. Do ponto de vista da transação, a BD está disponível apenas para si.
Durabilidade – após uma transação terminar e confirmar os seus resultados na BD, o SGBD deve garantir que esses dados são persistentes. A
durabilidade destes deve ser garantida mesmo na presença de falhas que ocorram após o fim da transação.
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Imagem : https://inquisitivesingh.wordpress.com/database/, visto em 20200312
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
Bases de Dados
Mecanismos de Locking
Um lock é uma variável associada a um registo na BD que, de acordo com o seu valor em cada momento, vai permitir ou
impedir ser acedido.
Um elemento da base de dados pode ter um de três estados:
lock para leitura;
lock para escrita;
unlocked.
A cada lock de leitura é necessário associar um valor que traduza o número de transações que, em cada momento, mantêm
esse tipo de lock.
O valor vai sendo decrementado à medida que as transações vão libertando o elemento de dados.
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Bases de Dados
"Oracle Database Transactions and Locking Revealed" Thomas Kyte, Darl Kuhn
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget
Demo
Bases de Dados
User 1 User 2
update emp set ename='WILSON' where empno=7369;
select * from emp;
select * from emp;
update emp set ename='WILSON' where empno=7369;
"Oracle Database Transactions and Locking Revealed" Thomas Kyte, Darl Kuhn
Wilson Lucas ® 2020 - Escola Superior de Tecnologia e Gestão Jean Piaget