Administração e Optimização de BDs

Tamanho: px
Começar a partir da página:

Download "Administração e Optimização de BDs"

Transcrição

1 Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 3 A entregar a 7 de Maio de º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma de um relatório impresso, seguindo o template dado na página da cadeira. A entrega electrónica deve incluir o código Java com a solução da pergunta Uma instituição bancária nacional implementou um novo tipo de produto denominado conta casada que liga duas contas bancárias e permite que sejam efectuados levantamentos a descoberto desde que as soma dos saldos das contas participantes permaneça positiva. Assuma que o saldo inicial da primeira conta (conta A) é 200 euro e o da segunda (conta B) é 300 euro. Ou seja, o saldo conjunto é de 500 euro no total. Suponha que são submetidos dois pedidos de levantamento simultâneos (i.e., executados concorrentemente) de valores diferentes para as mesmas contas conjuntas, um no valor de 150 euro e outro no valor de 450. Note que em conjunto não deverá ser possível efetuar o levantamento euro. Os levantamentos são representados pelas transações T1 e T2 como se segue: T1: BEGIN TRANSACTION SELECT Saldo, Assoc INTO SaldoA, ContaB FROM Contas WHERE NumConta = A SELECT Saldo INTO SaldoB FROM Contas WHERE NumConta = ContaB IF (SaldoA + SaldoB > 150) THEN UPDATE Contas SET Saldo = Saldo WHERE NumConta = A END IF COMMIT T2: BEGIN TRANSACTION SELECT Saldo, Assoc INTO SaldoB, ContaA FROM Contas WHERE NumConta = B SELECT Saldo INTO SaldoA FROM Contas WHERE NumConta = ContaA IF (SaldoA + SaldoB > 450) THEN UPDATE Contas SET Saldo = Saldo WHERE NumConta = B END IF COMMIT Indique como podem variar os resultados e a execução da transação T1 consoante os diferentes níveis de isolamento. Tenha o cuidado de indicar problemas diferentes em cada uma das alíneas. Sugestão: Apresente para cada alínea um escalonamento em que T1 tenha um comportamento diferente consoante o nível de isolamento Diferenças entre a execução no nível de isolamento READ UNCOMMITED, face ao nível de isolamento READ COMMITED; IST/DEI Pág. 1 de 12

2 1.2. Diferenças entre a execução no nível de isolamento READ COMMITTED, face ao nível de isolamento READ COMMITTED SNAPSHOT Diferenças entre a execução no nível de isolamento READ COMMITTED SNAPSHOT, face ao nível de isolamento SERIALIZABLE 2 Considere os seguintes dois escalonamentos para transacções concorrentes. T1 T2 T3 T1 T2 T3 R(B) R(C) R(C) R(B) R(A) W(B) W(A) R(B) W(B) R(C) W(C) R(A) R(C) W(A) R(B) W(B) W(B) W(C) R(B) R(A) W(B) R(B) R(A) W(B) W(A) W(A) 2.1. Construa os grafos de precedências para os escalonamentos apresentados Os escalonamentos apresentados são conflict-serializable? Justifique a sua resposta indicando, em caso afirmativo, quais seriam os escalonamentos série correspondentes Considere as instruções envolvidas no primeiro escalonamento apresentado. Coloque as instruções de trinco apropriadas, obedecendo ao protocolo strict two-phase locking Diga o que entente por escalonamento recuperável e indique em que medida é que o protocolo de locking usado na alínea anterior garante esta propriedade Podem ocorrer deadlocks sob o resultado da alínea 2.4? Justifique a sua resposta. 3 Considere o primeiro escalonamento do Exercício 2 e considere ainda que, inicialmente, o relógio do sistema está a zero e que todos os recursos da base de dados têm um read-timestamp e um write-timestamp igual a zero. Indique quais as acções que são tomadas por um protocolo de escalonamento baseado em timestamps quando o mesmo recebe a sequência de operações para as transacções concorrentes indicada (i.e., para cada operação, indicar se a mesma é executada ou não, justificar a decisão de execução ou não, e indicar as actualizações nos valores dos timestamps). 4 Considere o segundo escalonamento do Exercício 2. Indique quais as acções que são tomadas por um protocolo de escalonamento multi-versões, baseado em timestamps, quando o mesmo recebe a sequência de operações para as transacções indicadas. IST/DEI Pág. 2 de 12

3 5 Tomando como base as classes Java disponibilizadas na página Web da cadeira, implemente o algoritmo de recuperação ARIES. As classes disponibilizadas na página da cadeira permitem-lhe simular a escrita/leitura de páginas no disco (por forma a verificar o PageLSN), as estruturas de dados onde são armazenados o registos do log de recuperação, e as estruturas de dados auxiliares necessárias à execução do algoritmo ARIES. IST/DEI Pág. 3 de 12

