A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Organização de Arquivos Introdução

Apresentações semelhantes


Apresentação em tema: "Organização de Arquivos Introdução"— Transcrição da apresentação:

1 Organização de Arquivos Introdução
AULA 4 Profa. Sandra de Amo GBC053 – BCC 2013-1 BCC

2 Estudaremos nesta aula
Part I : Como os dados são organizados dentro dos arquivos Arquivos de indice O que é um arquivo de índice ? Funcionamento geral Parte II: Organização: indice ordenado versus hash Tipos principais de arquivos de índices: agrupados, densos, primários, secundários, compostos, ... Indices agrupados BCC

3 Dados, indices, índices, índices, ...
Consulta: Me dê o livro Database Systems – Ramakrishnan/Gehrke Indice DADOS BCC

4 Arquivos de Indice rid A B C D E F G A D E F rid a b1 c1 d e f g1 a d
(12,1) a b1 c1 d e f g1 a d e f (12,1) a d e f (18,5) (18,5) a b2 c2 d e f g2 a d e f (22,4) (22,4) a b3 c3 d e f g4 chave Arquivo de Indice Endereços obtidos no diretório de arquivos e no diretório de slots das páginas Arquivo de Dados BCC 3/25/2017

5 Dinâmica geral dos Arquivos de Indice
Busca no arquivo de indice: Páginas deste arquivo são organizadas de modo a permitir a localização rápida das entradas com uma dada chave. Uma vez encontradas rapidamente estas entradas no arquivo de índice, já temos os endereços dos registros de dados associados (seu rid = (N,X)). O local exato no disco onde se encontra a página de número N é encontrado através do diretório de arquivos do disco: fornece o endereço da header page do arquivo. O local exato na página N onde se encontra o slot X do registro procurado é obtido através do diretório de slots da página N BCC 3/25/2017 5 5

6 Como encontrar um registro num Arquivo A conhecendo o rid do registro?
Vai no diretório de arquivos no disco e procura o registro correspondente ao arquivo A, para obter o ponteiro para o primeiro bloco do arquivo. Calcula o endereço do 12º bloco e posiciona a cabeça de leitura neste endereço. Transfere o 12º bloco para o buffer pool Processador de consultas consulta o diretório de slot da página 12 e procura o endereço do registro contido no slot 3, bem como o tamanho (L) do registro contido neste slot. Vai para este endereço de memória e lê L bytes. BCC

7 Como encontrar um registro num Arquivo A caso não se conheça o rid do registro?
Vai no diretório de arquivos no disco e procura o registro correspondente ao arquivo A, para obter o ponteiro para o primeiro bloco do arquivo. Transfere um a um cada bloco do arquivo para o buffer pool. Cada bloco transferido é escaneado sequencialmente pelo processador de consultas até encontrar o registro procurado. BCC

8 Arquivos de Indice Otimiza a procura de registros em arquivos, pois o arquivo de indice contém o rid dos registros. Através do rid encontra-se facilmente os registros de dados completos nos arquivos. No arquivo de índice, cada registro é da forma (valores_chave,rid) Chave = conjunto de atributos Se chave contém chave candidata do arquivo, então chave determina unicamente o rid Caso contrário, uma mesma chave pode acessar diversos rids. Exemplo : se chave = {Salário} BCC 3/25/2017

9 Como as informações são obtidas rapidamente no arquivo de indice ?
Métodos de Acesso Técnicas de organização das páginas dos arquivos de índices B+Trees Tabelas Hash BCC

10 Catálogo do Sistema Metadados Descrição dos dados e índices
Informações sobre visões Catálogo = conjunto de relações (arquivos) contendo todas as informações sobre os arquivos sendo utilizados pelo sistema. BCC 3/25/2017

11 Catálogo do Sistema Arquivos « Relações », « Atributos », « Restrições », ... Nome da relação, nome do arquivo , estrutura do arquivo Nomes e tipos dos atributos Nome do índice Restrições de Integridade (chave primária, estrangeira) Guardam inclusive registros correspondentes às relações « Relações », « Indices », « Atributos », « Visões », ... Arquivo « Indices » Nome e estrutura de cada índice Chave de cada índice Arquivo « Visões » Nome e código BCC 3/25/2017

12 Exemplo Cat-Atributos Nome-Atributo Nome-Relação Tipo Posição
string 1 2 3 4 IdE Estudantes Idade integer IdC Cursos NomeC 3/25/2017 BCC

