Download - Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1
![Page 1: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/1.jpg)
Introdução aos Métodos de Acesso
AULA 7 – Parte IIProfa. Sandra de Amo
GBC053 – BCC2013-1
![Page 2: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/2.jpg)
Estudaremos nesta aula Método de Acesso Indexado Sequencial (ISAM)
Busca Inserção Supressão
![Page 3: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/3.jpg)
Dados e Indices Dados armazenados em arquivo de dados
<a1,a2, … , k,…, an> + ridRid = (página i, slot j) – permite localizar o registro no disco
Arquivos de indice estruturados em árvore Folhas : < k, (i,j) >
Contém os registros do arquivo de indices Nós intermediários : <chave, pagId>
Contém registros que permitem chegar rápido na folha desejada
Objetivo : melhorar a busca de registros
![Page 4: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/4.jpg)
Dados e Indices Inserção e deleções são feitas no arquivo de dados
A cada inserção ou deleção de um registro de dados, a estrutura do arquivo de indices deve ser ajustada.
O ajuste implica em inserção ou deleção de entradas (registros) no arquivo de indice mantendo a ordem do arquivo.
Como gerenciar inserções e deleções num arquivo de indice de modo a manter, de forma eficiente, o arquivo de indices sempre ordenado ? Não queremos propagar « shifts » pelas páginas do arquivo de indice
até o final do arquivo, a cada inserção ou deleção ! A idéia é só executar « shifts » em poucas páginas !
![Page 5: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/5.jpg)
ISAM - Motivação Quais os empregados com salário > 2000 ? Busca binária no arquivo de índice até
encontrar o primeiro salário > 2000 Escaneia o arquivo de índice a partir deste
ponto e lê os registros correspondentes. Se o arquivo de índice é muito grande : busca
binária pode ser dispendiosa.
![Page 6: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/6.jpg)
IdéiaCriar um segundo arquivo com um registro para cada página do arquivo de indice original
<primeira chave da página, ponteiro da página>
Ordenado por chave
![Page 7: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/7.jpg)
Como são os nós internos da estrutura ISAM ?
P0 P1 P2 Pi Pi+1 PmK1 ... ...K2 K3 Ki+1 Km
Pi = ponteiros que apontam para um núm. de página no nível imediatamente inferior
Ki = valor do atributo chave do índice. Exemplo: se o atributo chave é idade então Ki é um valor de idade.
K < Ki+1 K ≥ Ki+1
Valores K da chave nesta página são < Ki+1
Valores K da chave nesta página são ≥ Ki+1
![Page 8: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/8.jpg)
Idéia Se quero buscar empregado com status > 7:
Não é preciso fazer busca binária nas páginas do arquivo de indice
Faz-se a busca binária no segundo arquivo, que é bem menor do que o primeiro arquivo
2* 5* 7* 12* 14* 17* 19* 22*
14
![Page 9: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/9.jpg)
Idéia (continuação)Segundo arquivo menor que arquivo original
Busca binária no segundo arquivo mais rápida
Se segundo arquivo não cabe numa página
Repetir o processo : cria-se um terceiro arquivo com um registro para cada página do segundo arquivo… Raiz cabe numa página
![Page 10: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/10.jpg)
Organização do índice em árvore
Páginasauxiliaresque permitemchegar rapidamente a uma folha
Páginas do arquivo de índice
Páginas do Arquivo de Dados
![Page 11: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/11.jpg)
Alocação de Páginas em ISAM Páginas primárias do índice: são as folhas
Contém os registros do arquivo de índice
Páginas de overflow : contém os registros do arquivo de índice que não cabem na página onde deveriam ser inseridos
![Page 12: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/12.jpg)
Discussão ISAM é uma estrutura estática
Na criação do arquivo Páginas primárias (folhas) são alocadas 20% de cada página é livre para posteriores inserções,
tentando “adiar” ao máximo a criação de páginas de overflow
Páginas intermediárias são criadas. Manutenção :
Páginas de overflow são alocadas à medida que as páginas primárias do índice ficam cheias em decorrência de inserções.
![Page 13: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/13.jpg)
Esquema Geral do Método ISAM
Páginasdos arquivosde indices(a partir da 2a camada)
Páginas de overflow
Páginas primárias –as entradas do arquivo de índice da primeira camada
![Page 14: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/14.jpg)
Busca na estrutura ISAMExemplo: Busca da chave 27Em cada nível da estrutura: P0,K1,P1,K2,...,Km,Pm m chaves e m+1 ponteiros
Se 27 < K1: transfere a busca para a página apontada por P0 Se 27 ≥ Km: transfere a busca para a página apontada por Pm Caso contrário: varre-se a página para encontrar chaves K1,
K2 tais que Ki ≤ 27 < Ki+1 Transfere a busca para a página apontada por Pi
![Page 15: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/15.jpg)
Exemplo: Busca de um registro de dados
40
Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Busca da chave 27
![Page 16: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/16.jpg)
Inserção de um registro
40Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Inserção de 23*, 48*, 41*, 42*
23*
Página de Overflow
48* 41*
42*
![Page 17: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/17.jpg)
Deleção de um registro
40Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Deleção de 42*, 51*, 97*
23*
Pagina de Overflow
48* 41*
42*
Procura 51*
Nunca sãoalteradas !!
![Page 18: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/18.jpg)
Discussão Se um registro é removido de uma página de overflow e a
página ficar vazia, a página é “removida” – retira-se o ponteiro que apontava para ela.
Se um registro é removido de uma página primária e a página ficar vazia: (estratégia mais simples, evita perder muito tempo na manutenção do índice !!)
ela fica do jeito como está: não é “removida” eventuais registros contidos em páginas de overflow não são
transferidos para páginas primárias vazias !
![Page 19: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/19.jpg)
Custo para chegar em uma folha Número de I/O = número de níveis da árvore
Capacidade de cada página = F = número de ponteiros saindo de cada página
Total de páginas primárias = N Número de níveis = logF N
Logo Custo I/O para chegar em uma folha = logF N
![Page 20: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/20.jpg)
Comparação de CustosCusto de uma busca A = a
Arquivo de 1 000 000 registros 10 registros por página de dados : total de páginas = 100 000 100 ponteiros em cada página de índice (99 entradas (chave,pt) +
ponteiro P0) Arquivo não ordenado por A
Scan = 1000 000/10 = 100000 I/0 Arquivo ordenado por A
Busca binária = log2 100000 = 17 I/0 Arquivo estruturado usando método ISAM
Arquivo de indice usa alternativa 1 (registro do indice = registro de dados)
Custo = log100 100000 = entre 2 e 3 I/0, pois 1002 < 100000 < 1003
![Page 21: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/21.jpg)
Vantagens de ISAM ISAM é estático :
inserções e deleções afetam somente as folhas. Nós internos não sofrem modificações após uma
inserção ou deleção de registros do indice. Logo, páginas internas podem ser manipuladas
por outras transações sem problemas de bloqueios, já que nunca são alteradas.
![Page 22: Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC 2013-1](https://reader035.vdocuments.com.br/reader035/viewer/2022070311/552fc105497959413d8c0496/html5/thumbnails/22.jpg)
Desvantagens de ISAM Possibilidade de cadeias de páginas overflow Páginas overflow geralmente não são
ordenadas, a fim de agilizar inserções. Para aliviar este problema :
Árvore é criada com 20% de cada folha livre Entretanto, uma vez preenchido este espaço,
cadeias de overflow só podem ser eliminadas através de uma total reorganização da estrutura.