4 Abaixo encontram-se as resoluções para os problemas propostos no Mini-Projecto 3. Resolução do Problema 1 1. Em termos abstractos, considerando as linhas das contas A e B, representadas pelo objectos A e B respectivamente, as transações T1 e T2 pode ser descritas através das seguintes sequências de operações: T1= R 1 (A); R 1 (B); R 1 (A); W 1 (A); C 1 T2= R 2 (B); R 2 (A); R 2 (B); W 2 (B); C Diferenças entre a execução no nível de isolamento READ UNCOMMITED, face ao nível de isolamento READ COMMITED; Podem existir Dirty Reads, por exemplo. T1 R(A) = 200 R(B) = -150 Dirty Read => Lê o valor escrito por T2 antes do commit de T2 e já não entra no IF e não faz o levantamento (houve um Dirty Read que não poderia existir com isolamento READ COMMITED) Commit T2 R(B) = 300 R(A) = 200 R(A) = 300; W(B,-150) Commit 1.2. Diferenças entre a execução no nível de isolamento READ COMMITTED, face ao nível de isolamento READ COMMITTED SNAPSHOT. Podem existir Non-Repeatable Reads e Lost Updates. Um Non-repeatable read não é possível com estas transações pois teria de haver uma situação em que uma das transações re-lesse o valor entretanto committed por outra. Isto é, uma sequência com o padrão: R 1 (A); W 2 (A); C 2 ; R 1 (A). No entanto, isto não é possível porque a escrita efectuada por T2 é W 2 (B) e não existe nenhuma escrita no objecto A. Os Lost Updates simples, na forma R 1 (A); R 2 (A); W 1 (A); W 2 (A); C 1 ; C 2 ; não é possível com isolamento READ COMMITED pois o commit C 1 iria abortar a execução. A sequência R 1 (A); R 2 (A); W 1 (A); C 1 ; W 2 (A); C 2 ; causa um lost update com o nível de isolamento READ COMMITED uma vez que W 2 (A) re-escreve o valor de W 1 (A) e faz commit. A sequência R 1 (A)=20; R 2 (A)=20; W 1 (A,30); C 1 ; R 2 (A)=30; W 2 (A,40); C 2 ; é um lost update que pode ocorrer em READ COMMITED mas nunca em IST/DEI Pág. 4 de 12

5 READ COMMITED SNAPSHOT uma vez que, em READ COMMITED SNAPSHOT, o objecto A após lido pela transação T1 não seria re-lido com outro valor dentro da mesma transação Diferenças entre a execução no nível de isolamento READ COMMITTED SNAPSHOT, face ao nível de isolamento SERIALIZABLE. No nível de isolamento READ COMMITED SNAPSHOT podem ocorrer Read Skews e Write Skews que não ocorrem no nível de isolamento SERIALIZABLE. T1 T2 R(A) = 200 R(B) = 300 R(A) = 200 R(B) = 200 R(B) = 300; W(B, -150) R(A) = 200; W(A, 50) Write Skew => Mesmo com READ_COMMITED_SNAPSHOT o valor escrito por T2 e o levantamento é efectuado; T1 faz commit e o valor da conta fica a Qualquer escalonamento com isolamento SERIALIZABLE não efectua um dos levantamentos. Commit Commit Resolução do Problema 2 Pergunta 2.1 Para o primeiro escalonamento teriamos um grafo com três nós (T1, T2, T3) e com arestas de T3 -> T1 (por B), T3 -> T2 (por B,C) e T1 -> T2 (por A,B). Para o segundo escalonamento teriamos um grafo com três nós (T1, T2, T3) e com arestas de T3 -> T1 (por B), T1 -> T2 (por A), T2 -> T3 (por B,C) e T2 -> T1 (por B) Pergunta 2.2 O primeiro escalonamento é conflict-serializable, uma vez que o grafo de precedências não apresenta ciclos. Um escalonamento série equivalente seria T3 -> T1 -> T2. O segundo IST/DEI Pág. 5 de 12

