UNDB
Download
1 / 30

UNDB - PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on

UNDB. BANCO DE DADOS II Prof. Alessandro Gonçalves [email protected] 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.

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

PowerPoint Slideshow about ' UNDB' - omana


An Image/Link below is provided (as is) to download presentation

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

BANCO DE DADOS II

Prof. Alessandro Gonçalves

[email protected]

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


Integridade x confiabilidade

Integridade física (hardware)

Integridade de regra de negócios

Integridade relacional

4


Integridade x confiabilidade

Integridade física (hardware)

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

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


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


Integridade x confiabilidade

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

Executa tudo ou nada

Begin transaction

Comando 1

Comando 2…

Commit

10


Transação

A - Atomicidade

C - Consistência

I - Isolamento

D - Durabilidade

11


Estados da Transação

Parcialmente confirmada

Confirmada

Ativa

Abortada

Falha

12


Implantação de atomicidadee durabilidade

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

2) Banco de dados está gravado em um único arquivo

14


Cópia de sombra

DBPointer

T

R

A

N

S

A

Ç

Ã

O

DBPointer

Banco de dados

Banco de dados

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

Não permite simultaneidade

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

Tempo de espera reduzido

22


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

Esquemas de controle de concorrência

T1

T2

read(A);

Temp := A*0.1

A := A – temp;

Write (A);

Read (B);

B := B + temp;

Write (B);

read(A);

A := A -50;

Write (A);

Read (B);

B := B + 50;

Write (B);

23


Execuções simultâneas

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);

24


Execuções simultâneas

T2

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


Execuções simultâneas

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

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


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


UNDB

BANCO DE DADOS II

Prof. Alessandro Gonçalves

[email protected]

30