13 Resumo: Arquivo de Indice
O que é ? estrutura auxiliar projetada para agilizar operações de busca, inserção e deleção Em que consiste ? Uma coleção de registros Uma chave de busca k Cada entrada contém informação suficiente para localizar registros de dados contendo a chave de busca k. BCC

14 Vantagens Tamanho: normalmente é bem menor do que o arquivo de dados
Organização optimizada: pode ser sequencial, ordenado ou hashed Método de Acesso rápido: pode ser estruturado usando uma b-tree ou hash (estático, dinâmico) BCC

15 O que armazenar em um índice ?
Registro de Dados = Registro do indice = Chave + Rid Chave do índice !! BCC

16 Indice: como são os registros ?
Alternativa 1 Entrada = registro inteiro de dados Neste caso, a única vantagem do índice é a forma como é organizado: ordenado, hash, com método de acesso ou não Alternativa 2 Entrada = (k,rid), k = chave Chave = conjunto de atributos Alternativa 3 Entrada = (k, lista de rids) Vantagem: ocupa menos espaço. Uma chave acessa diversos registros no arquivo de dados Desvantagem: registro de tamanho variável BCC

17 Como organizar as entradas do índice ?
Entrada = registro Entradas podem ser ordenadas Entradas podem ser organizadas por Hash BCC

18 Organização por Hash Bucket 1 Bucket 2 Bucket 3
Páginas do arquivo de índice são agrupadas por buckets Bucket é determinado aplicando-se uma função h ao campo de procura Exemplo: estamos procurando todos os empregados de salário = 5000 Como encontrá-los rapidamente ? Indice organizado por hash no campo Salário Função hash: mod 3 Onde estão os rids dos empregados com salário = 5000 ? 5000 mod 3 = 2 Resposta: bucket 2 Bucket 1 Bucket 2 Bucket 3 BCC

19 Exemplo de Indice 2000 Paulo, 44, 2000 2000 Pedro, 35, 2000 2000
Carlos, 44, 2000 2500 José, 40, 2500 3000 João, 35, 3000 3500 Ilmério, 40, 3500 3500 Rodrigo, 40, 3500 4000 Maria, 30, 4000 4000 Sara, 35, 4000 5000 Sabrina, 31, 5000 Entradas : organizadas de forma ordenada Registros de dados BCC

20 Exemplo de Indice organizado por Hash
Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 João, 35, 3000 5000 Ilmério, 40, 3500 3000 Rodrigo, 40, 3500 3500 Maria, 30, 4000 3500 H(sal) = 00 Sara, 35, 4000 4000 Sabrina, 31, 5000 4000 Registros de dados Entradas BCC

21 Tipos de indices Relação entre a maneira como são organizados os dados no índice e no arquivo de dados Agrupado – não agrupado Densos – esparsos Primários – secundários Simples - compostos BCC

22 Indices Agrupados Agrupados : a ordem dos registros é compatível com a ordem das entradas no arquivo de índice. Se entrada é do tipo (chave, rid) e o índice é agrupado então os registros de dados são ordenados por chave. Somente um índice agrupado do tipo (chave,rid) BCC

23 Exemplo de Indice Agrupado
2000 Paulo, 44, 2000 2000 Pedro, 35, 2000 2000 Carlos, 44, 2000 2500 José, 40, 2500 3000 João, 35, 3000 3500 Ilmério, 40, 3500 3500 Rodrigo, 40, 3500 4000 Maria, 30, 4000 4000 Sara, 35, 4000 5000 Sabrina, 31, 5000 Entradas Registros de dados BCC

24 Exemplo de Indice não agrupado
Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 João, 35, 3000 5000 Ilmério, 40, 3500 3000 Rodrigo, 40, 3500 3500 Maria, 30, 4000 3500 H(sal) = 00 Sara, 35, 4000 4000 Sabrina, 31, 5000 4000 Registros de dados Entradas BCC

25 Exemplo de Indice agrupado
Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 5000 Sabrina, 31, 5000 3000 Rodrigo, 40, 3500 Ilmério, 40, 3500 3500 3500 João, 35, 3000 H(sal) = 00 Sara, 35, 4000 4000 Maria, 30, 4000 4000 Registros de dados Entradas BCC

26 Vantagens e desvantagens
Desvantagem : grande overhead para mover registros a fim de preservar a ordem depois de inserções e deleções. Vantagem : Seleções do tipo = ou <> são altamente otimizadas caso os registros sejam ordenados de acordo com a chave do indice. Rids das entradas apontam para registros contíguos, menos páginas são manipuladas. BCC


Carregar ppt "Organização de Arquivos Introdução"

Apresentações semelhantes


Anúncios Google