6 escalonamento não é conflict-serializable, uma vez que o grafo de precedências apresenta ciclos. Pergunta 2.3 Para o primeiro caso: T1 : L-S(A), R(A), L-X(A), W(A), L-S(B), R(B), L-X(B), W(B), U(A), U(B) T2 : L-S(C), R(C), L-S(B), R(B), L-X(B), W(B), L-S(A), R(A), L-X(A), W(A), U(A), U(B), U(C) T3 : L-S(B), R(B), L-S(C), R(C), L-X(B), W(B), L-X(C), W(C), U(B), U(C) Para o segundo caso: T1 : L-S(A), R(A), L-X(A), W(A), L-S(B), R(B), L-X(B), W(B), U(A), U(B) T2 : L-S(C), R(C), L-S(B), R(B), L-X(B), W(B), L-S(A), R(A), L-X(A), W(A), U(A), U(B), U(C) T2 : L-S(B), R(B), L-S(C), R(C), L-X(B), W(B), L-X(C), W(C), U(B), U(C) Pergunta 2.4 Um escalonamento é recuperável se tivermos que as transacções apenas fazem commit depois das transacções de cujas actualizações elas dependem já tiverem feito commit. O protocolo strict-2pl (onde os locks de escrita apenas são libertados depois da transacção ter sido confirmada) garante a geração de escalonamentos recuperáveis. Com um protocolo strict-2pl, apenas conseguimos obter locks de leitura sobre objectos se os locks de escrita tiverem sido libertados, i.e. se as actualizações concorrentes já tiverem sido confirmadas. Pergunta 2.5 Podem ocorrer deadlocks, pois o protocolo strict-2pl não oferece garantias sobre a não ocorrência de bloqueios mútuos entre duas ou mais transacções. Resolução do Problema 3 Vamos assumir que cada operação no escalonamento apresentado corresponde a uma unidade de tempo e vamos assumir um relógio linear com pontos 0, 1, 2, 3,... Vamos ainda assumir que cada transacção tem um timestamp correspondendo ao tempo de execução da sua primeira operação, i.e. TS(T1) = 3, TS(T2)=7, TS(T3) = 1 IST/DEI Pág. 6 de 12

7 Os timestamps de leitura e escrita originais, para os items, terão também o valor zero: read_ts(a) = read_ts(b) = read_ts(c) = 0 write_ts(a) = write_ts(b) = write_ts(c) = 0 Aplicando o protocol ao escalonamento apresentado, temos que o escalonamento se iria executar com sucesso: read_ts(a)=0, read_ts(b)=0, read_ts(c)=0, write_ts(a)=0, write_ts(b)=0, write_ts(c)=0 T3: read_item(b) TS(T3) > write_ts(b) Executar read_item(b) Colocar read_ts(b) <- max(read_ts(b), TS(T3)) = 1 read_ts(a)=0, read_ts(b)=1, read_ts(c)=0, write_ts(a)=0, write_ts(b)=0, write_ts(c)=0 T3: read_item(c) TS(T3) > write_ts(c) Executar read_item(c) Colocar read_ts(c) <- max(read_ts(c), TS(T3)) = 1 read_ts(a)=0, read_ts(b)=1, read_ts(c)=1, write_ts(a)=0, write_ts(b)=0, write_ts(c)=0 T1: read_item(a) TS(T1) > write_ts(a) Executar read_item(a) Colocar read_ts(a) <- max(read_ts(a), TS(T1)) = 3 read_ts(a)=3, read_ts(b)=1, read_ts(c)=1, write_ts(a)=0, write_ts(b)=0, write_ts(c)=0 T1: write_item(a) TS(T1) = read_ts(a) and TS(T1) > write_ts(a) Executar write_item(a) Colocar write_ts(a) <- max(write_ts(a), TS(T1)) = 3 read_ts(a)=3, read_ts(b)=1, read_ts(c)=1, write_ts(a)=3, write_ts(b)=0, write_ts(c)=0 T3: write_item(b) TS(T3) = read_ts(b) and TS(T3) > write_ts(b) Executar write_item(b) Colocar write_ts(b) <- max(write_ts(b), TS(T3)) = 1 IST/DEI Pág. 7 de 12

