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

Documentos relacionados
de Bases de Dados Exame 1

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

Processamento de Transações

BD II (SI 587) Algoritmos de recuperação Avançado e ARIES. Josenildo Silva.

Arquitectura de Computadores

Bases de Dados 2013/2014 Gestão de Recuperação. Helena Galhardas. Sumário

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

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

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

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

BDII SQL TRANSAÇÃO Revisão 2

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

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

A instância Oracle é composta de :

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

Sistemas de Gerência de Bancos de Dados

Controle de Transação

Processamento de Transações

Contato. professorluisleite.wordpress.com

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.

Função Fundamental do SO

Memória virtual. Sistemas de Computação

Técnica UNDO/REDO. Checkpoint

Bases de Dados 2008/2009

e c d o o r B s s n i : l e F s

Processamento de Produtos ( X )

Análise de Sistemas e-fólio A

Parte I (correspondente à matéria do 1º teste)

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

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

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Banco de dados. Prof. Emiliano S. Monteiro

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

PROCESSAMENTO DE TRANSAÇÕES

Processamento de Transações

BCD29008 Banco de dados

SGBD. Definição. Funções básicas

Conceitos de Sistemas de Banco de Dados INE 5323

Hierarquia de Memória

Oracle Comandos para Processamento de Transações

Introdução à Arquitetura de Computadores

Processamento da Consulta. Processamento da Consulta

Planificação Anual. Departamento Expressões e Tecnologias

Gestão de Memória. Algoritmos de Gestão de Memória

LEIA ATENTAMENTE AS INSTRUÇÕES PARA A RESOLUÇÃO DO

Arquitectura de Computadores

Parte I (correspondente à matéria do 1º teste)

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

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

Gerenciamento de Transações em Banco de Dados

Sistemas Distribuídos

Bancos de Dados IV. Data Warehouse Conceitos. Rogério Costa

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

Exame de Acesso ACFES Maiores de 23; Acesso Específico. Matemática. PROVA MODELO - proposta de resolução

Arquitetura de Sistemas Operacionais

Sistemas de Gerência de Bancos de Dados. Módulo 1 - Armazenamento

O Modelo e a Álgebra Relacional

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

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

Caching. Caches do Sistema de Ficheiros

Bases de Dados. Parte I: Conceitos Básicos

Organização de um Sistema Operativo

SSC0611 Arquitetura de Computadores

9 Sistemas de ficheiros

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

Algoritmos de Gestão de Memória

Ambiente de desenvolvimento

Algoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

Memórias cache: uma introdução

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

SSC510 Arquitetura de Computadores. 8ª aula

Worldwide Online TechDay Outubro

Ficha de Avaliação Sumativa. Notas Gerais:

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

mail.pt correio electrónico... abrir o programa pag.. 14 registo de um endereço pag.. 8 e 9 caixa de correio...

Informações para ler aos alunos BÁSICO

INFORMAÇÃO PROVA DE EQUIVALÊNCIA À FREQUÊNCIA. Prova

Sumário. Definição do Plano de Execução

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Gerenciamento de memória

INFORMAÇÃO PROVA DE EQUIVALÊNCIA À FREQUÊNCIA. Prova

Introdução a Banco de Dados

3 Plano de Execução de Consultas

Sistema de Controlo com Acesso Remoto

Arquitetura de Sistemas Operativos

Transcrição:

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 90 minutos. O estudante deverá responder à prova na folha de ponto e preencher o cabeçalho e todos os espaços reservados à sua identificação, com letra legível. Visto que o enunciado da prova não é utilizado para resposta, poderá ficar na posse do mesmo. Verifique no momento da entrega das folhas de ponto se todas as páginas estão rubricadas pelo vigilante. Caso necessite de mais do que uma folha de ponto, deverá numerá-las no canto superior direito. Em hipótese alguma serão aceites folhas de ponto dobradas ou danificadas. Exclui-se, para efeitos de classificação, toda e qualquer resposta apresentada em folhas de rascunho. Os telemóveis deverão ser desligados durante toda a prova e os objectos pessoais deixados em local próprio da sala das provas presenciais. O enunciado da prova é constituído por 2 páginas e termina com a palavra FIM. Verifique o seu exemplar do enunciado e, caso encontre alguma anomalia, dirija-se ao professor vigilante nos primeiros 15 minutos da mesma, pois qualquer reclamação sobre defeitos de formatação e/ou de impressão que dificultem a leitura não será aceite depois deste período. Utilize unicamente tinta azul ou preta. O p-fólio é sem consulta. A interpretação das perguntas também faz parte da sua resolução, se encontrar alguma ambiguidade deve indicar claramente como foi resolvida. A informação da avaliação do estudante está contida no vetor das cotações: Questão: 1 2 3 4 5 C: 25 25 25 25 20 décimas

