SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
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?
SimNã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
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)
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
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
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 venda4
Scripts completos utilizados nesta aula
disponíveis na URL abaixo:
https://github.com/apbertoletti/Pronatec-BD2
Por hoje é só...
Bora estudar
e praticar!

Contenu connexe

En vedette

En vedette (9)

Banco de Dados II - Unimep/Pronatec - Aula 3
Banco de Dados II - Unimep/Pronatec - Aula 3Banco de Dados II - Unimep/Pronatec - Aula 3
Banco de Dados II - Unimep/Pronatec - Aula 3
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10
 
Banco de Dados II - Unimep/Pronatec - Aula 2
Banco de Dados II - Unimep/Pronatec - Aula 2Banco de Dados II - Unimep/Pronatec - Aula 2
Banco de Dados II - Unimep/Pronatec - Aula 2
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9
 
Política nas mídias sociais
Política nas mídias sociaisPolítica nas mídias sociais
Política nas mídias sociais
 

Similaire à Banco de Dados II - Unimep/Pronatec - Aula 11 (6)

06 it-curso gxxbr
06 it-curso gxxbr06 it-curso gxxbr
06 it-curso gxxbr
 
SQL Server 2014 New Feature - Delayed Transaction Durability
SQL Server 2014 New Feature - Delayed Transaction DurabilitySQL Server 2014 New Feature - Delayed Transaction Durability
SQL Server 2014 New Feature - Delayed Transaction Durability
 
J530 12 transactions
J530 12 transactionsJ530 12 transactions
J530 12 transactions
 
Transações distribuídas
Transações distribuídasTransações distribuídas
Transações distribuídas
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Control-M 6.4 Infrastructure
Control-M 6.4 InfrastructureControl-M 6.4 Infrastructure
Control-M 6.4 Infrastructure
 

Plus de André Phillip Bertoletti

Plus de André Phillip Bertoletti (20)

Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Comunidade Locais de TI
Comunidade Locais de TIComunidade Locais de TI
Comunidade Locais de TI
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
The clean coder
The clean coder The clean coder
The clean coder
 
Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedor
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1
 
Engenharia de Software - Unimep/Pronatec - Aula 18
Engenharia de Software - Unimep/Pronatec - Aula 18Engenharia de Software - Unimep/Pronatec - Aula 18
Engenharia de Software - Unimep/Pronatec - Aula 18
 
Engenharia de Software - Unimep/Pronatec - Aula 17
Engenharia de Software - Unimep/Pronatec - Aula 17Engenharia de Software - Unimep/Pronatec - Aula 17
Engenharia de Software - Unimep/Pronatec - Aula 17
 
Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16
 
Engenharia de Software - Unimep/Pronatec - Aula 15
Engenharia de Software - Unimep/Pronatec - Aula 15Engenharia de Software - Unimep/Pronatec - Aula 15
Engenharia de Software - Unimep/Pronatec - Aula 15
 
Engenharia de Software - Unimep/Pronatec - Aula 14
Engenharia de Software - Unimep/Pronatec - Aula 14Engenharia de Software - Unimep/Pronatec - Aula 14
Engenharia de Software - Unimep/Pronatec - Aula 14
 
Engenharia de Software - Unimep/Pronatec - Aula 8
Engenharia de Software - Unimep/Pronatec - Aula 8Engenharia de Software - Unimep/Pronatec - Aula 8
Engenharia de Software - Unimep/Pronatec - Aula 8
 
Engenharia de Software - Unimep/Pronatec - Aula 7
Engenharia de Software - Unimep/Pronatec - Aula 7Engenharia de Software - Unimep/Pronatec - Aula 7
Engenharia de Software - Unimep/Pronatec - Aula 7
 

Banco de Dados II - Unimep/Pronatec - Aula 11

  • 1. Unimep/Pronatec 3° Semestre AULA 11 - Prof. André Bertoletti - apbertolet@unimep.br Banco de Dados II
  • 2. Agenda de hoje  Transações de Banco de Dados
  • 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. 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. 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. 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. 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. 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. 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. Vamos treinar um pouco?!
  • 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. Scripts completos utilizados nesta aula disponíveis na URL abaixo: https://github.com/apbertoletti/Pronatec-BD2
  • 13. Por hoje é só... Bora estudar e praticar!