8 read_ts(a)=3, read_ts(b)=1, read_ts(c)=1, write_ts(a)=3, write_ts(b)=1, write_ts(c)=0 T3: write_item(c) TS(T3) = read_ts(c) and TS(T3) > write_ts(c) Executar write_item(c) Colocar write_ts(c) <- max(write_ts(c), TS(T3)) = 1 read_ts(a)=3, read_ts(b)=1, read_ts(c)=1, write_ts(a)=3, write_ts(b)=1, write_ts(c)=1 T2: read_item(c) TS(T2) > write_ts(c) Executar read_item(c) Colocar read_ts(c) <- max(read_ts(c), TS(T2)) = 7 read_ts(a)=3, read_ts(b)=1, read_ts(c)=7, write_ts(a)=3, write_ts(b)=1, write_ts(c)=1 T1: read_item(b) TS(T1) > write_ts(b) Executar read_item(b) Colocar read_ts(b) <- max(read_ts(b), TS(T1)) = 3 read_ts(a)=3, read_ts(b)=3, read_ts(c)=7, write_ts(a)=3, write_ts(b)=1, write_ts(c)=1 T1: write_item(b) TS(T1) = read_ts(b) and TS(T1) > write_ts(b) Executar write_item(b) Colocar write_ts(b) <- max(read_ts(b), TS(T1)) = 3 read_ts(a)=3, read_ts(b)=3, read_ts(c)=7, write_ts(a)=3, write_ts(b)=3, write_ts(c)=1 T1: write_item(b) TS(T1) = read_ts(b) and TS(T1) > write_ts(b) Executar write_item(b) Colocar write_ts(b) <- max(read_ts(b), TS(T1)) = 3 read_ts(a)=3, read_ts(b)=3, read_ts(c)=7, write_ts(a)=3, write_ts(b)=3, write_ts(c)=1 T2: read_item(b) TS(T2) > write_ts(b) Executar read_item(b) Colocar read_ts(b) <- max(read_ts(b), TS(T2)) = 7 IST/DEI Pág. 8 de 12

9 read_ts(a)=3, read_ts(b)=7, read_ts(c)=7, write_ts(a)=3, write_ts(b)=3, write_ts(c)=1 T2: write_item(b) TS(T2) = read_ts(b) and TS(T2) > write_ts(b) Executar write_item(b) Colocar write_ts(b) <- max(write_ts(b), TS(T2)) = 7 read_ts(a)=3, read_ts(b)=7, read_ts(c)=7, write_ts(a)=3, write_ts(b)=7, write_ts(c)=1 T2: read_item(a) TS(T2) > write_ts(a) Executar read_item(a) Colocar read_ts(a) <- max(read_ts(a), TS(T2)) = 7 read_ts(a)=7, read_ts(b)=7, read_ts(c)=7, write_ts(a)=3, write_ts(b)=7, write_ts(c)=1 T2: write_item(a) TS(T2) = read_ts(a) and TS(T2) > write_ts(a) Executar write_item(a) Colocar write_ts(a) <- max(write_ts(a), TS(T2)) = 7 read_ts(a)=7, read_ts(b)=7, read_ts(c)=7, write_ts(a)=7, write_ts(b)=7, write_ts(c)=1 Resolução do Problema 4 Para nos referirmos a versões, usamos A, B, C para referênciar a versão original (valor) de cada item, e depois usamos índices (1, 2,...) para nos referirmos a uma nova versão (e.g., A1, A2,...) read_ts(a)=0,read_ts(b)=0,read_ts(c)=0, write_ts(a)=0,write_ts(b)=0,write_ts(c)=0 TS(T1)=6, TS(T2)=1, TS(T3)=4 (Estes valores não se alteram) T2: ler_item(c) Executar ler_item(c) Colocar read_ts(c) <- max(read_ts(c),ts(t2)) = 1 read_ts(a)=0,read_ts(b)=0,read_ts(c)=1, write_ts(a)=0,write_ts(b)=0,write_ts(c)=0 T2: ler_item(b) IST/DEI Pág. 9 de 12

10 Executar ler_item(b) Colocar read_ts(b) <- max(read_ts(b),ts(t2)) = 1 read_ts(a)=0,read_ts(b)=1,read_ts(c)=1, write_ts(a)=0,write_ts(b)=0,write_ts(c)=0 T2: write_item(b) TS(T2) = read_ts(b) Executar write_item(b) (criando uma nova versão B1 de B) write_ts(b1) <- TS(T2) = 1, read_ts(b1) <- TS(T2) = 1 read_ts(a)=0,read_ts(b)=1,read_ts(b1)=1,read_ts(c)=1, write_ts(a)=0,write_ts(b)=0,write_ts(b1)=1,write_ts(c)=0 T3: ler_item(b) Executar ler_item(b) lendo o valor da versão B1 read_ts(b1) <- max(read_ts(b1),ts(t3)) = 4 read_ts(a)=0,read_ts(b)=1,read_ts(b1)=4,read_ts(c)=1, write_ts(a)=0,write_ts(b)=0,write_ts(b1)=1,write_ts(c)=0 T3: ler_item(c) Executar ler_item(c) read_ts(c) <- max(read_ts(c),ts(t3)) = 4 read_ts(a)=0,read_ts(b)=1,read_ts(b1)=4,read_ts(c)=4, write_ts(a)=0,write_ts(b)=0,write_ts(b1)=1,write_ts(c)=0 T1: ler_item(a) Executar ler_item(a) read_ts(a) <- max(read_ts(a),ts(t1)) = 6 read_ts(a)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(c)=4, write_ts(a)=0,write_ts(b)=0,write_ts(b1)=1,write_ts(c)=0 T1: write_item(a) Executar write_item(a) (criando uma nova versão A1 de A) write_ts(a) <- TS(T1) = 6, read_ts(a) <- TS(T1) = 6 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(c)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(c)=0 T3: write_item(b) Executar write_item(b) (criando uma nova versão B2 de B) write_ts(b2) <- TS(T3) = 4, IST/DEI Pág. 10 de 12

