BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Tamanho: px
Começar a partir da página:

Download "BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar"

Transcrição

1 - Aula 2 - ÍNDICE 1. INTRODUÇÃO Quando criamos a estrutura de um banco de dados temos que usar artifícios que melhorem a performance na recuperação dos dados que lá serão armazenados. Dentre várias técnicas existentes para melhorar a esta performance existe a criação de índices. Conceituação/Analogia O Índice é um arquivo auxiliar associado a uma Tabela. Sua função é acelerar o tempo de acesso às linhas de uma Tabela, cria ponteiros para os dados armazenados em colunas especificas. O Banco de dados usa o Índice de maneira semelhante ao índice remissivo de um livro, verifica um determinado assunto no Índice e depois localiza a sua posição em uma determinada página. 2. CRIAÇÃO DE ÍNDICE O índice serve para prover um acesso rápido a linhas das tabelas. Por meio dele é possível unir uma ou mais colunas por onde o acesso é mais freqüente. Exemplo: Temos uma tabela de pessoas, normalmente queremos fazer buscas em ordem alfabética. O nome, não é uma boa chave primária para a tabela por ser alfanumérica, o que deixa as pesquisas mais lentas e também pela repetição de nomes. Dessa forma, cria-se um índice para o nome da pessoa. Assim, garante-se um acesso mais rápido aos nomes, visto que os dados buscados estariam fora de seqüência. Os valores indexados são armazenados em um objeto do banco de dados em ordem, o que permite ao SGBD pesquisar primeiro no índice, para depois buscar na tabela. É importante ressaltar que alguns bancos de dados necessitam de índices constantemente atualizados, pois eventualmente estes perdem a referência ao dado Quando criar um índice O índice quando criado com critérios bem definidos é traz uma enorme vantagem, mas por outro lado pode trazer enormes problemas, visto que todo trabalho de um SGBD envolve um custo. Não é conveniente sair criando índices para cada um dos campos da tabela sem que haja uma razão para isto. Quando um índice é criado uma das tarefas do SGBD é mantê-lo atualizado a cada nova inclusão, exclusão e alteração nos dados. Além do mais, o índice também ocupa espaço no banco de dados, pois é criado um novo objeto que manterá informações indexadas e armazenará a referência à linha física da tabela. 1

2 Se são criados muitos índices, pode-se prejudicar o desempenho do banco de dados Se são criados poucos índices, pode-se prejudicar o desempenho da aplicação. Quando criar índices: a) Chaves Primárias: se o banco de dados não criá-las automaticamente, é necessário fazê-lo manualmente. b) Chave Estrangeira: é sempre recomendável criar, principalmente quando a tabela que faz referência é muito grande. c) Colunas utilizadas freqüentemente na cláusula WHERE ou JOIN do comando SELECT. Quando não criar índices: a) Colunas com muitos valores iguais. b) Colunas com muito conteúdo NULO (não inicializados). c) Tabelas muito pequenas. Sempre que uma consulta estiver muito lenta, verifique a possibilidade de criar índice para facilitar a busca. Para criar um índice, utilize a seguinte sintaxe: Sintaxe: CREATE INDEX nome_index ON nome_tabela (coluna [ASC DESC]) Exemplo: CREATE INDEX idx_dep_nome ON departamento(dep_nome) CREATE INDEX idx_dep_varios ON departamento(dep_nome, dep_ramal) Para excluir um índice, utilize a seguinte sintaxe: Sintaxe: DROP INDEX nome_index Exemplo: DROP INDEX idx_dep_varios Não é possível modificar índices. Para alterar um índice, elimine-o e, depois, recrie-o. OBSERVAÇÃO Ao eliminar uma tabela, os índices e as constraints são eliminados automaticamente. 2

3 3. ACESSO A DADOS EM UM SGBD Para compreender melhor a utilização de índices é importante conhecer a estrutura de acesso a dados em um SGBD. Neste contexto, observamos que os bancos de dados são armazenados fisicamente como arquivos de registros, que são geralmente armazenados em discos magnéticos. Assim, os meios de armazenamento formam uma hierarquia de armazenamento que inclui duas categorias principais: - Armazenamento Principal: Operados diretamente pela CPU, como a Memória Principal e Memória Cache. - Armazenamento Secundário: Inclui os discos magnéticos, óticos e fitas. Geralmente possuem uma capacidade maior, porém são mais lentos e não podem ser acessados diretamente pela CPU. 3

