+ All Categories
Home > Documents > UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves [email protected] 1.

UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves [email protected] 1.

Date post: 18-Apr-2015
Category:
Upload: internet
View: 116 times
Download: 5 times
Share this document with a friend
Popular Tags:
30
UNDB BANCO DE DADOS II Prof. Alessandro Gonçalves [email protected] 1
Transcript

UNDB

BANCO DE DADOS II

Prof. Alessandro Gonç[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…

Commit10

Transação

A - Atomicidade

C - Consistência

I - Isolamento

D - Durabilidade

11

Estados da Transação

12

AtivaAtiva

Parcialmente confirmada

Parcialmente confirmada

FalhaFalha AbortadaAbortada

ConfirmadaConfirmada

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

14

1) Uma transação ativa por vez

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

Cópia de sombra

15

DBPointer

Banco de dados

TRANSAÇÃO

DBPointer

Banco de dados antigo Nova cópia do BD

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

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

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

Cópia de sombra – vantagens/desvantagens

19

Simples de implantar

Lento

Não permite simultaneidade

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

20

Geram problemas ?

Por que usar ?

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

21

Melhor throughput e utilização de recursos

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

22

Tempo de espera reduzido

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.1A := A – temp;Write (A);Read (B);B := B + temp;Write (B);

T2

Execuções simultâneas

24

T1

read(A);A := A -50;Write (A);Read (B);B := B + 50;Write (B);

T2read(A);Temp := A*0.1A := A – temp;Write (A);Read (B);B := B + temp;Write (B);

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.1A := A – temp;Write (A);Read (B);B := B + temp;Write (B);

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.1A := A – temp;Write (A);

Read (B);B := B + temp;Write (B);

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.1A := A – temp;Write (A);Read (B);

B := B + temp;Write (B);

Seriação

28

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

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ç[email protected]

30


Recommended