11 read_ts(b2) <- TS(T3) = 4 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(b2)=4, read_ts(c)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(b2)=4, write_ts(c)=0 T3: write_item(c) Executar write_item(c) (criando uma nova versão C1 de C) write_ts(c1) <- TS(T3) = 4, read_ts(c1) <- TS(T3) = 4 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(b2)=4, read_ts(c)=4,read_ts(c1)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(b2)=4, write_ts(c)=0,write_ts(c1)=4 T2: ler_item(a) Executar ler_item(a) lendo o valor da versão inicial de A read_ts(a) <- max(read_ts(a),ts(t3)) = 6 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(b2)=4, read_ts(c)=4,read_ts(c1)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(b2)=4, write_ts(c)=0,write_ts(c1)=4 T1: ler_item(b) Executar ler_item(b) lendo o valor da versão B2 read_ts(b2) <- max(read_ts(b2),ts(t3)) = 6 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(b2)=6, read_ts(c)=4,read_ts(c1)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(b2)=4, write_ts(c)=0,write_ts(c1)=4 T1: write_item(b) Executar write_item(b) (criando uma nova versão B3 of B) write_ts(b3) <- TS(T3) = 4, read_ts(b2) <- TS(T3) = 4 read_ts(a)=6,read_ts(a1)=6,read_ts(b)=1,read_ts(b1)=4,read_ts(b2)=6, read_ts(b3)=6,read_ts(c)=4,read_ts(c1)=4, write_ts(a)=0,write_ts(a1)=6,write_ts(b)=0,write_ts(b1)=1,write_ts(b2)=4, write_ts(b2)=6,write_ts(c)=0,write_ts(c1)=4 T2: write_item(a) Abort and Rollback T2 since read_ts(a) >TS(T2) IST/DEI Pág. 11 de 12

12 Uma vez que T3 tinha lido o valor de B que havia sido escrito por T2, a transacção T3 deve também ser abortada e desfeita pela técnica de recuperação (cascading rollback). Como tal, todos os efeitos de T2 e T3 têm de ser desfeitos, e apenas a transacção T1 iria terminar a sua execução. Resolução do Problema 5 O código Java com a resolução da Pergunta 5 encontra-se online na página da disciplina. IST/DEI Pág. 12 de 12

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2011/2012 Administração e Optimização de BDs Mini Projecto 3 A entregar a 4 de Maio de 2012 2º semestre A resolução deve ser claramente identificada com o número

Leia mais

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da

Leia mais

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência Bases de Dados Transacções Propriedades ACID 1 T Atomicidade i : read(a) 2 A := A 50 se a transação falhar entre os 3 write(a) passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência 5 B := B

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 4 A entregar a 28 de Maio de 2011 2º semestre A resolução deverá ser identificada com o número de grupo

Leia mais

Bases de Dados 2013/2014 Controlo de Concorrência

Bases de Dados 2013/2014 Controlo de Concorrência Bases de Dados 2013/2014 Controlo de Concorrência Helena Galhardas Sumário Serialização e Protocolos de Locking! 2PL Two Phase Locking! Tratamento de Deadlocks! Níveis de Isolamento em SQL! Aquisição Automática

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID que

Leia mais

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID

Leia mais

Sistemas de Gestão de Bases de Dados e-fólio B. Resolução e Critérios de Correção

Sistemas de Gestão de Bases de Dados e-fólio B. Resolução e Critérios de Correção 21103 - Sistemas de Gestão de Bases de Dados 2015-2016 e-fólio B Resolução e Critérios de Correção PARA A RESOLUÇÃO DO E-FÓLIO, ACONSELHA-SE QUE LEIA ATENTAMENTE O SEGUINTE: 1) O e-fólio é constituído

Leia mais

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Bases de Dados Transacções Propriedades ACID Atomicidade se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Consistência a soma A+B tem de ser igual antes e depois Isolamento nenhuma

Leia mais

Bases de Dados 2013/2014 Transações. Helena Galhardas. Sumário!

