Nome: Manoella Santos Diniz
Matrícula: 769058
Apresentar a árvore de consulta inicial (não otimizada) com o parsing da consulta
em ordem natural (da esquerda para a direita), a árvore de consulta inicial (não
otimizada) com o parsing da consulta em ordem reversa (da direita para a
esquerda), a árvore de consulta otimizada, a consulta reescrita de acordo com a
árvore de consulta otimizada com o parsing da consulta em ordem natural (da
esquerda para a direita), a consulta reescrita de acordo com a árvore de consulta
otimizada com o parsing da consulta em ordem reversa (da direita para a esquerda)
e o plano de execução da consulta otimizada para cada uma das consultas SQL
apresentadas abaixo:
SELECT [Link], [Link], [Link]
FROM Funcionarios A, Clientes B, Aluguel C, Funcionarios D
WHERE [Link]=[Link]
AND [Link]=C.CPF_Cliente
AND [Link]="M"
AND [Link]>50
AND [Link]=D.CPF_Supervisor
SELECT [Link], [Link]
FROM Filmes A, AtoresEmFilmes B, Atores C, Midias D
WHERE [Link]=[Link]
AND [Link]=[Link]
AND [Link]="Aventura"
AND [Link]=[Link]
AND [Link]>10
SELECT [Link], [Link], [Link]
FROM Funcionarios A, Clientes B, Aluguel C, Pagamentos D
WHERE [Link]=[Link]
AND [Link]>100
AND [Link]=C.CPF_Cliente
AND [Link]<50
AND A.CPF_Supervisor IS NULL
AND [Link]=C.CPF_Funcionario
Considere o modelo relacional apresentado abaixo, e que todos os arquivos são
ISAM com índices secundários em suas chaves estrangeiras.
Considere também que o ponteiro para blocos de disco tem 16B, que o tamanho de
bloco de disco é de 2KB, que os arquivos possuem registros de tamanho fixo, não
espalhados e que eles têm a seguinte configuração de número de registros e
tamanhos de campos:
● Atores (10.000 registros) → Codigo (16B), Nome (160B)
● Clientes (100.000 registros) → CPF (11B), Nome (160B), Endereco
(200B), Telefone (16B), DataNascimento (12B), Sexo (1B)
● Filmes (2.000.000 registros) → Codigo (16B), Nome (160B), Genero (80B)
● Funcionarios (3.500 registros) → CPF (11B), Nome (160B)
● Midias (10.000.000 registros) → Identificador (24B), Tipo (8B),
PrecoDiaria (24B)
● Aluguel (20.000.000 registros) → DataLocacao (12B), DataDevolucao
(10B), ValorPagar (24B)
● Pagamentos (50.000.000 registros) → Codigo (48B), Data (12B), Valor
(24B)
● AtoresEmFilmes (1.000.000 registros)
Observem a existência de chaves estrangeiras que obviamente devem ser
consideradas como campos integrantes dos arquivos.
1. Árvore de consulta inicial (não otimizada) com o parsing da consulta em
ordem natural (da esquerda para a direita)
a.
b.
c.
2. A árvore de consulta inicial (não otimizada) com o parsing da consulta em
ordem reversa (da direita para a esquerda)
a.
b.
c.