Recuperação de Falhas - Concorrência - Visões

Transcrição

Recuperação de Falhas - Concorrência - Visões
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Ciência da Computação
Disciplina : Gerência de Banco de Dados - 20 Semestre 2011
Professora : Sandra Aparecida de Amo
Lista de Exercı́cios no 5 - Recuperação de Falhas - Controle de Concorrência - Visões
1. Suponha o seguinte cenário onde as transações T1 , T2 , ..., T7 estão sendo executadas. Descreva:
(a) como estava o log antes da falha (a partir do instante t0 ) ?
(b) quais os pontos do log onde foram gravados o log e o conteúdo do buffer ?
(c) como está o log recuperado depois da falha ?
(d) que informações que estavam no log antes da falha não foram recuperadas após a
falha ?
(e) o que estava no buffer pool antes da falha e depois da falha ?
(f) que informações foram perdidas no buffer pool (não puderam ser recuperadas após a
falha) ?
(g) Que transações são desfeitas ? Descreva todo o processo. Onde e como são realizadas
as operações que desfazem as transações ?
(h) Que transações são refeitas ? Descreva todo o processo. Onde e como são realizadas
as operações que refazem todas as transações ?
checkpoint 1
t0
checkpoint 2
t1
falha
tf
t2
t1
t2
t3
t4
t5
t6
t7
Os momentos onde ocorreu o comando COMMIT
2. Considere as transações T1 , T2 , T3 operando sobre as tabelas R(A,B,C) e S(A,C). Suponha
que estas transações obedecem ao protocolo de locking a duas fases que só libera os lockings
no final da transação e que sua estrutura interna é a seguinte :
T1
T2
T3
R1 : lê tupla u = (u1 , u2 , u3 ) em R
t1 := u1 ; t1 := t1 + 1
R’1 : lê tupla v = (v1 , v2 ) em S
t2 := v1 ; t2 := t2 ∗ 2
R”1 : lê tupla u = (u1 , u2 , u3 ) em R
t3 := u2 ; t3 := t3 − 1
U1 : update tupla u em R
com o valor de t1 em u1
U’1 : update tupla v em S
com o valor de t2 em v1
U”1 : update tupla u em R
com o valor de t3 em u2
R2 : lê tupla v em S
t4 := v1 ; t1 := t1 − 1
R’2 : lê tupla u0 em R
t5 := u01 ; t5 := t5 ∗ 3
R”2 : lê tupla u0 em R
t6 := u02 ; t6 := t6 + 1
U2 : update tupla v em S
com o valor de t4 em v1
U’2 : update tupla u0 em R
com o valor de t5 em u01
U”2 : update tupla u0 em R
com o valor de t6 em u02
Descreva a execução dos seguintes schedules sobre T1 , T2 , T3 , supondo que que o protocolo
de locking a duas fases (que só libera os lockings quando a transação termina ou aborta)
está sendo utilizado. Os lockings atuam sobre as tuplas inteiras, a cada operação de leitura
ou escrita de uma tupla.
(a) R1 ;R’1 ;U1 ;R2 ;U’1 ;R’2 ;U’2 ;R”1 ;U”1 ;R”2 ;U2 ;U”2
(b) R1 ;U1 ;R”1 ;U”1 ;R’1 ;U’1 ;R2 ;R’2 ;U2 ;R”2 ;U’2 ;U”2
3. Considere o seguinte esquema de BD :
MovieStar(NOME,END,SEXO,ANIVERSARIO,SAL)
FILME(TITULO,GENERO,DIRETOR,ATOR,ANO,STUD)
STUDIO(NOME,END,PRESIDENTE)
ATOR : chave estrangeira em FILME referenciando MovieStar como NOME
DIRETOR : chave estrangeira em FILME referenciando MovieStar como NOME
STUD : chave estrangeira em FILME referenciando STUDIO como NOME
PRESIDENTE : chave estrangeira em STUDIO referenciando MovieStar como NOME
Construa as seguintes visões :
(a) Uma visão Paramount dando todos os nomes e endereços de atores que trabalharam
em filmes do estúdio Paramount.
(b) Uma visão FILME-RECENTE dando tı́tulo, gênero e ano de filmes cujo ano de
produção é superior a 1990.
4. Quais das visões acima são modificáveis ? Justifique sua resposta em cada um dos casos.
5. Traduza os seguintes comandos de modificações nas visões nos respectivos comandos de
modificações nas tabelas e diga qual a reação do sistema a cada um dos comandos :
(a) INSERT INTO FILME-RECENTE(TITULO,GENERO,ANO)
VALUES (’Psicose’,’Hitchcok,1980).
(b) INSERT INTO FILME-RECENTE(TITULO,GENERO,ANO)
VALUES (’Psicose’,’Hitchcok,1993).
(c) DELETE FROM FILME-RECENTE WHERE ANO = 1994.
(d) INSERT Paramount(NOME,END) VALUES (Kevin Kostner, Los Angeles)

Documentos relacionados