Bases de Dados 2013/2014 Transações. Helena Galhardas. Sumário! Bases de Dados 2013/2014 Transações Helena Galhardas Sumário! Conceito de Transação! Propriedades ACID! Conflitos e Serializabilidade! Recuperabilidade! Protocolos de controlo de concorrência! Transações

Leia mais

de Bases de Dados Exame 2

de Bases de Dados Exame 2 Ano lectivo 2009/2010 2 o semestre Administração e Optimização de Bases de Dados Exame 2 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de

Leia mais

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 009/0 o semestre Administração e Optimização de Bases de Dados Exame Regras O exame tem a duração de horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de hora, mediante

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha Sistemas de Informação e Bases de Dados 2012/2013 Transações Alberto Sardinha Sumário! Conceito de Transação! Propriedades ACID! Transações em SQL! Referências Raghu Ramakrishnan, Database Management Systems,

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque Criando Transações Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SQL Tabelas Exemplo TbAutor TbAutor TbEditora CNPJ TbEditora CNPJ TbLivro ISBN Autor Editora TbLivro ISBN Autor Editora TbLoja CNPJ

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30.

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Bases de Dados Exame de 1 a Época 2012/2013 Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Grupo 1 Número: 1a) Apresente o diagrama Entidade-Associação (E-A) para um novo jogo multiutilizador

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011 Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

Leia mais

Lista de Exercícios 12 Transações

Lista de Exercícios 12 Transações UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO SCC0141 - Bancos de Dados e Suas Aplicações Prof. José Fernando Rodrigues Júnior 2º semestre

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 2 Entrega a 16 de Abril de 2011 2º semestre A resolução deve ser claramente identificada com o número de

Leia mais

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02 Bancos de Dados I 2015/02 revisão Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Atomico=transaction manager Consistencia=controle concorrencia/commit Isolamento=controle

Leia mais

Bases de Dados. Exame de 2 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.

Bases de Dados. Exame de 2 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta. Bases de Dados Exame de 2 a Época 2012/2013 Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta. Duração: 2h30. Grupo 1 Número: Nome: 1a) Considere que

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. Controle de Concorrência: Garantia de que múltiplas transações ativadas

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM é

Leia mais

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta. Bases de Dados Exame de 1 a Época 2013/2014 Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta. Duração: 2h30. Grupo 1 Número: Nome: 1a) O primeiro

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações ) Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. ) Controle de Concorrência: Garantia de que múltiplas transações

Leia mais

Transacções Atómicas Distribuídas

Transacções Atómicas Distribuídas Transacções Atómicas Distribuídas Exemplo O Senhor Silva é possuidor de duas contas em bancos diferentes (A e B) e pretende fazer um movimento de 100.000$00 do banco A para o banco B. O procedimento para

Leia mais

Processamento de Transações II

Processamento de Transações II UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações II Carlos Eduardo Portela Serra de Castro * Processamento de Transações II Sumário Definindo Plano de Execução Baseado

Leia mais

Bases de Dados. Parte VI SQL em Ambiente de Programação

Bases de Dados. Parte VI SQL em Ambiente de Programação Bases de Dados Parte VI SQL em Ambiente de Programação 1 SQL em Ambiente de Programação! O SQL pode ser usado de forma interactiva por utilização do interface normalmente disponibilizado pelo próprio SGBD

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 21 Escola Politécnica da Universidade de São Paulo 1 TRANSAÇÃO E CONTROLE DE CONCORRÊNCIA Transação unidade de execução de programa que acessa e, possivelmente,

Leia mais

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Laboratório de Bases de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma

Leia mais

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle Conceitos e Propriedades Recuperação Transacções no SGBD Oracle Conceitos Transacção Uma acção ou um conjunto de acções, realizadas por um único utilizador ou programa de aplicação que acedem ou alteram

Leia mais

Sistemas Distribuídos Transações

Sistemas Distribuídos Transações Sistemas Distribuídos Transações Vinícius Fernandes Soares Mota 1 2 Transações Transação: Unidade lógica de trabalho abrange um conjunto de operações de manipulação de dados que executam uma única tarefa

Leia mais

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Banco de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma CPU Forma de execução

Leia mais

Técnicas de Controle de Concorrência

Técnicas de Controle de Concorrência Técnicas de Controle de Concorrência Pessimistas supõem que sempre ocorre interferência entre transações e garantem a serializabilidade enquanto a transação está ativa técnicas bloqueio (locking) timestamp

Leia mais

Sumário. Introdução a Transações

Sumário. Introdução a Transações Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Administração e Optimização de BDs 2º semestre