4 A maioria dos bancos de dados está armazenada sob maneira permanente (ou persistente) sob a forma de armazenamento secundário. Geralmente, o SGBD possui diversas opções disponíveis para organizar os dados, e o processo relativo ao projeto de banco de dados físico envolve escolher entre as opções, as técnicas de organização de dados. Os dados armazenados em disco são organizados na forma de arquivos de registros. Cada qual é uma coleção de valores de dados que podem ser interpretados como fatos sobre entidades, seus atributos e seus relacionamentos. Para acessar uma informação no banco de dados considera-se o tipo de requisição e a estrutura utilizada para organização e acesso às chamadas páginas de dados Organização dos dados em Memória Secundária - Arquivos Heap ou pile (aglomerado): Melhor opção quando o acesso típico é uma busca seqüencial, sem ordem, recuperando todos os registros. Os registros são posicionados no arquivo pela ordem na qual foram incluídos. São utilizados pelos índices secundários e utilizados para coletar e armazenar registros de dados para utilização futura. Exemplo: um simples arquivo de registros de dados. - Arquivos Ordenados: Melhor opção se os registros devem ser recuperados em alguma ordem, ou quando somente uma porção contígua dos registros ordenados é necessária. Exemplo: Arquivo de dados, possivelmente ordenado, além de vários índices. - Arquivos Hashed: Melhor para seleções de igualdade. Uma função hash é aplicada ao valor do campo de um registro e retorna o endereço do bloco do disco no qual o registro está armazenado. Para a maioria dos registros, precisamos somente do acesso a um único bloco para recuperar aquele registro. Não é adequado para acesso seqüencial ordenado. Existem outras maneiras ou possibilidades para organizar arquivos, como árvores-b e arquivos de registro mistos, que implementam relacionamentos entre registros de diferentes tipos fisicamente como parte da estrutura de armazenamento. 4. INDEXAÇÃO Como visto, os índices são estrutura de dados que recebem como entrada uma propriedade de registro (por exemplo, um valor de um ou mais campos) e os encontra com essa propriedade rapidamente. Um índice permite localizar um registro sem ter que examinar mais que uma pequena fração dos registros possíveis. Assim sendo, podemos concluir que os campos cujos valores o índice se baseia formam a chave de pesquisa; Recapitulando Índices são estruturas de dados auxiliares cujo único propósito é tornar mais rápido o acesso a registros baseado em certos campos, chamados campos de indexação. 4

5 4.1. Tipos de Índices - Índices primários - baseado na chave de ordenação; - Índices de agrupamentos (clustering) - baseado no campo de ordenação não-chave de um arquivo; - Índices secundários - baseado em qualquer campo não ordenado de um arquivo; - Índices multiníveis; - Árvores B e B+; - Tabelas Hash; Um dos mais antigos esquemas de índice utilizados em sistema de banco de dados é chamado de arquivo indexado seqüencialmente, que são projetados para aplicações que requerem tanto o processamento seqüencial de um arquivo inteiro quanto o acesso aleatório a registros individuais. Estes índices podem ser: - Densos: É quando o número de entradas do índice é igual ao número de registros no arquivo de dados. Cada registro no arquivo de índice contém o endereço de um registro no arquivo de dados. Ponteiros Ponteiros Índice denso sobre um arquivo de dados seqüenciais - Esparços: Usa-se menos espaço de armazenamento que o índice denso ao custo de um tempo um pouco maior para localizar um registro dada a sua chave. É quando o número de entradas do índice é igual ao número de blocos do arquivo de dados. Apenas alguns registros de dados são representados no arquivo de índices. Em geral, aponta para o 1º registro de bloco. Índice esparso sobre um arquivo de dados seqüenciais 5

6 Índice Primário É o índice associado a uma chave primária. Nada mais é do que um arquivo ordenado, cujos registros são de tamanho fixo com dois tampos. O primeiro, do mesmo tipo do campo chave de ordenação (chave primária) e o segundo é um ponteiro para um bloco do disco ou arquivo de dados. Utiliza índice esparço Índice de Agrupamento (Clustering) Se os registros de um arquivo estiverem ordenados fisicamente por um campo que não seja chave, ou seja, que não possui um valor distinto, esse campo é chamado de campo clustering. Semelhante ao índice primário possui dois campos de ordenação, no entanto o primeiro 6

