2º teste repescagem 2003/04

Propaganda
Nome:
Número:
INSTITUTO SUPERIOR TÉCNICO
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA
Bases de Dados
Repescagem do 2º Teste (LEIC Tagus)
Não se esqueçam de identificar todas as folhas!
13 de Fevereiro de 2004 – 10H
Duração: 1H30
Grupo 1 – Índices (5v)
Considere o seguinte índice B+tree:
7
6
15
3
5*
14
6*
8*
17
16*
18* 19*
a) Escreva a árvore que resulta da inserção do registo com chave igual a 20.
b) Escreva a árvore que resulta da remoção do registo 16* da árvore inicial.
Grupo 1 - Resposta
1
Nome:
Número:
Grupo 2 – Processamento de interrogações (4v)
Suponha que é o arquitecto de um Sistema de Gestão de Bases de Dados, o
NovoSGBD. A data limite para o lançamento no mercado do produto está muito
próxima.
1) Você só tem tempo para implementer um algoritmo de join. Qual dos seguintes: tuplenested-loop join, block-nested-loop join, index-nested-loop join, sort-merge join, or hash
join, vai escolher e porquê?
2) Também só tem tempo para implementar uma estrutura de índice. Qual escolheria:
B+tree ou extendible hashing?
Grupo 2 - Resposta
2
Nome:
Número:
Grupo 2 - Resposta
3
Nome:
Número:
Grupo 3 – Tuning de bases de dados (6v)
1. Considere o seguinte esquema relacional:
Autor(artigoID, nomeAutor, país)
Artigo(artigoID, título, ano)
A relação Artigo guarda informação sobre um conjunto de artigos publicados. A
relação Autor guarda o conjunto de autores para cada artigo, logo existe uma linha na
tabela Autor para cada autor de cada artigo. Suponha que não existem índices sobre
nenhuma das tabelas.
Suponha a interrogação SQL:
select título, nomeAutor
from Artigo ar, Autor a
where ar.artigoID = a.artigoID
and ar.ano = 2002
and país = ‘Portugal’
a) Escreva um plano de execução para esta interrogação representado através da
respectiva árvore de operadores algébricos.
b) Será o plano de execução apresentado em a) o mais eficiente. Se sim, diga
porquê. Senão, indique um alternativo que seja mais eficiente (pode usar um
índice se assim o desejar).
2. Considere o seguinte esquema relacional da base de dados de uma organização:
Projectos(numero, nomeP, deptoP, gestorID, orçamento)
Gestores(ID, nomeG, deptoG, salário, sexo, idade)
Diga quais os índices (B+tree ou hash-index) que devem ser criados para tornar a
execução do seguinte conjunto de interrogações mais eficiente. Especifique se o índice
é clustered ou unclustered. Considere as duas situações: index-only plans são
suportados ou não.
a) Qual a média de idades dos gestores?
b) Qual o total dos orçamentos para cada gestor? A interrogação deve retornar dois
campos: o ID do Gestor e a quantia total gerida.
4
Nome:
Número:
Grupo 3 - Resposta
5
Nome:
Número:
Grupo 3 - Resposta
6
Nome:
Número:
Grupo 4 – Transacções, Controlo de concorrência e Recuperação (5v)
1. Diga se o schedule que se segue é serializable, recuperável e strict:
T1:W(X), T2:R(X), T1:W(X), T2:commit, T1:abort
2. Diga se são verdadeiras ou falsas as seguintes afirmações:
a. O protocolo WAL (Write-ahead logging) diz que todos os registos de log
de uma transacção têm que ser escritos para disco depois da transacção
fazer commit.
b. Na fase de Análise do algoritmo de recuperação ARIES, são procuradas
as transacções que fizeram commit e as que abortaram desde o último
checkpoint.
c. A tabela de transacções usada no algoritmo ARIES guarda as
transacções que abortaram e a tabela de dirty pages guarda as páginas
de disco que foram modificadas e que potencialmente ainda não foram
escritas para disco.
Grupo 4 - Resposta
7
Download