A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves 1.

Apresentações semelhantes


Apresentação em tema: "UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves 1."— Transcrição da apresentação:

1 UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves 1

2 2

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

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

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

6 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

7 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

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

9 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 ?

10 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

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

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

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

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

15 Cópia de sombra 15 DBPointer Banco de dados TRANSAÇÃOTRANSAÇÃO DBPointer Banco de dados antigo Nova cópia do BD

16 Cópia de sombra - algoritmo 16 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

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

18 Cópia de sombra – exemplo 18 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

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

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

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

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

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

24 Execuções simultâneas 24 T1 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);

25 Execuções simultâneas 25 T1 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 Execuções simultâneas 26 T1 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 Execuções simultâneas 27 T1 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);

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

29 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

30 UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves 30


Carregar ppt "UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves 1."

Apresentações semelhantes


Anúncios Google