Estruturas de Dados para projeto de SGBD. Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash.

Slides:



Advertisements
Apresentações semelhantes
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Advertisements

Espalhamento.
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Banco de Dados Aula 01: Conceitos Básicos
GRAFOS. Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: –Existe um caminho para ir de um.
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
PROGRESSÃO ARITMÉTICA P.A.
Modelo planetário: errado Elétrons são descritos por meio de funções de onda Mecânica Quântica : probabilidades.
FORTRAN 90 Denise Yumi Takamura.
Introdução à Consulta 24/3/06. Categorias de comandos DDL : estruturação de objetos de BD Ex. create table, drop index, alter table... DML: manipulação.
SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos.
Vetores (2) Continuação.
Fotogravação.
VI: EQUILÍBRIO RADIATIVO
Prof. Dr. Helder Anibal Hermini
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
Utilização do montador Daedalus
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
Criptografia Quântica : Um Estudo
Teste Funcional de Software
Gustavo Vieira Pereira
Compressão por Hardware
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Aplicação GeneAl Treinamento no GRADEp Aplicação GeneAl.
Servidores e Programação Web Redes de Computadores.
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Fazendo Slides no Power Point
Banco de Dados I Profa. Jiani Cardoso 2/2005
Controle Digital Prof. Cesar da Costa 6.a Aula – Equações às diferenças.
Técnicas de Amostragem
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CES-11 LAB 03 Bitmap Quadtree
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo XI Noções de Estruturas de Dados.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
Sistemas de Arquivos Capítulo 4 Objetivo
Discos Rigídos 1. Tecnologia Raid
1 Definição de Dicionário Dicionário é um sistema de informações: Equivalente a um conjunto de elementos não repetidos Equivalente a um conjunto de elementos.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Função Gráficos. Domínio e imagem no gráfico.
FUNDAÇÃO CARLOS CHAGAS
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
Teorema do Confronto Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
Introdução à Codificação de Canal Evelio M. G. Fernández
CÓDIGOS CORRETORES DE ERROS
Interpolação Introdução Conceito de Interpolação
Representações na base decimal e binária
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Redes Embutidas - Prof a Luiza Mourelle 1 1 Topologias As topologias de redes intrachip podem ser agrupadas em duas classes principais: as redes diretas.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Listas Lineares.
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Entendendo as definições de classe
Curso de Programação em C++
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Robótica: Sistemas Sensorial e Motor
Computação Gráfica Geometria de Transformações
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Exercícios de revisão.
Transcrição da apresentação:

Estruturas de Dados para projeto de SGBD

Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash

Tabelas de Hash Função de hash Array de depósitos

Tabelas de Hash Função de Hash Função de hash tb. chave de hash Argumento : inteiro de 0 a B -1 Onde B é o número de depósitos ( buckets) K/B Onde K é o valor da chave

Tabelas de Hash Array de depósitos Array indexado de 0 a B – 1 B é o número de depósitos Contém cabeçalho de B listas encadeadas ( uma para cada depósito do array )

Tabelas Hash Sistemas hash Vantagens Aplicação da função sempre resulta num positivo Esse número positivo pode ser como binário

Uma tabela de Hash h(a) = 1 h(b) = 2 h(c) = 1 h(d) = d a c b SE registro tem a chave de pesquisa K ENTAO * guardar o registro vinculando-o à lista de depósitos correspondente ao depósito de h(K) K ={ a, b, c, d }

Tabelas Hash Armazenamento/ Mecanismo Armazenamento primário Armazenamento secundário PONTEIRO BLOCO Foco em BD : armazenamento secundário

Tipos de Hashing Hashing estático Número fixo de endereços Difícil expansão / redução do arquivo dinamic. Hashing Linear Sem estrutura adicional ao arquivo Hashing Extensível/ Dinâmico Usar estrutura de acesso adicional ao arquivo Similar a indexação usa valor resultante da função hash no campo de pesquisa

Hashing extensível Um vetor/tabela 2 d Aplicar a função hash nas chaves Obtém-se número escolher qtde de bits para diferenciar entre os índices a serem armazenados no diretório. d é a profundidade global do diretório d especifica o nº de linhas da tabela (diretório), que será 2d.

Hashing extensível Porém Não é preciso haver um bucket para cada uma das 2 d localizações Introduz um nível indireto (depósitos) o array de ponteiros para blocos E não para os blocos dos dados Crescem em potências de 2 Em 1 etapa de cresc,, o número de depósitos é duplicado

Depósitos Blocos de dados

Profundidade global e local Profundidade global ( d) Profundidade local ( d' ) indica quantos bits da sequência da função hash usados para determinar pertinência dos registros. Pode ser menor ou igual a d

Uma tabela de Hash INSERT: h(a) = 1 h(b) = 2 h(c) = 1 h(d) = d a c b h(e) = 1 e

Inserção numa tabela hash Inserir registro com chave de pesquisa k calcula-se o h(K) Tomar os primeiros i bits dessa sequência Ir para a entrada do array de dpepósitos indexada por i mantido como parte da e.d. Seguir o ponteiro do array de depósito Obtem-se o bloco B em dois MAS...

Inserção numa tabela hash ( 2) Considere j como o número de bits pertinentes ao bloco B 1. SE j < i : nada a fazer nos depósitos Desmembrar B em dois; Dsitribuir registros de B nos 2 blocos usando o (j+1)-ésimo bit Inserir j+1 em cada nó de cada bloco para indicar número de bits usados na pertinência Ajustar o array de depósitos para apontar os dois blocos, de acordo com o (j+1)-ésimo MAS... se não resolver

Inserção numa tabela hash ( 2) Todos registros retidos em um bloco B antigo, em lugar de divididos com o bloco novo SE i = j, incrementar i em 1 unidade O comprimento do array de depósito é duplicado 2 i é agora 2 i+1 W é a sequência de i bits indexando a entrada do depósito anterior w0, w1 apontam para mesmo bloco B J permanece o mesmo Agora i > j