Grupo A Sistemas de Bases de Dados 1. (2,5 valores) Para sistemas de gestão de bases de dados qual a melhor política de substituição das memórias temporárias: LRU (least recently used) ou MRU (most recently used)? Justifique a sua resposta. Resposta: - As políticas de substituição das memórias temporárias (buffers) pretendem minimizar o acesso a disco. As duas mais conhecidas são: a política LRU (least recently used) e a MRU (most recently used). - Nos sistemas operativos geralmente utilizam a política LRU (least recently used) de substituição de blocos, i.e., se um bloco tem de ser substituído vamos remover o que foi utilizado menos recentemente. - Nas bases de dados a estratégia LRU é uma má estratégia. Por exemplo, na junção de duas tabelas (empréstimo >< cliente) o algoritmo "nested loop join" contém um ciclo interno e um ciclo externo: 01 For each tuple in empréstimo 02 For each tuple in cliente 03 If empréstimo.id_cliente=cliente.id_cliente 04 Begin.. end 05 End for 06 End for - No caso dos blocos com informação do cliente, depois de tratados, podem ser imediatamente removidos. Assim, para as bases de dados, a substituição dos blocos mais recentemente utilizados é a estratégia mais adequada, i.e., MRU (most recently used). Manual: As políticas de substituição dos buffers, página 462 e seguintes. - 1,0 valores, diferenciar as políticas - 1,5 valores, justificação da MRU 2

2. (2,5 valores) Mostre como deriva uma das seguintes expressões relacionais utilizando regras de equivalência para satisfazer a igualdade: σ θ1 θ2 (E1 >< θ3 E2) = σ θ1 (E1 >< θ3 (σ θ2 (E2))) onde θ2 envolve só atributos de E2. Resposta: Utilizando as seguintes regras de equivalência: Regra A: σ θ1 θ2 (E) = σ θ1 (σ θ2 (E)) uma operação de seleção conjuntiva pode ser decomposta por uma sequência de seleções individuais; Regra B: σ θ1 (E1 >< θ E2) = (σ θ1 (E1)) >< θ E2 a operação de seleção distribuí sobre uma teta-junção quando todos os atributos de seleção θ1 envolvem só os atributos da expressão E1. Podemos encontrar as equivalências com as seguintes justificações: σ θ1 θ2 (E1 >< θ3 E2) = dado σ θ1 (σ θ2 (E1 >< θ3 E2)) = σ θ1 (E1 >< θ3 (σ θ2 (E2))) aplicando a regra A aplicando a regra B Manual: Regras de equivalência, página 571 e seguintes. - 1,0 valores, derivação das equivalências - 1,5 valores, justificação das regras 3

3. (2,5 valores) O que entende por ACID num sistema de base de dados transacional? Exemplifique falhas das propriedades de isolamento e durabilidade. Resposta: ACID é o acrónimo de quatro propriedades: Atomicidade, Consistência, Isolamento e Durabilidade. (a) Atomicidade - a transação executa todas as ações ou pelo contrário nenhuma delas, isto é, não existem execuções parciais das transações. A ideia de atomicidade está associada à indivisibilidade; as transações são indivisíveis. (b) Consistência - a transação ao utilizar uma base de dados consistente deve deixá-la consistente no final da mesma transação. Sem o requisito da consistência, as quantidades de dinheiro podiam ser criadas ou destruídas numa transação. A responsabilidade da consistência recai sobre o programador da transação. (c) Isolamento - a transação, em ambiente de concorrência, devem comportar-se de forma independente, sem qualquer influência das outras transações que são executadas em simultâneo. Considere duas transações: T1 transfere 50 euros de A para B; T2 transfere 10% de B para A. (d) Durabilidade - esta propriedade garante que uma transação que termine com sucesso, todas as alterações se refletem na base de dados de forma persistente, mesmo se existir uma falha do sistema depois de a transação terminar. Como exemplo de falha de durabilidade, assuma que a transação T transfere 10 euros da conta A para a conta B; depois de executada a transação é enviada a mensagem de sucesso para o utilizador; contudo, os dados dos "buffers" não foram passados para discos; o sistema falha de seguida. Existe falha de durabilidade visto que as alterações foram perdidas e o utilizador ficou convencido que as alterações foram realizadas. - 1,0 valores, definição das propriedades - 1,5 valores, exemplos apropriados 4

