Banco de Dados II - Unimep/Pronatec - Aula 11

239 visualizações

Publicada em

Décima primeira aula de Banco de Dados II realizada para o terceiro semestre do Curso de Técnico em Informática para Internet (Pronatec/UNIMEP)

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Banco de Dados II - Unimep/Pronatec - Aula 11

  1. 1. Unimep/Pronatec 3° Semestre AULA 11 - Prof. André Bertoletti - apbertolet@unimep.br Banco de Dados II
  2. 2. Agenda de hoje  Transações de Banco de Dados
  3. 3. 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;
  4. 4. 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? SimNão Executa comando 1 Executa comando 2 Executa comando N
  5. 5. 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.
  6. 6. 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
  7. 7. Resolução do exemplo anterior https://github.com/apbertoletti/Pronatec- BD2/blob/master/BDBanco/S03%20-%20BDBanco%20- %20Exemplos%20de%20comando.sql Script completo (aula 11)
  8. 8. 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 principal1 Incluir dois telefones (residencial e celular) na tabela de telefones2 Incluir um endereço (principal) na tabela de endereços 3
  9. 9. Resolução do exemplo anterior Script completo (aula 11) https://github.com/apbertoletti/Pronatec- BD2/blob/master/BDLoja/S03%20-%20BDLoja%20- %20Exemplos%20comandos.sql
  10. 10. Vamos treinar um pouco?!
  11. 11. 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 venda4
  12. 12. Scripts completos utilizados nesta aula disponíveis na URL abaixo: https://github.com/apbertoletti/Pronatec-BD2
  13. 13. Por hoje é só... Bora estudar e praticar!

×