Bacharelado em Ciência da Computação – UFU
Disciplina GBC053 – Gerência de Banco de Dados
Profa. Sandra de Amo
Exercícios – AULA 17
Exercício 1: Considere duas relações R(A,C,D) e S(B,E,F) e a consulta SQL
SELECT *
FROM R, S
WHERE R.A = S.B
(Trata-se portanto de se fazer a junção das tabelas R e S pela condição de junção R.A = S.B)
O custo da consulta é calculado em termos de I/O, ignorando-se o custo de gravar o
resultado em disco.
R contém 10.000 tuplas e 10 tuplas por página
S contém 2000 tuplas e 10 tuplas por página
O atributo B de S é sua chave primária
As relações estão armazenadas como arquivos sequenciais (heap files)
Nenhuma destas relações tem qualquer índice.
Tem-se 52 páginas disponíveis no buffer.
Pergunta-se:
1. Qual o custo desta consulta usando Nested Loops Join orientado à página ? Qual o
número mínimo de páginas que é necessário ter disponível no buffer para que este
custo permaneça inalterado ?
2. Qual o custo desta consulta usando BNL ? Qual o número mínimo de páginas que é
necessário ter disponível no buffer para que este custo permaneça inalterado ?
3. Supondo que se construa um índice hash agrupado na relação S, com chave no
attributo B, qual seria o custo da consulta ?
4. Supondo que se construa um índice agrupado B-tree na relação S, com chave no
attributo B, qual seria o custo da consulta ?
5. Seria interessante ter um índice na relação R com chave em A, ao invés do indice
na relação S com chave em B?
6. Qual o custo de se ordenar os elementos de S pelo atributo B ?
7. Qual o custo de se ordenar os elementos de R pelo atributo A ?
Exercício 2: Calcule os custos das seguintes variantes do algoritmo BNL:
Para cada R-page faça
Para cada bloco de (B-2) páginas in memory de S-page faça
se ri = sj então insere <r,s> em Result
Retorna Result
Para cada bloco de (B-2) páginas in memory de S-page faça
Para cada R-page faça
se ri = sj então insere <r,s> em Result
Retorna Result
Exercício 3 Calcule o custo da seguinte variante do algoritmo BNL: Utilizar (B-2)/2
páginas para alocar um bloco de R e (B-2)/2 páginas para alocar um bloco da relação
interna S. Calcular o custo neste caso. Onde há melhora de performance em relação ao
método onde 1 única página em memória é alocada para a relação S e B-2 páginas para a
relação R ?
Download

Exercicio - Aula 17