7 campo é do mesmo tipo do campo clustering e o segundo é um ponteiro para o bloco. Neste sentido sempre há a reserva de um bloco inteiro para cada valor de campo clustering, melhorando operações de inclusão e exclusão. Em simples palavras é um índice associado a um campo não chave. Utiliza índice esparço. 7

8 Índice Secundário No índice secundário o campo de indexação é um campo não ordenado do arquivo de dados. Pode haver muitos índices secundários para um mesmo arquivo. Dois casos: - O campo de indexação é um campo chave (às vezes chamado de chave secundária). - O campo de indexação não é chave. É possível que mais de um registro tenha o valor da chave. Isso ocorre, por exemplo, quando a chave de pesquisa não é a chave primária; Um índice secundário é um índice denso, normalmente com duplicatas. O índice consiste em pares de chaves-ponteiro. Neste caso, sempre que são permitidas chaves de pesquisas duplicadas. Outra possibilidade para índices secundários é a entrada de índice para um bloco de dados onde a menor chave de pesquisa é nova, isto é, a chave não apareceu em um bloco anterior; Se não há chave de pesquisa nova no bloco, então sua entrada de índice contém a única chave de pesquisa encontrada nesse bloco; Pode-se encontrar os registros de uma chave de pesquisa K examinando-se o índice para a primeira entrada cuja chave é: - Igual a K - Menor que K, mas a próxima chave é maior que K Segue-se o ponteiro da entrada. Se for encontrado pelo menos um registro com a chave de pesquisa K, então a busca continua em blocos adicionais, até encontrar todos os registros com a chave de pesquisa K. 8

9 Usa o índice esparso indicando a nova chave de pesquisa mais baixa em cada bloco. Organizando as idéias: Campos ordenados Campos não ordenados Campo chave Índice primário Índice Secundário (chave) Campo não chave Índice de agrupamento Índice Secundário (não chave) Tipo de Índice Número de Entradas Denso ou Esparço Primário Nº de blocos no arq. de dados Esparço Agrupamento Nº de valores distintos do campo de Esparço indexação Secundário (chave) Nº de reg. no arq. de dados Denso Secundário (não chave) Nº de reg. no arq. de dados Denso Nº de valores distintos de indexação Esparço Índices Multiníveis Uma pesquisa binária é aplicada ao índice para localizar ponteiros para um bloco do disco ou para um registro no arquivo que possui um valor de campo índice específico. Se o arquivo de índices se torna muito grande para ser armazenado em bloco de disco, é interessante indexá-lo em mais de um nível.a vantagem é que um índice pequeno pode ser mantido em memória e o tempo de busca é mais baixo; por outro lado, muitos níveis de índices podem aumentar a complexidade do sistema, sendo mais recomendado a utilização de outra estrutura como a que veremos mais a frente: árvore-b. 9

10 Um índice multinível é um índice de índice. - Primeiro nível: arquivo ordenado pela chave de indexação, valores distintos, entradas de tamanho fixo. - Demais níveis: índice primário sobre o índice do nível anterior e assim sucessivamente até que no último nível o índice ocupe apenas um bloco. - Número de acessos a bloco: um a cada nível de índice, mais um ao bloco do arquivo de dados. 10

11 A figura acima exemplifica um índice primário de dois níveis que se parece com a organização ISAM (Indexed Sequential Acess Method - Método de Acesso Seqüencial Indexado). O problema dos índices multiníveis são arquivos fisicamente ordenados, portanto, ineficientes na inserção e remoção. Para solucionar este problema podem-se adotar as seguintes soluções: - Deixar algum espaço em cada um dos blocos para inserção de novas entradas. - Estruturas de dados: Árvores B e suas variações GERENCIAMENTO DE ÍNDICES NAS MODIFICAÇÕES DE DADOS Os arquivos seqüenciais apresentam problemas com o tempo, visto que um bloco não é mais suficiente para armazenar o conteúdo que era antes armazenado. Para contornar esse problema é possível adotar as seguintes soluções: - Criar blocos de estouro (overflow). Blocos de estouro não têm entradas em um índice esparso; - Inserir novos blocos na ordem seqüencial; - Se não houver lugar para inserir informação em um bloco, alguma informação poderá ser transferida para outro bloco. De igual forma, blocos vazios poderão ser combinados Árvore B Árvores B e B + são casos especiais de estruturas de dados bastantes conhecidas do tipo árvore. Uma árvore é formada por nós, e cada nó na árvore, exceto um nó especial denominado raiz, possui um nó pai e diversos nós filhos. Um nó que não possui filhos é chamado de nó folha. Um modo de implementar uma árvore é possuir tantos ponteiros em cada nó quantos forem os nós filhos daquele nó. E para percorrer todos os nós, da árvore e da sub-árvore é necessário fazer uso da recursividade. 11

