• Nenhum resultado encontrado

Aula10 Administração BD

N/A
N/A
Protected

Academic year: 2019

Share "Aula10 Administração BD"

Copied!
28
0
0

Texto

(1)

Tecnologia em Análise e Desenvolvimento de

Sistemas

Administração de Banco de Dados

(2)

Exercícios

1) O problema caracterizado pelo quadro ao lado, onde a

coluna Tempo indica a sequência de execução das

operações das transações concorrentes T1 e T2, é

conhecido como

(A)atualização perdida

(B)atualização temporária

(C)leitura não repetível

(D)leitura suja

(3)

Exercícios

2)

Suponha duas transações T1 e T2:

BEGIN TRANSACTION

T1

UPDATE

Banco

SET

Saldo = ((

SELECT

Saldo

FROM

Banco

WHERE

Conta =

10)

100)

WHERE

Conta = 10

UPDATE

Banco

(4)

Exercícios

2)

Suponha duas transações T1 e T2:

BEGIN TRANSACTION

T2

UPDATE

Banco

SET

Saldo = ((

SELECT

Saldo

FROM

Banco

WHERE

Conta =

20)

200)

WHERE

Conta = 20

UPDATE

Banco

SET

Saldo = ((

SELECT

Saldo

FROM

Banco

WHERE

Conta =

30) + 200)

(5)

Comandos Avançados para Controle

de Transação

SAVEPOINT <identifier>

Define um ponto de chamada dentro de um

(6)

Comandos Avançados para Controle

de Transação

SAVEPOINT <identifier> - Exemplo

START TRANSACTION

;

comandos SQL…

SAVEPOINT

Tabela_cliente;

comandos SQL…

(7)

Comandos Avançados para Controle

de Transação

ROLLBACK TO SAVEPOINT <identifier>

Desfaz todas as instruções SQL que foram

realizadas após o ponto de chamada informado;

(8)

Comandos Avançados para Controle

de Transação

ROLLBACK TO SAVEPOINT <identifier> - Exemplo

START TRANSACTION

;

comandos SQL…

SAVEPOINT

Tabela_cliente;

comandos SQL…

ROLLBACK TO SAVEPOINT

Tabela_cliente;

comandos SQL…

(9)

Comandos Avançados para Controle

de Transação

RELEASE SAVEPOINT <identifier>

Libera um ponto de chamada previamente

definido.

(10)

Comandos Avan

çados para Controle de Transação

RELEASE SAVEPOINT <identifier> - Exemplo

START TRANSACTION

;

comandos SQL…

SAVEPOINT

Tabela_cliente;

comandos SQL…

ROLLBACK TO SAVEPOINT

Tabela_cliente;

RELEASE SAVEPOINT

Tabela_cliente;

comandos SQL…

(11)

Comandos Avançados para Controle

de Transação

RELEASE SAVEPOINT <identifier> - Exemplo

O

RELEASE SAVEPOINT

serve para

liberar o

identificador

do

SAVEPOINT

para ser utilizado

novamente dentro da mesma transação;

Os comandos

COMMIT

e

ROLLBACK

liberam da

memória

todos os

SAVEPOINT

que foram

(12)

Transações no MySQL

Se tratando do MySQL, apenas o InnoDB

(13)

Transações no MySQL

Instruções de Controle SQL de uma transação:

Start Transaction

(ou

BEGIN

)

Inicia explicitamente uma nova transação,

mantendo ela aberta até que seja fechada

(14)

Transações no MySQL

Instruções de Controle SQL de uma transação:

SavePoint

Um ponto delimitado na transação, que oferece a

possibilidade de um

rollback

de qualquer comando

executado após este ponto salvo.

Cuidado

Ao efetuar um novo

savepoint

com o mesmo nome, o antigo

(15)

Transações no MySQL

Instruções de Controle SQL de uma transação:

Rollback to savepoint

Efetua o rollback da transação até o ponto criado.

Este ponto continuará a existir mesmo após o

rollback, permitindo que ele seja reutilizado.

Rollback

Cancela todas as alterações efetuadas na

transação.

Commit

(16)

Transações no MySQL

START TRANSACTION

;

SELECT

@Total:=

SUM

(salario)

FROM

funcionarios

WHERE

type=1;

UPDATE

Folha_pagamento

SET

Valor_FP=@Total

WHERE

type=1;

(17)

Transações no MySQL

AUTOCOMMIT

É ativado por padrão, logo o MySQL confirma

implicitamente cada instrução como uma

transação;

