Banco de Dados II - Unimep/Pronatec - Aula 11

Preview:

Citation preview

Unimep/Pronatec

3° Semestre

AULA 11

- Prof. André Bertoletti -

apbertolet@unimep.br

Banco de Dados II

Agenda de hoje

Transações de Banco de Dados

Transação de BD:

“tudo ou nada”

Permite manipular diversas

tabelas e/ou comandos ao

mesmo tempo, garantido a

integridade de que todo o

serviço será executado por

completo;

Fluxograma de uma transação

Inicia a transação

Grava toda a transação

(COMMIT)

Desfaz toda a transação

(ROLLBACK)

Conseguiu

executar tudo

sem erros?

Sim Não

Executa comando 1

Executa comando 2

Executa comando N

Propriedade ACID

Atomicidade: todas as atualizações feitas

por uma transação são efetivadas no BD ou

nenhuma delas (tudo ou nada);

Consistência: ao final de uma transação o

BD continua consistente

Isolamento: a execução de uma transação

não deve sofrer interferência de outras

transações concorrentes

Durabilidade: Após o ponto de confirmação,

as atualizações dever ser persistidas no BD.

Exemplo de manipulação de diversos

comandos ao mesmo tempo

Transferir 250,00 do correntista

Jonatas Cerrado para o José da Silva

Remover 250,00 do

correntista de origem

Acrescentar 250,00

para o correntista de

destino

1

2

Exemplo de manipulação de diversas

tabelas ao mesmo tempo

Incluir um novo cliente juntamente

com os seus telefones e endereços

Incluir o cliente na

tabela principal 1

Incluir dois telefones

(residencial e celular)

na tabela de telefones 2

Incluir um endereço

(principal) na tabela de

endereços 3

Vamos treinar um pouco?!

Exercício:

Criar um script transacional

que simule a inclusão de uma nova

venda no BDLoja, prevenindo dos

erros mais comuns

Inclui um registro na tabela

Venda contendo os dados

do cliente estabelecimento 1

Inclui um registro na tabela

VendaProduto contendo os

registros do(s) produto(s)

vendido(s). Quantidade não

pode ser menor ou igual

zero

2

Baixa o estoque do(s)

produto(s) vendido(s). Não

pode ficar com estoque

negativo

3

Inclui um novo registro na

tabela de Boleto referente

ao valor total desta venda 4

Scripts completos utilizados nesta aula

disponíveis na URL abaixo:

https://github.com/apbertoletti/Pronatec-BD2

Por hoje é só...

Bora estudar

e praticar!