19.09.2020 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!