Prof. Alessandro Gonçalves

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Introdução Gdes. bancos de dados: Concorrência: Transação:
Controle de Concorrência Serializabilidade
Banco de Dados I Aula 20.
01/08/2011 Professor Leomir J. Borba- –
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados SQL TRIGGERS (Gatilhos)
Sistemas de Informação Redes de Computadores
© Marcelo Bezerra de AlcântaraBanco de Dados II – Controle de Concorrência - 1 Disciplina Banco de Dados II Introdução ao Controle de Concorrência Msc,
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.
Maurício Edgar Stivanello
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Transações Atômicas Distribuídas
Sistema Gerenciador de Banco de Dados SGBD
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Restrições de Integridade
Restrições de Integridade
Sumário 1 SQL Embutida 2 Processamento de Consultas
Arquivos Seqüenciais Inhaúma Neves Ferraz
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Controle de Concorrência em Sistemas Distribuídos
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Estruturas de Controle
Auditoria de Segurança da Informação
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Bancos de Dados – SQL – parte 1
RECUPERAÇÃO APÓS FALHA
Classes e objetos P. O. O. Prof. Grace.
Provas de Concursos Anteriores
Banco de dados Profª Kelly Medeiros.
Monitoria GDI Aula Prática
Você Usa Perfumes?. Você Usa Perfumes? CONVIDE SEUS AMIGOS PARA PARTICIPAR!!!
Python Persistência de Dados
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Gerenciamento de Transações - Introdução
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Banco de Dados II Prof. Antônio Cordeiro.
Vânia Maria Ponte Vidal
Salas de Matemática.
Tipos de Linguagens do Banco de Dados
Ordenação Externa de Arquivos – Um exemplo
Inserir crédito para cliente
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Análise e Projeto de Sistemas
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
Controle Distribuído da Concorrência
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Desenvolvendo um script SQL
Exercícios SGBD - CESPE
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Controle de concorrência
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Banco de dados.
Diagramas de Venn e de Carroll Não se chamam propriamente ferramentas/instrumentos estatísticos mas ajudam a organizar de uma forma simples alguns tipos.
Rio Verde - Goiás - Brasil
Linguagem de Definição de Dados
Financeiro – Contas a Receber
GINÁSTICA LABORAL UM NOVO CAMINHO.
Contagem Sequencial do Estoque
DELETE, UPDATE, COMMIT, ROLLBACK
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Introdução a Banco de Dados
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Transcrição da apresentação:

Prof. Alessandro Gonçalves UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves Alessandro.inovacao@gmail.com 1 1 1

2 2

Integridade x confiabilidade Update tbContas set SALDO = 1000 where Cliente = 1; Select SALDO from tbContas where Cliente = 1; Resultado: Saldo 1000.00 3 3 3

Integridade x confiabilidade Integridade física (hardware) Integridade de regra de negócios Integridade relacional 4 4 4

Integridade x confiabilidade Integridade física (hardware) - Problemas de disco, memória, portas, cabos… 5 5 5

Integridade x confiabilidade Integridade de negócio Create table tbprofessor (Codprofessor integer, Nomeprofessor varchar(50) not null, Apelido varchar(50) unique, Sexo varchar(1) check (‘M’,’F’), Primarykey Codprofessor); 6 6 6

Integridade x confiabilidade Integridade relacional Create table tbdisciplinas (Coddisciplina integer, Nomedisciplina varchar(50) not null, Codprofessor integer not null, Primary key coddisciplina, Foreign key (coddprofessor) references tbprofessor.codprofessor on delete restrict on update cascade 7 7 7

Integridade x confiabilidade O operador queria lançar um novo SALDO DE R$ 1.000,00 8 8 8

Transação ? O problema da conta bancária Select Saldo from tbContas where Cliente = 1 Update tbContas set Saldo = Saldo – 50 where Cliente = 1 Select Saldo from tbContas where Cliente = 2 Update tbConta set Saldo = Saldo + 50 where Cliente = 2 ? 9 9 9

Transação Coleção de operações, executado como uma só operação Executa tudo ou nada Begin transaction Comando 1 Comando 2… Commit 10 10 10

Transação A - Atomicidade C - Consistência I - Isolamento D - Durabilidade 11 11 11

Parcialmente confirmada Estados da Transação Parcialmente confirmada Confirmada Ativa Abortada Falha 12 12 12

Implantação de atomicidade e durabilidade Visando garantir a consistência do banco de dados Técnica Cópia de sombra 13 13 13

Cópia de sombra - pressupostos 1) Uma transação ativa por vez 2) Banco de dados está gravado em um único arquivo 14 14 14

Cópia de sombra DBPointer T R A N S Ç Ã O DBPointer Banco de dados antigo Nova cópia do BD 15 15 15

Cópia de sombra - algoritmo 1) Recebe pedido de transação 2) Copia todo o banco de dados para um novo BD 3) Deixa a cópia de sombra intocável 4) Se a transação for concluída, aguarda confirmação do S.O. de que todas as páginas foram gravadas ok. 5) Depois que o S.O. Confirma, o db pointer aponta para a nova cópia 6) Cópia antiga é excluída 16 16 16

Cópia de sombra – falha de transação/sistema O que fazer ? Desprezar a nova cópia do banco Continuar apontando o DB Pointer para o antigo 17 17 17

Cópia de sombra – exemplo Editor de texto 1) Cria um novo arquivo temporário 2) Executa as alterações neste arquivo 3) Ao gravar, renomeia o arquivo temporário->real 3.1) Apaga o arquivo antigo 18 18 18

Cópia de sombra – vantagens/desvantagens Simples de implantar Lento Não permite simultaneidade 19 19 19

Execuções simultâneas de transações Geram problemas ? Por que usar ? 20 20 20

Execuções simultâneas de transações Melhor throughput e utilização de recursos 21 21 21

Execuções simultâneas de transações Tempo de espera reduzido 22 22 22

Execuções simultâneas de transações Esquemas de controle de concorrência T1 T2 read(A); A := A -50; Write (A); Read (B); B := B + 50; Write (B); read(A); Temp := A*0.1 A := A – temp; Write (A); Read (B); B := B + temp; Write (B); 23 23 23

Execuções simultâneas read(A); A := A -50; Write (A); Read (B); B := B + 50; Write (B); T2 read(A); Temp := A*0.1 A := A – temp; Write (A); Read (B); B := B + temp; Write (B); 24 24 24

Execuções simultâneas read(A); Temp := A*0.1 A := A – temp; Write (A); Read (B); B := B + temp; Write (B); T1 read(A); A := A -50; Write (A); Read (B); B := B + 50; Write (B); 25 25 25

Execuções simultâneas read(A); A := A -50; Write (A); Read (B); B := B + 50; Write (B); T2 read(A); temp := A*0.1 A := A – temp; Write (A); Read (B); B := B + temp; Write (B); 26 26 26

Execuções simultâneas read(A); A := A -50; Write (A); Read (B); B := B + 50; Write (B); T2 read(A); temp := A*0.1 A := A – temp; Write (A); Read (B); B := B + temp; Write (B); 27 27 27

Seriação Como garantir a ordem correta de execução nos schedules ? 28

RESUMO Cópia de sombra – atomicidade/durabilidade Vantagens e desvantagens Execuções simultâneas de transações Melhor utilização de recursos O problema do schedule 29 29 29

Prof. Alessandro Gonçalves UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves Alessandro.inovacao@gmail.com 30 30 30