4. (2,5 valores) Considere a seguinte sequência do "log" para recuperação de uma base de dados. O que é realizado nas fases de Redo() e Undo(). LSN LOG 00 Begin checkpoint 10 End checkpoint 20 T1 writes P1 30 T2 writes P2 40 T3 writes P3 50 T2 commit 60 T3 writes P2 70 T2 end 80 T1 writes P5 90 T3 abort CRASH, RESTART Resposta: O "Algorithms for Recovery and Isolation Exploiting Semantics", ARIES, distingue-se pela utilização de um Log com "Log Sequence Number" (LSN), uma "Dirty Page Table" (DPT) e uma "Transaction Table" (TT). A "Dirty Page Table" (DPT) - contém uma entrada para cada página suja no buffer e o LSN correspondente à primeira actualização dessa página. "Transaction Table" (TT)- contém uma entrada para cada transação ativa, com informações sobre o ID de transação, o LSN do registo de log mais recente para a transação e o status da transação. No ARIES distinguem-se três fases: análise, redo e undo. (0) Na fase prévia de análise, são criadas as DPT e TT. O log é varrido desde o checkpoint até ao ponto de crash. Na DPT é registado o primeiro LSN para cada página e a TT o último LSN para cada transação. O ARIES também regista os rollbacks das transações através dos "Compensation Log Records" (CLR) i.e. que compensam as alterações de transações incompletas ou abortadas. Assim no log existem comandos de write, commit, end, abort, CLR (Compensation Log Record). (1) O Redo inicia com o menor LSN da DPT, LSN=20. O log é varrido desde LSN 20 até ao ponto de crash, voltando a aplicar as alterações (writes ou CLR) do log. 5

LSN 20 Redo write P1 LSN 30 Redo write P2 LSN 40 Redo write P3 LSN 50 No action LSN 60 Redo write P2 LSN 70 No action LSN 80 Redo write P5 LSN 90 No action (2) O Undo é iniciado no maior LSN da TT, LSN=80, o log é varrido do fim para o princípio. A instrução de CLR é acrescentada ao log para cada ação de desmontagem. Em conclusão para cada transação: T1 fez rollback (redo, undo) T2 fez commit (redo) T3 fez rollback (redo, undo) - 1,0 valores, detalhe ARIES-REDO - 1,0 valores, detalhe ARIES-UNDO - 0,5 valores, comentários conclusivos 6

Grupo B Prática em Data Warehousing 5. (2 valores) Pretendemos desenhar um Data Warehouse do seguinte sistema. Defina a tabela de factos em primeiro lugar. De seguida, defina três dimensões para o Data Warehouse e apresente a tabela de factos associada às três dimensões. Considere uma base de dados de um clube de karting que possui um kartódromo com várias pistas e uma garagem onde são guardados vários karts. Por razões de segurança (entre outras) cada pessoa apenas pode conduzir certos karts. Assim, pretendemos guardar a informação sobre que karts podem ser conduzidos por que pessoas. Para se saber quem é o melhor condutor, iremos guardar os tempos já obtido por cada pessoa, ao volante de cada um dos karts que ela pode conduzir, em cada uma das pistas onde já o conduziu. Pretende-se saber ainda saber qual é o kart com melhor desempenho. - criar DW com 1 tabelas de factos e 3 dimensões - penalização até 50% para esquema mal desenhado - penalização até 50% atributos desadequados na tabela factos - penalização até 50% dimensões desadequadas - penalização até 50% ligações mal estabelecidas FIM 7