12 ÁRVORE DE PESQUISA Uma árvore de pesquisa é um tipo especial de árvore que se utilizada para guiar a pesquisa por um registro, dado o valor de um dos campos do registro. Árvore de busca projetada com dois objetivos: - Manter a árvore balanceada; e - Evitar o desperdício de espaço dentro de um nó, à custa de maior complexidade nos algoritmos de inserção e remoção. Regras: - Os nós da sub-árvore esquerda contém valores menores que a raiz; - Os nós da sub-árvore direita contém valores maiores ou iguais a raiz; - As sub-árvores são árvores binárias de pesquisa ÁRVORE B Em computação, Árvore B ou B-Tree é uma estrutura de dados árvores que são muito utilizadas em banco de dados e sistema de arquivos. Para inserir ou remover variáveis de um nó, o nó não poderá ultrapassar sua ordem e nem ser menor que sua ordem dividida por dois. Árvores B não precisam ser rebalanceadas como são freqüentemente as árvores de busca binária com Árvore AVL. Árvores B têm vantagens substanciais em relação a outros tipos de implementações quanto ao tempo de acesso e pesquisa aos nós. Uma árvore B de ordem "m" (máximo de filhos para cada nó) é uma árvore que atende as seguintes propriedades: - Cada nó tem no máximo "m" filhos - Cada nó (exceto a raiz e as folhas) tem pelo menos "m/2" filhos - A raiz tem pelo menos dois filhos se a mesma não for uma folha - Todas as folhas aparecem no mesmo nível e não carregam informação - Um nó não-folha com "k" filhos deve ter k-1 chaves As vantagens da árvore B são: - Melhor desempenho por ter um número menor de nós do que uma árvore binária. Por exemplo: Menos nós significa menos altura que resulta em menos acessos ao disco. 12

