UNDB

1 / 30

# UNDB - PowerPoint PPT Presentation

UNDB. BANCO DE DADOS II Prof. Alessandro Gonçalves Alessandro.inovacao@gmail.com. 1. 2. Integridade x confiabilidade. Update tbContas set SALDO = 1000 where Cliente = 1; Select SALDO from tbContas where Cliente = 1; Resultado: Saldo 1000.00. 3.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'UNDB' - omana

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

UNDB

Prof. Alessandro Gonçalves

Alessandro.inovacao@gmail.com

1

Update tbContas set SALDO = 1000 where Cliente = 1;

Select SALDO from tbContas where Cliente = 1;

Saldo

1000.00

3

4

- Problemas de disco, memória, portas, cabos…

5

Create table tbprofessor

(Codprofessor integer,

Nomeprofessor varchar(50) not null,

Apelido varchar(50) unique,

Sexo varchar(1) check (‘M’,’F’),

Primarykey Codprofessor);

6

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

7

O operador queria lançar um novo SALDO DE R\$ 1.000,00

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

Transação

Coleção de operações, executado como uma só operação

Begin transaction

Comando 1

Comando 2…

Commit

10

Transação

C - Consistência

I - Isolamento

11

Ativa

Falha

12

Visando garantir a consistência do banco de dados

Técnica Cópia de sombra

13

Cópia de sombra - pressupostos

1) Uma transação ativa por vez

14

Cópia de sombra

DBPointer

T

R

A

N

S

A

Ç

Ã

O

DBPointer

antigo

Nova cópia do BD

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

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

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

Cópia de sombra – vantagens/desvantagens

Simples de implantar

Lento

19

Execuções simultâneas de transações

Geram problemas ?

Por que usar ?

20

Execuções simultâneas de transações

Melhor throughput e utilização de recursos

21

Execuções simultâneas de transações

Esquemas de controle de concorrência

T1

T2

Temp := A*0.1

A := A – temp;

Write (A);

B := B + temp;

Write (B);

A := A -50;

Write (A);

B := B + 50;

Write (B);

23

Execuções simultâneas

T1

A := A -50;

Write (A);

B := B + 50;

Write (B);

T2

Temp := A*0.1

A := A – temp;

Write (A);

B := B + temp;

Write (B);

24

Execuções simultâneas

T2

Temp := A*0.1

A := A – temp;

Write (A);

B := B + temp;

Write (B);

T1

A := A -50;

Write (A);

B := B + 50;

Write (B);

25

Execuções simultâneas

T1

A := A -50;

Write (A);

B := B + 50;

Write (B);

T2

temp := A*0.1

A := A – temp;

Write (A);

B := B + temp;

Write (B);

26

Execuções simultâneas

T1

A := A -50;

Write (A);

B := B + 50;

Write (B);

T2

temp := A*0.1

A := A – temp;

Write (A);

B := B + temp;

Write (B);

27

Seriação

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

28

RESUMO

Vantagens e desvantagens

Execuções simultâneas de transações

Melhor utilização de recursos

O problema do schedule

29

UNDB