Administração e Optimização de BDs 2º semestre DepartamentodeEngenhariaInformática 2009/2010 AdministraçãoeOptimizaçãodeBDs2ºsemestre Mini Projecto4 Aentregara26deMaiode2010 Aresoluçãodeveráseridentificadacomonúmerodegrupoeentregue electronicamentenosistemafénixenaaula.

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 13 de fevereiro de 2014 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva BD II (SI 587) Transações em Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são adaptados de Database System Concepts, 6th Ed. Silberschatz, Korth and Sudarshan distribuídos

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 18 de julho de 2012

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 18 de julho de 2012 Ministério da Educação e Ciência p-fólio Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 18 de julho de 2012 INSTRUÇÕES O tempo de duração da prova de p-fólio é de 90

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

Transacções concorrentes exemplo. B := B 50 write(b) read(a) A := A + 50 write(a)

Transacções concorrentes exemplo. B := B 50 write(b) read(a) A := A + 50 write(a) Bases de Dados Concorrência Transacções concorrentes exemplo T 1 : B := B 50 write(b) A := A + 50 write(a) T 2 : display(a+b) T 2 pode dar um resultado inconsistente quando executada em paralelo com T

Leia mais

Bases de Dados 2006/2007 Exame

Bases de Dados 2006/2007 Exame Exame 12 de Janeiro de 2007 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.

Leia mais

Sincronização e Concorrência

Sincronização e Concorrência Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência

Leia mais

Lock. Administração de Banco de Dados

Lock. Administração de Banco de Dados Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock

Leia mais

Exercícios Módulo Banco de Dados I (08/07/2006)

Exercícios Módulo Banco de Dados I (08/07/2006) UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLOGICAS DEPARTAMENTO DE INFORMÁTICA Exercícios Módulo Banco de Dados I (08/07/2006) Marcelo Santos Daibert João Carlos da Silva Juiz de Fora

Leia mais

Transacções em Sistemas Distribuídos