13 - Por garantir poucos ponteiros entre os nós, há uma economia de espaço. - Maior rapidez em buscas pela utilização de chaves primárias. - Sua estrutura é dinâmica, ajustando automaticamente o balanceamento da árvore, a cada inclusão/exclusão. - Permite um tempo de acesso de dados menor, em uma busca aleatória, por causa de suas ramificações. Algoritmos Inserção 1. Primeiro pesquise a chave, para ter a certeza de que esta não existe na árvore. 2. Busque a posição onde esta será inserida. Teste para ver se o nó está cheio. 3. Se nó estiver vazio, insira o valor dentro dele, senão execute uma subdivisão do nó da seguinte forma: 3.1. Verifique se o nó-pai está vazio, se sim execute Passe o elemento do meio do nó para seu pai Divida o nó em dois nós iguais Se o nó pai estiver cheio, repita as duas linhas acima recursivamente. (Caso todos os nós-pai estiverem cheios, inclusive a raiz, deve ser criada uma nova raiz aumentando assim a altura da árvore Somente após satisfazer todas divisões necessárias, insira nova chave. Exclusão 1. Primeiro pesquise a chave para ter a certeza de que esta existe na árvore. 2. Se existir, verifique se está em folha, e faça a exclusão. 3. Se existir e não estiver em folha, substitua esta chave pela menor chave do filho a direita Se o número de chave no nó, for maior do que (Ordem/2-1), então termine a rotina Senão redistribua as chaves entre os nós vizinhos. Busca 1. Indique a chave que será procurada. 2. Pesquise desde a raiz até encontrá-la, e então retorne o nó e a posição desta. 3. Se a chave não for encontrada, continue o laço até encontrar um nil das folhas. Exemplo: 13

14 Hashing São particularmente adequados para pesquisas por igualdade. A idéia principal é usar uma função de hashing. Esta função mapeia um valor da chave de pesquisa (atributo de uma tabela) em um registro ou balde (bucket) de registros. A balde é uma unidade de armazenamento que contém um ou mais registros (um balde é tipicamente um bloco do disco). Numa organização de ficheiro em hashing, obtemos o balde de um registro a partir do valor da sua chave de pesquisa. Mais concretamente, o balde é obtido através do cálculo da função de hash para aquela chave de pesquisa. 14

15 A função de hash h é uma função do conjunto de todos os valores da chave K para o conjunto dos endereços de todos os baldes B. A função de hash é usada para localizar registros para as operações de acesso, inserção, bem como eliminação. Observe os exemplos de busca, inserção e exclusão. A desvantagem do hashing estático pode conduzir a longas cadeias de transbordo. Busca Inserção Exclusão Longas cadeias de transbordo podem desenvolver-se e degradar o desempenho HASHING ESTÁTICO O hashing estático escolhe a função hash com base no tamanho do arquivo atual, ou com base no tamanho antecipado do arquivo com base em um ponto no futuro. Esta técnica reorganiza periodicamente a estrutura de hash HASHING DINÂMICO Diferente do hashing estático a função hash é modificada dinamicamente para acomodar o crescimento ou encolhimento do banco de dados, usando o hashing extensível. 15

16 HASHING EXTENSÍVEL Divide e une os buckets enquanto o banco de dados cresce e encurta. A Eficiência do espaço é mantida e a função hash gera valores por intervalos relativamente grandes. Outra característica é que os buckets são criados por demanda. 5. REFERÊNCIAS ELMASRI, Ramez; Sistema de Banco de Dados - Fundamentos e Aplicações - 4ª Edição, Pearson Education, 2005 OLIVEIRA, Celso Henrique Poderoso; SQL Curso Prático; Novatec,

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 8 Indexação e Hashing Parte 1 Professora: Fátima L. S. Nunes Conceitos básicos Boa parte das consultas a BD referem-se a apenas uma parte pequena dos registros.

Leia mais

11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária

11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária /8/00 Tópicos Organização e Indexação de Dados em Memória Secundária Disciplina Bancos de Dados II Prof Renato Fileto INE/CTC/UF Bancos de dados e acesso a memória secundária Noções de organização de dados

Leia mais

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck Banco dedados I Estruturas de Índices para Arquivos Cascavel - Pr 2009 Sumário Introdução; Índices Ordenados de nível

Leia mais

Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis

Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis Sumário Bancos de Dados Avançados Índices DCC030 - TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 - TSI: Bancos de Dados Avançados (Sistemas Informação) DCC842 - Bancos de Dados (Pós-Graduação)

Leia mais

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000

Leia mais

Modelo Relacional. Josino Rodrigues

Modelo Relacional. Josino Rodrigues Modelo Relacional Josino Rodrigues Modelo Relacional Chave Primária Atributos PILOTO Num-cad Nome CPF Endereço 0101 João 123456 Recife Tuplas 0035 José 234567 São Paulo... 0987 Pedro 567890 Recife 2 Chave

Leia mais

Bases de Dados. Remoções em árvores B + Remoção em árvores B +

Bases de Dados. Remoções em árvores B + Remoção em árvores B + Bases de Dados Remoções em árvores B + Remoção em árvores B + Remoção procurar o registo e removê-lo do ficheiro se o apontador ou contentor ficar vazio, remover a entrada (valor, apontador) da folha se

Leia mais

Acesso Sequencial Indexado

Acesso Sequencial Indexado Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar

Leia mais

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória. Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+

Leia mais

indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016

indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 Universidade Federal do Paraná indexação e hashing Índices

Leia mais

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Prof. Paulo Ferreira Atividade para Sala de Aula: 25/11/2008 1. Introdução Índices Os índices

Leia mais

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......

Leia mais

BANCO DE DADOS Índices em BD Árvores B+

BANCO DE DADOS Índices em BD Árvores B+ BANCO DE DADOS Índices em BD Árvores B+ Bacharelado em Ciência da Computação IFCE - Campus Aracati - Semestre 2018.2 Prof. Érica Gallindo - erica.gallindo@ifce.edu.br Arquivos de banco de dados Um arquivo

Leia mais

Banco de Dados. Módulo 15 - Estruturas de Indexação

Banco de Dados. Módulo 15 - Estruturas de Indexação Banco de Dados Módulo 15 - Estruturas de Indexação Tópicos Introdução Árvores-B + Hashing Hashing Expansível Introdução Índice Primário (ou índice de clustering): índice cuja chave especifica a ordem sequencial

Leia mais

Métodos de Busca Parte 1

Métodos de Busca Parte 1 Métodos de Busca Parte 1 Introdução à Ciência da Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e do Prof. Thiago A. S. Pardo Introdução Importância em estudar

Leia mais

Índices. SCE-203 Algoritmos e Estruturas de Dados II

Índices. SCE-203 Algoritmos e Estruturas de Dados II Índices SCE-203 Algoritmos e Estruturas de Dados II Índice Em geral, um índice fornece mecanismos para localizar informações Índice de um livro ou catálogo de uma biblioteca Facilitam muito o trabalho

Leia mais

ACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro

ACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro ACH04 Aula Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro 1 Tipos de organização de arquivos Sequencial Lista ligada (com ou sem tabela de alocação) Indexada Um

Leia mais

Hashing convencional...

Hashing convencional... Hashing M.C.F. de Oliveira & Cristina Ciferri 2006/2007 Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 1 Hashing 0 chave de busca K = LOWELL h(k) endereço 4 1 2 3 4 5...

Leia mais

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão... Algoritmos e Estruturas de Dados II Hashing Prof Debora Medeiros Hashing convencional Revisão Adaptado dos Originais de: Maria Cristina F de Oliveira Cristina Ciferri Hashing Exemplo de espalhamento 0

Leia mais

Índices. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Índices. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Índices SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Índice Em geral, um índice fornece mecanismos para localizar informações Índice de um livro ou

Leia mais

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução? Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Árvores B Parte I Introdução Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da B-Tree

Leia mais

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão Árvore B Profa. Dra. Cristina Dutra de Aguiar Ciferri Método genérico para o armazenamento e a recuperação de dados voltado para arquivos volumosos proporciona rápido acesso aos dados possui custo mínimo

Leia mais

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Árvores Binárias Paginadas (Paged Binary Trees) 8 páginas-filhas 7 registros por página (por seek); Árvore de altura 2 e ordem

Leia mais

Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil

Leia mais

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash INF70 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd Roteiro Fundamentos Hash Estático Hash Extensível Hash Linear Considerações

Leia mais

Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira

Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira Árvores B Prof. Leandro C. Fernandes Estruturas de Dados Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira A invenção da árvore-b Bayer and McGreight, 1972, publicaram o artigo: "Organization and Maintenance

Leia mais

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações Índice Índices Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Em geral, um índice fornece mecanismos para localizar informações No caso de arquivos, permite localizar registros

Leia mais

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil em índices ordenados... mas com índice grande

Leia mais

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página: Roteiro Fundamentos Hash

Leia mais

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

Árvores B Partes I e II

Árvores B Partes I e II Estruturas de Dados Prof. Ricardo J. G. B. Campello Árvores B Partes I e II Motivação & Construção Bottom-Up Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção

Leia mais

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 informações diferentes; Tipos Primitivos são implementados nas

Leia mais

Estrutura de indexação de arquivos

Estrutura de indexação de arquivos Estrutura de indexação de arquivos Neste capítulo assume-se que um arquivo já existe e possui alguma organização primária desordenada ordenada ou hash Utiliza-se índices, que são estruturas de acesso adicionais

Leia mais

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Representação por Contiguidade Física Representação por Encadeamento Operações 2 Conceitos gerais Uma árvore

Leia mais

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Lista

Leia mais

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3 B-tree B-Trees Material da Prof. Denise Bandeira, aula de Christian Hofsetz B-Trees são árvores balanceadas. Diferente das árvores binárias, os nós de uma B-tree podem ter um número variável de nodos filho.

Leia mais

Introdução Métodos de Busca Parte 1

Introdução Métodos de Busca Parte 1 Introdução Métodos de Busca Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2009 Importância em estudar busca Busca é uma tarefa muito comum em computação? Vários métodos e estruturas

Leia mais

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática

Leia mais

Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos

Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos Classificação e Pesquisa de Dados Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos UFRGS INF1124 Arquivo indexado - AI Indicação de uso Baixa freqüência de acessos seqüenciais

Leia mais

Cap. 5 Indexação Baseada em Hashing

Cap. 5 Indexação Baseada em Hashing Cap. 5 Indexação Baseada em Hashing Not cahos-like, together crushed and bruised, But, as the world harmoniously confused: Where order in variety we see. -- Alexander Pope Abel J.P. Gomes Bibliography:

Leia mais

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução Algoritmos e Estruturas de Dados II Árvores B Parte I Introdução Adaptado dos Originais de: Profa. Debora Medeiros Ricardo J. G. B. Campello Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da

Leia mais

Sistemas de Arquivos. (Aula 23)

Sistemas de Arquivos. (Aula 23) Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento

Leia mais

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures Hashing externo (II) Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing Extensível Espalhamento Extensível (Extendible Hashing): permite um auto-ajuste do espaço de endereçamento do espalhamento

Leia mais

Métodos de Busca Parte 2

Métodos de Busca Parte 2 Métodos de Busca Parte 2 SCC-214 Projeto de Algoritmos Prof. Thiago A. S. Pardo Baseado no material do Prof. Rudinei Goularte 1 Introdução Acesso seqüencial = O(n) Quanto mais as estruturas (tabelas, arquivos,

Leia mais

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados Estruturas de Indexação de Dados Cristina Dutra de Aguiar Ciferri Índice Estrutura de acesso auxiliar usada para melhorar o desempenho na recuperação de registros Pesquisa restringida a um subconjunto

Leia mais

Aula 16. Tópicos Especiais II Banco de Dados. Prof. Dr. Dilermando Piva Jr.

Aula 16. Tópicos Especiais II Banco de Dados. Prof. Dr. Dilermando Piva Jr. 16 Aula 16 Tópicos Especiais II Banco de Dados Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Sistemas de Arquivos O computador tem facilitado bastante a vida dos seres

Leia mais

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition Capítulo 11: Implementação de Sistemas de Arquivos Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação

Leia mais

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORE B Vanessa Braganholo Estruturas de Dados e Seus Algoritmos INTRODUÇÃO 2 ARQUIVOS DE ACESSO DIRETO Basicamente, duas formas de acesso a um registro: Acesso via cálculo do endereço do registro (hashing)

Leia mais

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco GSI018 Sistemas Operacionais 31/10/2016 Implementação de Sistemas de Arquivos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Memória

Leia mais

INE5408 Estruturas de Dados. Gerência de Arquivos

INE5408 Estruturas de Dados. Gerência de Arquivos INE5408 Estruturas de Dados Gerência de Arquivos Introdução Arquivo: conjunto de dados em um dispositivo de armazenamento secundário (externo); tipicamente: disco, disquete, fita, CD-ROM, MO-Disc, Zip,

Leia mais

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures http://www.icmc.sc.usp.br/~sce183 Definição e Propriedades de árvores-b Ordem A ordem de uma árvore-b

Leia mais

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1 Ordem Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures A ordem de uma árvore-b é dada pelo número máximo de descendentes que uma página, ou nó, pode possuir

Leia mais

Pesquisa em Memória Secundária. Prof. Jonas Potros

Pesquisa em Memória Secundária. Prof. Jonas Potros Pesquisa em Memória Secundária Prof. Jonas Potros Árvores de Pesquisa São estruturas de dados muito eficientes quando deseja-se trabalhar com tabelas que caibam inteiramente na memória principal do computador.

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos físicos de armazenamento, exemplo

Leia mais

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso

Leia mais

Banco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr

Banco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr Banco de Dados Métodos de Ordenação de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Ordenação de Dados Ordenação é o ato de se colocar os elementos de

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli elisa@fw.uri.br Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS ESTRUTURAS E INDEXAÇÃO FELIPE G. TORRES ARQUIVOS Um arquivo é uma sequência de registros. Em muitos casos do mesmo tipo. Se cada registro no arquivo tem exatamente o

Leia mais

Organização de Arquivos

Organização de Arquivos Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted

Leia mais

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO

Leia mais

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro ACH2024 Aula 16 Árvores B Parte 1 Prof Helton Hideraldo Bíscaro 1 Na aula passada... 2 Organização indexada Blocos de dados: em cada bloco os registros são ordenados pela chave Índice primário: blocos

Leia mais

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Proposta por Knuth em 1973 variação de árvore-b Característica cada nó contém, no mínimo, 2/3 do número máximo de chaves Posterga o split

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO UNIVERSIAE E SÃO AULO INSTITUTO E CIÊNCIAS MATEMÁTICAS E E COMUTAÇÃO SCC-20 ALGORITMOS E ESTRUTURAS E AOS II rofa. Graça Nunes 2º. Sem. 2012 Nome: Nro. US Gabarito rova (27/6/2012) 1) (1.5) Associar características

Leia mais

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures (atualizado 2007 c/ material Profa. Cristina Ciferri) Construção de árvores-b Características Gerais

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 9. Indexação e Hashing Parte 2. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 9. Indexação e Hashing Parte 2. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 9 Indexação e Hashing Parte 2 Professora: Fátima L. S. Nunes Índices: Até agora: primários denso esparso índices sequenciais (ordenados) secundários denso Índices:

Leia mais

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que: Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes

Leia mais

Capítulo 11 Sistemas de Arquivos

Capítulo 11 Sistemas de Arquivos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo Sistemas de s Introdução O armazenamento e a recuperação de informações

Leia mais

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO Métodos de Pesquisa de Dados Árvores M-Vias Encontrar um dado em um conjunto de dados de forma eficiente Baseia-se na noção de uma chave (índice) de pesquisa Aplicação típica: SGBD Busca de dados em disco

Leia mais

Indexação de Arquivos III:

Indexação de Arquivos III: Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Indexação de Arquivos III: Busca com Múltiplas Chaves & Listas Invertidas Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria

Leia mais

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira Árvores-B (Parte II) Construção de árvores-b Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Características Gerais Organizar e manter um índice para um arquivo de acesso aleatório

Leia mais

GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores

GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC ROTEIRO Fundamentos Estrutura estática (ISAM) Estrutura

Leia mais

Capítulo 8: Abstrações de dados

Capítulo 8: Abstrações de dados Capítulo 8: Abstrações de dados Ciência da computação: Uma visão abrangente 11a Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Estruturas de dados básicas Matriz homogênea Matriz

Leia mais

INE5408 Estruturas de Dados

INE5408 Estruturas de Dados INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades - Algoritmos de inserção, pesquisa e deleção Definição Árvores B são árvores de pesquisa balanceadas especialmente projetadas para a pesquisa

Leia mais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

Memória. Memória Cache

Memória. Memória Cache Memória Memória Cache Revisão - Memória Principal Memória que armazena os dados e programas em linguagem de máquina em execução corrente Razoavelmente barata Tempo de acesso da ordem de nano-segundos a

Leia mais

HASHING HASHING 6/10/2008

HASHING HASHING 6/10/2008 Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial

Leia mais

Implementação de Diretórios (1)

Implementação de Diretórios (1) Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de

Leia mais

ALGORITMOS DE ORDENAÇÃO

ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,

Leia mais

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nos artigos Bayer, R. and E. McCreight. Organization and maintenance of large ordered

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Árvores B. Prof. Flávio Humberto Cabral Nunes

Árvores B. Prof. Flávio Humberto Cabral Nunes Árvores B Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Introdução 2. Busca 3. Inserção 4. Remoção 5. B* 6. B+ Capítulo: 8 (APOSTILA). Introdução Em muitas aplicações, a tabela considerada é muito grande

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso

Leia mais

Árvores Genéricas de Busca

Árvores Genéricas de Busca Árvores Genéricas de Busca Árvores não binárias também podem ser usadas para buscar elementos. Essas árvores são chamadas de árvores genéricas de busca, e elas podem ser de dois tipos: árvore de busca

Leia mais

Aplicações de listas e outras estruturas

Aplicações de listas e outras estruturas 19/1/11 Aplicações de listas e outras estruturas SCC- Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int)

Leia mais

Algoritmos e estruturas espaciais

Algoritmos e estruturas espaciais Algoritmos e estruturas espaciais Geometria Computacional As operações de consulta e análise de dados em bases de dados geográficos, baseiam-se em algoritmos de geometria computacional. Ex: ponto-em-polígono

Leia mais

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de

Leia mais

Aplicações de listas Outras estruturas

Aplicações de listas Outras estruturas Aplicações de listas Outras estruturas SCC-22 Algoritmos e Estruturas de Dados I Lucas Antiqueira Grandes números 2 Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long

Leia mais

Árvores AVL e Árvores B. Jeane Melo

Árvores AVL e Árvores B. Jeane Melo Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem

Leia mais

CHAPTER ONE. Uma árvore B de ordem "m" (máximo de filhos para cada nó) é uma árvore que atende as seguintes propriedades:

CHAPTER ONE. Uma árvore B de ordem m (máximo de filhos para cada nó) é uma árvore que atende as seguintes propriedades: / EDOA / 1 CHAPTER ONE B-Tree Uma B-tree, ou bárvore, é uma árvore de busca equilibrada, desenhada para ter um bom desempenho em dispositivos de memória secundária de acesso direto pois elas minimizam

Leia mais

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2; heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]

Leia mais