Uma vez desativado, será possível manusear

cada transação, porém fica a critério do

DBA/DEV;

Para desativar o autocommit:

(18)

Transações no MySQL

AUTOCOMMIT

Para verificar a configuração através do select:

select @@autocommit;

A partir da versão 5.5.8 do MySQL, é possível definir o

autocommit = 0 de forma global na seção do

[mysqld] no seu arquivo de configuração (default

(19)

Exercícios

3)

Cada comando SQL é tratado como uma

transação isolada pelos SGBDs.

(C) Certo

(20)

Exercícios

4)

Se uma transação for executada de maneira

serializável, poderá ocorrer de uma transação

ler novamente dados lidos anteriormente e

descobrir que eles foram alterados por outra

transação.

(C) Certo

(21)

Recuperação de falhas

Responsabilidade do SGBD

Todas as operações de uma transação se

completem com sucesso e seu efeito seja

registrado permanentemente no BD; ou

A transação não tenha absolutamente nenhum

(22)

Recuperação de falhas

O SGBD não deve permitir que algumas

operações de uma transação T sejam

aplicadas ao banco de dados enquanto outras

operações de T não sejam.

Isso pode acontecer quando uma transação

(23)

Recuperação de falhas

Os tipos de falhas possíveis são:

falha no computador;

erro de transação ou de sistema;

condições de exceção detectadas

pela transação;

imposição do controle de

concorrência;

falha no disco;

problemas físicos e catástrofes.

O sistema deve

manter

informações

suficientes para se

recuperar da

(24)

Recuperação de falhas

Para manter a consistência do banco de

dados, o gerenciador de recuperação mantém

o registro das operações:

BEGIN_TRANSACTION:

marca o início da transação.

READ ou WRITE:

lê ou grava um item no banco de dados.

END_TRANSACTION:

(25)

Recuperação de falhas

Para manter a consistência do banco de dados, o

gerenciador de recuperação mantém o registro das

operações:

COMMIT_TRANSACTION:

sinaliza o final bem-sucedido da transação, de modo

que quaisquer alterações executadas pela transação

possam ser seguramente confirmadas (

committed

)

para o banco de dados e não serem desfeitas.

ROLLBACK (ou ABORT):

sinaliza que a transação terminou sem sucesso, de

(26)

Exercícios

5) Uma transação é uma unidade atômica de

trabalho que ou estará completa ou não foi

realizada. Para propostas de restauração, o

administrador de restaurações mantém o

controle das seguintes operações:

BEGIN_TRANSACTION

:

M arca o início da execução da transação.

READ

ou

WRITE

:

(27)

Exercícios

Avalie as seguintes afirmações:

I. Especifica que as operações READ e WRITE da transação terminaram e

marca o fim da execução da transação. Entretanto, nesse ponto é necessário

v erificar se as mudanças introduzidas pela transação podem ser

permanentemente aplicadas ao banco de dados (efetiv adas), ou se a

transação dev erá ser abortada porque v iola a serialização, ou por alguma

outra razão.

II. Indica término com sucesso da transação, de forma que quaisquer

alterações (atualizações) executadas poderão ser seguramente efetiv adas no

banco de dados e não serão desfeitas.

III. Indica que uma transação não terminou com sucesso, de forma que

quaisquer mudanças ou efeitos que a transação possa ter aplicado ao banco

de dados dev erão ser desfeitas.

As operações I, II e III correspondem, correta e respectiv amente, a:

(A) FINISH; ROLLBACK; COMMIT.

(28)

Contato!!!!

Referências

Documentos relacionados

manutenção mensal da ferramenta, devem então ser gerados mensalmente.  Seleção do caminho para armazenamento de relatórios

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Municiado do inicial aporte histórico-antropológico, os capítulos seguintes operarão certo desmembramento do blues em eixos que consideramos igualmente imprescindíveis pois,

A autuada deverá ser informado de que a não interposição de recurso ocasionará o trânsito em julgado, sendo o processo remetido ao Núcleo Financeiro para cobrança da multa.. O

Dessa forma, percebe-se que a implantação do sistema mesmo não atendendo a demanda de água não potável para a realização das respectivas atividades, trouxe

Biólogo, por meio de empresa, efetuou vistoria no local e emitiu laudo e orçamento para remoção da colmeia/abelhas (fls. A remoção é efetuada com metolodogia

Teofilina e efedrina passam para o leite materno; por esta razão o FRANOL não deve ser administrado a mulheres que estejam amamentando.. Populações especiais