Transacções em Sistemas Distribuídos Transacções em Sistemas Distribuídos Função transferir Primeira solução transferir(contaa, contab, Montante) { bancoa.lersaldo (contaa, SaldoA); bancob.lersaldo (contab, SaldoB); bancoa.actualizarsaldo

Leia mais

Bases de Dados. Parte VI SQL em Ambiente de Programação e Transações. Bases de Dados 2015/2016. Ricardo Rocha / Fernando Silva DCC-FCUP

Bases de Dados. Parte VI SQL em Ambiente de Programação e Transações. Bases de Dados 2015/2016. Ricardo Rocha / Fernando Silva DCC-FCUP Bases de Dados Parte VI SQL em Ambiente de Programação e Transações (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no

Leia mais

Sumário. Controle de Concorrência

Sumário. Controle de Concorrência Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento. CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,

Leia mais

Oracle Comandos para Processamento de Transações

Oracle Comandos para Processamento de Transações Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação

Leia mais

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires Concorrência Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material do Prof. Paulo Pires Controle de Concorrência SGBD sistema multiusuário em geral diversas transações executando simultaneamente

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de julho de 2015 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de julho de 2015 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 13 de julho de 2015 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de 90

Leia mais

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Introdução... SGBDs são em geral multi-usuários

Leia mais

Sistemas Distribuídos Aula 20

Sistemas Distribuídos Aula 20 Sistemas Distribuídos Aula 20 Aula passada Redes sem fio Coordenando acesso ao meio Eleição de líder Aula de hoje Sistema transacional ACID Exemplos 2-Phase Locking Sistema Transacional Considere sistema

Leia mais

PROCESSAMENTO DE TRANSAÇÕES

PROCESSAMENTO DE TRANSAÇÕES UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROCESSAMENTO DE TRANSAÇÕES Profº Erinaldo Sanches Nascimento Objetivos Discutir a necessidade de controle de concorrência e

Leia mais

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações

Leia mais

BD II (SI 587) Controle de Concorrência. Josenildo Silva.

BD II (SI 587) Controle de Concorrência. Josenildo Silva. BD II (SI 587) Controle de Concorrência Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 16 de fevereiro de 2018 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 16 de fevereiro de 2018 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 16 de fevereiro de 2018 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Controle de Concorrência Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 Introdução... SGBDs

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Exclusão Mútua Transações Distribuídas

Leia mais

TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a

TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a Transações Transações Uma transação é um conjunto de operações que deve ser executado de forma atômica Atômica : se um erro ocorre no meio da transação, devemos voltar ao estado consistente anterior. Atômica

Leia mais

Scheduler Baseado em Timestamp

Scheduler Baseado em Timestamp Scheduler Baseado em Timestamp Técnica na qual toda transação Tx possui uma marca timestamp (TS(Tx)) Princípio de funcionamento (TS-Básico) no acesso a um item de dado D por operações conflitantes, a ordem

Leia mais

1º Exame de Base de Dados (2015/2016);

1º Exame de Base de Dados (2015/2016); Instruções INDIQUE O SEU NOME E NÚMERO CADA UMA DAS 8 FOLHAS DE EXAME A duração do exame é de 2:30mn. O Exame é sem Consulta. Só se pode sair da sala após 60mn do início. Não responda às questões de um

Leia mais

Gerenciamento de Transações em Banco de Dados

Gerenciamento de Transações em Banco de Dados Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam

Leia mais

Controle de Concorrência

Controle de Concorrência Controle de Concorrência Protocolos de Bloqueio Protocolo com base em Timestamps Protocolos Multi-versão Inserção e Remoção de Dados Controle de Concorrência Controle de concorrência é usado para garantir

Leia mais

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK Ciência da Computação GBC043 Sistemas de Banco de Dados Orientações Transações - PostgreSQL Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Executar os comandos conforme

Leia mais

Época Normal 2º Teste Sem consulta

Época Normal 2º Teste Sem consulta Bases de Dados 2013/14 17/Maio/14 10:00 Duração: 2h Época Normal 2º Teste Sem consulta Leia com atenção a informação constante desta página, enquanto espera a indicação do docente para começar a resolução

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 19 de fevereiro de 2013 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Recuperação Carlos Eduardo Portela Serra de Castro * Sumário 1 Conceitos 2 Atualização adiada 3 Atualização imediata 4 Paginação shadow 5 Aries

Leia mais

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30.

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Bases de Dados Exame de 1 a Época 2011/2012 Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Grupo 1 Número: 1a) Represente o seguinte domínio usando um diagrama Entidade-Associação: Uma

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS PROCESSAMENTO DE TRANSAÇÕES FELIPE G. TORRES INTRODUÇÃO AO PROCESSAMENTO DE TRANSAÇÕES Transação pode ser conceituada como unidades lógicas de processamento de banco

Leia mais

Técnicas de Controle de Concorrência

Técnicas de Controle de Concorrência Técnicas de Controle de Concorrência Principais Técnicas bloqueio (locking) timestamp Técnicas Baseadas em Bloqueio Técnicas mais utilizadas pelos SGBDs Princípio de funcionamento controle de operações

Leia mais

Bases de Dados 2008/2009

Bases de Dados 2008/2009 Instituto Superior Técnico Bases de Dados 2008/2009 Exame de 12 de Janeiro de 2009 --- Resolução --- 1. Considere o seguinte cenário relativo a uma farmácia: Um paciente dirige-se ao médico e apresenta

Leia mais

BANCO DE DADOS 2 TRANSAÇÃO

BANCO DE DADOS 2 TRANSAÇÃO BANCO DE DADOS 2 TRANSAÇÃO Prof. Edson Thizon Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. O SGBD deve incorporar mecanismos de proteção

Leia mais

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Controle de Concorrência Avisos Lista de exercícios adicionais na página da disciplina Profa. Maria Camila Nardini Barioni

Leia mais

Gerência de Transações Distribuídas

Gerência de Transações Distribuídas Transação Gerência de Transações Distribuídas Uma é uma unidade de computação consistente e confiável Transparência de concorrência Transparência de falhas Fernanda Baião baiao@cos.ufrj.br Banco de dados

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Recuperação de Falhas Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

Controle de Concorrência

Controle de Concorrência Banco de Dados Fernando Fonseca Ana Carolina Definição Concorrência é a propriedade de uma transação poder ser executada em paralelo com outras transações Justificativa de uso Com a execução de várias

Leia mais

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação Controle Distribuído da Concorrência Controle Distribuído da Concorrência REVISÃO E INTRODUÇÃO SERIALIZABILIDADE ALGORITMOS LOCKING-BASED Aluno: Walter Travassos Sarinho wts@cin.ufpe.br ALGORITMOS TIMESTAMP-BASED

Leia mais

Sistemas de Gerência de Bancos de Dados

Sistemas de Gerência de Bancos de Dados Sistemas de Gerência de Bancos de Dados 4 - Consultas e Transações 4.4 - Gerência de Transações 1 Conceito de Transação Transação: seqüência de ações elementares que deverão ser executadas como se fossem

Leia mais

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES U.C. 21103 e-fólio B Sistemas de Gestão de Bases de Dados 2017-2018 Resolução e Critérios de Correção INSTRUÇÕES 1) O e-fólio é constituído por 5 perguntas. A cotação global é de 5 valores. 2) O e-fólio

Leia mais