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

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

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

Transcrição

1 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

2 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm ~ tracks per platter sector = 512 B ~ 500 sectors per (inner) track ~ 1000 sectors per (outer) track 3 Acesso aos dados Os dados são transferidos entre o disco e a memória em blocos um bloco abrange vários sectores contíguos É objectivo de qualquer SGBD minimizar o número de transferências de blocos entre disco e memória 4 2

3 Índices Índices permitem acelerar o acesso aos dados p.ex. índice de um livro assunto é a chave de procura (search key) nº da página é o apontador Um ficheiro de índices contém registos na forma search key apontador em geral é muito mais pequeno que o ficheiro de dados 5 Índices Dois tipos básicos de índices índices ordenados (p.ex. árvore B + ) valores da chave de procura armazenados por ordem índices do tipo "hash" valores da chave de procura distribuídos uniformemente por vários "contentores" (buckets) de acordo com uma função de "hash" 6 3

4 Escolha de índices Critérios para a escolha de índices possibilidade de acesso eficiente aos dados registos com o valor dado para o atributo registos com o valor do atributo numa gama de valores tempo de inserção tempo de remoção espaço ocupado 7 Índices ordenados Num ficheiro de dados sequencial podem haver 2 tipos de índices índice primário é o índice cuja chave de procura especifica a ordem dos dados no ficheiro normalmente a chave de procura é a chave primária índice secundário um índice que especifica uma ordem diferente da do ficheiro i Se houver índice primário, o ficheiro é "sequencial indexado" 8 4

5 Índices primários (clustered) índice índice 9 Índices secundários (non-clustered) índice índice índice 10 5

6 Índices densos Um índice é denso se refere todos os valores possíveis da chave de procura 11 Índices esparsos Um índice é esparso se contém entradas para apenas alguns dos valores da chave de procura Aplicável quando os registos estão ordenados por essa chave (índice primário) para localizar o registo com valor K encontrar a entrada no índice com o maior valor < K pesquisar o ficheiro sequencialmente a partir daí 12 6

7 Índices esparsos Menos espaço e manobras de inserção/remoção Mais lento a localizar os registos pretendidos Melhor compromisso é um índice esparso com uma entrada para cada bloco no ficheiro, correspondente ao menor valor da chave de procura nesse bloco 13 Índices multi-nível Se um índice primário não couber todo na memória, o acesso complica-se para reduzir o número de acessos ao disco, trata-se o índice como um ficheiro sequencial e cria-se um índice esparso para o índice primário se este for demasiado grande para caber em memória, cria-se ainda outro nível Os índices têm que ser mantidos actualizados em todos os níveis 14 7

8 Índices multi-nível 15 Actualização de índices Remoção ao remover o único registo com um dado valor, remove-se a respectiva entrada do índice Inserção pesquisar o valor do registo no índice índices densos se o valor não estiver indexado, inserir nova entrada no índice índices esparsos só é necessário criar uma nova entrada se a inserção der origem a um novo bloco 16 8

9 Índices secundários Um índice secundário pode ser necessário para fazer pesquisas por outro critério se a relação account estiver armazenada por account_number encontrar todas as contas de uma dada agência encontrar todas as contas de uma agência e com saldo numa dada gama de valores É possível ter um índice secundário para cada uma destas chaves de procura o índice aponta para um contentor de apontadores para registos 17 Índices secundários Índices secundários têm de ser densos (porquê?) Também têm que ser mantidos actualizados Menos eficiente que um índice primário cada registo pode implicar o acesso a um bloco diferente 18 9

10 Bases de Dados Índices em árvore B + Árvore B + exemplo 1 árvore B + com n=

11 Árvore B + exemplo 2 árvore B + com n=5 21 Árvore B + nós Cada nó da árvore contém K i são os valores da chave de procura ordenados K 1 < K 2 < K 3 <... < K n 1 P i são apontadores para outros nós (se o nó não é folha) ou apontadores para contentores de registos (se é folha) 22 11

12 Árvore B + nós folha Se o nó é folha P i aponta para um registo com valor K i ou P i aponta para um contentor de registos com K i necessário se a chave de procura não for chave primária P n aponta para a folha seguinte (mesmo nível) 23 Árvore B + nós não folha Se o nó não é folha forma um índice esparso multi-nível para as folhas todas as chaves na sub-árvore de P 1 são menores que K 1 em geral, todas as chaves na sub-árvore de P i são K i 1 e < K i as chaves K n 1 estão na sub-árvore apontada por P P n 24 12

13 Árvore B + propriedades Todos os caminhos da raiz a qualquer folha têm o mesmo comprimento Cada nó tem entre n/2 e n descendentes excepto a raiz, que pode ter menos Cada folha tem n apontadores e (n-1) valores apenas alguns podem estar preenchidos mas tem que ter no mínimo (n-1)/2 valores Casos especiais: se a raiz não é uma folha, tem pelo menos 2 descendentes se a raiz é folha (e a árvore só tem esse nó) pode ter entre 0 e (n 1) valores 25 Árvore B + eficiência Como as ligações são feitas por apontadores, não é necessário que os blocos estejam fisicamente juntos Uma árvore B + contém relativamente poucos níveis as pesquisas são eficientes Inserções e remoções também podem ser tratadas eficientemente a árvore pode ser reestruturada em tempo logarítmico 26 13

14 Árvore B + vantagens Em ficheiros sequenciais indexados, o desempenho degrada-se à medida que o ficheiro cresce e é necessário reorganizar todo o ficheiro de vez em quando Em árvores B + apenas pequenas alterações locais são necessárias perante inserções e remoções à custa de mais algum processamento e espaço mas as vantagens compensam as desvantagens 27 Procura em árvores B + Encontrar todos os registos com chave de procura k 1. começa pela raiz a) procurar na raiz o menor valor K i tal que K i > k b) se existir, seguir P i para o nó descendente c) senão, seguir P n 2. repetir o passo anterior até chegar a uma folha 3. assim que chegarmos a uma folha a) procurar na folha o valor K i tal que K i = k b) se existir, seguir P i para o registo ou contentor c) senão, conclui-se que o registo não existe 28 14

15 Procura em árvores B + Se houver K valores da chave de procura na árvore, nenhum caminho é mais comprido do que log n/2 (K) Geralmente um nó é do tamanho de um bloco, tipicamente 4 KB para isso escolhe-se n 100 com 40 bytes para cada entrada com 1 milhão de valores de chave e n=100 acedese a apenas log 50 ( ) = 4 nós se a árvore fosse binária seriam precisos 20 nós cada nó exige um acesso ao disco (20ms) 29 Modificações em árvores B + As modificações em árvores B+ seguem os seguintes passos: 1. pesquisar o valor pretendido na árvore, desde a raíz até chegar à folha respectiva (top-down) 2. fazer as alterações pretendidas ao nível das folhas 3. repercutir os efeitos de forma bottom-up, isto é, depois de alterar nós a um nível, verificar se o nó ascendente fica coerente, senão propagar p os efeitos recursivamente (até à raiz, se necessário) 30 15

16 Propriedades Propriedades gerais que devem ser mantidas: A. à esquerda de um valor está uma sub-árvore com valores sempre menores B. à direita de um valor está uma sub-árvore com valores maiores ou iguais C. cada nó deve ter sempre pelo menos (n-1)/2 valores (ou n/2 apontadores) preenchidos, caso contrário é necessário redistribuir valores (e apontadores) pelos nós vizinhos 31 Inserção em árvores B + Inserção procurar a folha em que esteja presente a chave dada se existir, adicionar registo ao ficheiro e inserir apontador no contentor senão, adicionar registo e criar novo contentor inserir a entrada (valor, apontador) na folha se a folha ultrapassar o máximo de n 1 valores separar os n valores em 2 nós 32 16

17 Inserção em árvores B + Separação de n valores em 2 nós deixar os primeiros n/2 valores no nó original, o resto passa um segundo, novo nó inserir a entrada (k,p) no nó ascendente, em que k é a menor chave do novo nó p é um apontador para o novo nó se o nó ascendente excedeu o tamanho máximo, parti-lo segundo o mesmo procedimento se a divisão se propagar até à raiz a raiz é partida em 2 nós é criada uma nova raiz como ascendente destes 2 nós 33 Inserção em árvores B + exemplo 34 17

18 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 a folha ficou abaixo do mínimo de (n-1)/2 valores se for possível, passar estes valores para o nó da esquerda, remover a folha, e remover a entrada respectiva no nó ascendente se isso não for possível, redistribuir os apontadores pelos nós vizinhos e ajustar o valor da chave no nó ascendente 36 18

19 Remoção em árvores B + Se ao modificar o nó ascendente, este ficar com um número de apontadores abaixo de n/2 repetir o procedimento recursivamente Estes efeitos "sobem" pela árvore até chegar a um nó que fique com pelo menos n/2 apontadores Se a raiz ficar só com um descendente depois da remoção, então o descendente passa a ser a nova raiz 37 Remoção em árvores B + exemplo

20 Remoção em árvores B + exemplo 2 39 Remoção em árvores B + exemplo

21 Remoção em árvores B + exemplo 3 Neste exemplo a sequência da remoção é a seguinte: 1. desaparece uma folha 2. no nó ascendente, desaparece o apontador para essa folha 3. pela propriedade p (C) o nó ascendente fica abaixo do limite de n/2 apontadores, logo é necessário redistribuir 4. só há um nó vizinho à esquerda, redistribuir com esse 5. só são necessários 4 apontadores (porque só há 4 folhas), logo ficam 2 apontadores em cada nó 6. se ficam 2 apontadores, fica apenas 1 valor em cada nó 7. pela propriedade (B) o valor que fica em cada um desses nós é o menor valor da sub-árvore direita 8. depois de mexer no 2º nível é necessário verificar a coerência do nó ascendente (raiz) 9. pela propriedade (B) o valor que fica na raiz é o menor valor da sub-árvore direita, ou seja, Mianus 41 Exercício Considere uma árvore B + com n=3 a) A partir de uma árvore vazia, desenhe a árvore após a inserção sucessiva dos seguintes valores: 1, 9, 5, 3, 6, 8, 4 b) Remova os mesmos elementos pela mesma ordem até chegar a uma arvore vazia 42 21

22 Exercício a) Exercício 1 b)

23 Bases de Dados Índices do tipo hash Hashing estático Um contentor armazena um conjunto de registos tipicamente um contentor ocupa um bloco em disco Ficheiros com organização do tipo hash função de hash determina contentor de um registo recebe como parâmetro o valor da chave de procura e devolve um apontador para o contentor Num mesmo contentor t pode haver registos com diferentes valores de chave de procura os contentores são pesquisados sequencialmente 46 23

24 Hashing estático exemplo 47 Funções de hash A função de hash ideal devia ser uniforme todos os contentores ficam com o mesmo número de valores de chave de procura devia ser aleatória todos os contentores ficam com o mesmo número de registos Tipicamente, as funções de hash trabalham com a representação binária do valor da chave de procura p.ex. somar todos os caracteres da string e fazer o resto da divisão pelo número de contentores 48 24

25 Overflow de contentores Pode ocorrer overflow de contentores devido a número insuficiente de contentores desequilíbrio na distribuição dos registos múltiplos registos com a mesma chave de procura função de hash não uniforme A probabilidade de overflow de um contentor não pode ser eliminada é normalmente resolvida com contentores extra (overflow buckets) 49 Overflow de contentores Encadeamento de contentores 50 25

26 Índices do tipo hash Pode ser usado hashing para organização de ficheiros e para criação de índices os índices do tipo hash são normalmente usados como índices secundários 51 Índices do tipo hash exemplo 52 26

27 Problemas na utilização de hashing estático A função de hash mapeia valores da chave de procura para um número fixo de contentores se a BD crescer, desempenho sofre com excesso de contentores extra mesmo que o tamanho possa ser previsto, desperdício de espaço inicialmente se a BD diminuir, espaço desperdiçado reorganização periódica é dispendiosa Solução: fazer variar o número de contentores dinamicamente 53 Hashing dinâmico Permite modificar a função de hash dinamicamente Hashing extensível a função de hash gera valores numa gama alargada tipicamente inteiros com 32 bits a ideia é usar em cada momento apenas um prefixo para endereçar um conjunto de contentores seja i o comprimento do prefixo, com 0 i 32 número máximo de contentores endereçáveis: 2 i o valor de i varia conforme o tamanho da BD 54 27

28 Hashing dinâmico exemplo comprimento do prefixo ( i ) comprimento do prefixo para cada contentor ( i j i ) 55 Hashing dinâmico procura O prefixo com i bits permite localizar a entrada correcta no índice mas o mesmo contentor pode ser usado em várias entradas significa que o prefixo do contentor (i j ) é i Para encontrar o contentor com chave K j 1. calcular funcao_hash(k j ) = X 2. usar os primeiros i bits de X para localizar a entrada no índice 3. seguir o apontador respectivo para o contentor 56 28

29 Hashing dinâmico inserção Para inserir um registo com chave K j encontrar o contentor para essa chave se houver espaço no contentor, inserir o registo senão, separar o contentor em 2 e redistribuir os registos eventualmente será necessário aumentar i 57 Hashing dinâmico inserção (caso i j = i ) Como separar em 2 um contentor para a chave K j se i j = i (só há um apontador para o contentor j ) incrementar o valor de i, o que duplica o tamanho do índice substituir cada entrada no índice por 2 entradas que apontam para o mesmo contentor alocar novo contentor z e fazer i j = i z = i colocar o segundo apontador de j a apontar para z remover e re-inserir cada registo em j (agora com novo i j ) alguns registos vão parar a j, outros a z inserir o novo registo com chave K j 58 29

30 Hashing dinâmico inserção (caso i j < i ) Como separar em 2 um contentor para a chave K j se i j < i (mais do que um apontador para j ) alocar novo contentor z e fazer i j = i z = i j + 1 a segunda metade das entradas que apontam para j passam a apontar para z remover e re-inserir cada registo em j (agora com novo i j ) alguns registos vão parar a j, outros a z inserir o novo registo com chave K j se o contentor t ainda estiver cheio, repetir recursivamente um dos casos i j = i ou i j < i, como apropriado se o contentor permanecer cheio, usar um contentor extra (i atingiu o máximo e há overflow) 59 Hashing dinâmico inserção 60 30

31 Hashing dinâmico inserção 61 Hashing dinâmico inserção 62 31

32 Hashing dinâmico inserção 63 Hashing dinâmico inserção 64 32

33 Hashing dinâmico remoção Para apagar um valor de chave localizar o registo dentro do seu contentor e removê-lo se o contentor ficar vazio, removê-lo e actualizar o índice é possível juntar contentores que tenham o mesmo número i j e o mesmo prefixo nos primeiros i j -1 bits é possível diminuir o tamanho do índice operação dispendiosa, só feita quando o número de contentores é muito menor que o número de entradas no índice 65 Bases de Dados Índices e SQL 33

34 Definição de índices em SQL Criação de um índice create index index_name on relation_name(attribute_list) exemplo create index branch_index on branch(branch_name) é possível escolher o tipo de índice com using btree ou using hash Para eliminar um índice: drop index index_name 67 Índices com múltiplas chaves de procura Certas perguntas exigem múltiplos índices select account_number from account where branch_name = Perryridge and balance = 1000 estratégias possíveis usar índice para branch_ name e testar valor de balance usar índice para balance e testar valor de branch_name usar índice para branch_name e outro para balance e intersectar os resultados 68 34

35 Chaves de procura compostas Chaves de procura compostas chaves de procura com mais de um atributo p.ex. (branch_name, balance) Ordem lexicográfica (a 1, a 2 ) < (b 1, b 2 ) se (a 1 < b 1 ) ou (a 1 = b 1 )e(a 2 <b) 2 69 Chaves de procura compostas where branch_name = "Perryridge" and balance = 1000 O mesmo índice pode ser usado para obter os registos que satisfazem as duas condições mais eficiente que usar índices separados também é eficiente noutros casos where branch_name = "Perryridge" and balance < 1000 não é eficiente em where branch_name < "Perryridge" and balance = 1000 obtém registos que satisfazem a primeira mas não a segunda condição 70 35

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

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

Sistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha

Sistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha Sistemas de Informação e Bases de Dados 2012/2013 Índices Alberto Sardinha Sumário Índices Criação de Índices em SQL Exemplos 2012 Ins)tuto Superior Técnico 1 Bibliografia Raghu Ramakrishnan, Database

Leia mais

Dois parâmetros essenciais t T tempo de transferência de um bloco. assume-se igual para operações de leitura e escrita

Dois parâmetros essenciais t T tempo de transferência de um bloco. assume-se igual para operações de leitura e escrita Bases de Dados Algoritmos de processamento Custo de operação Dois parâmetros essenciais t T tempo de transferência de um bloco assume-se igual para operações de leitura e escrita t S tempo de localização

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

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

Chapter 11: Indexing and Hashing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017

Chapter 11: Indexing and Hashing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 Chapter 11: Indexing and Hashing José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 36 Chapter 11: Indexing and Hashing - Conceitos de base - Índices ordenados - B + -Tree Index B-Tree Index

Leia mais

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção. Bases de Dados Algoritmos Custo de operação Algoritmos de selecção Algoritmo de ordenação Algoritmos de junção Outras operações Materialização e pipelining 2 1 Bases de Dados Algoritmos de selecção Algoritmos

Leia mais

Bases de Dados. Parte VIII. Organização Física dos Dados

Bases de Dados. Parte VIII. Organização Física dos Dados Bases de Dados Parte VIII Organização Física dos Dados Ricardo Rocha DCC-FCUP 1 Unidades de Medida da Informação A unidade fundamental é o byte. 1 byte corresponde a 8 bits e cada bit permite representar

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar - 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

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

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

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

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

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

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

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

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

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

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor. Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade.

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

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

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

Á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

Á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 B. Árvore B (ou melhor B+)

Árvores B. Árvore B (ou melhor B+) Motivação: pesquisa em disco Árvores B Tempo de acesso a disco determinante nas operações Com disco de 10 ms de tempo de acesso: 100 acessos por segundo em máquina de 25 MIPS, 1 acesso custa tanto como

Leia mais

TABELAS DE DISPERSÃO/HASH

TABELAS DE DISPERSÃO/HASH 1/47 TABELAS DE DISPERSÃO/HASH Introdução 2/47 Introdução Motivação - Considerar o problema de pesquisar um determinado valor num vetor: - Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade

Leia mais

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015 Tabela Hash Disciplina de Algoritmos e Estrutura de Dados III Prof. Marcos Antonio Schreiner 15/05/2015 Introdução Seja um conjunto de chaves armazenadas em um vetor e em uma árvore AVL. Qual a complexidade

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

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

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

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

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

Í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

Bases de Dados. Parte VIII Organização Física dos Dados

Bases de Dados. Parte VIII Organização Física dos Dados Bases de Dados Parte VIII Organização Física dos Dados (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

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

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

Í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

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco. MC3305 Algoritmos e Estruturas de Dados II Aula 02 Hashing Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Sobre a busca de dados/chaves 2 Busca em tabelas (vetores/arrays) Para se resolver

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

Á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

Sumário. Definição do Plano de Execução

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

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

Tabelas de dispersão/hash

Tabelas de dispersão/hash Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,

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

Í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

Sistemas de Ficheiros

Sistemas de Ficheiros Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Ficheiro Ficheiros Unidade lógica de armazenamento Espaço de endereçamento lógico contíguo

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

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

Á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

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

Á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

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

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

O acesso aos elementos é aleatório, isto é, qualquer elemento numa colecção pode ser acedido realizando uma pesquisa pela chave.

O acesso aos elementos é aleatório, isto é, qualquer elemento numa colecção pode ser acedido realizando uma pesquisa pela chave. DICIONÁRIOS São assim designadas as colecções de elementos em que cada elemento tem um campo chamado chave e não existem valores de chaves repetidos. As operações características que permitem a sua manipulação

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

Á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

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

Tabelas de Hash MBB. Novembro de Algoritmos e Complexidade LEI-LCC

Tabelas de Hash MBB. Novembro de Algoritmos e Complexidade LEI-LCC Tabelas de Hash Algoritmos e Complexidade LEI-LCC 2010-2011 MBB Novembro de 2010 Tabelas e Acesso a Informação As estruturas de dados apresentadas anteriormente têm como objectivo o armazenamento de informação,

Leia mais

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Tipos de Acesso a Arquivos Alternativas (até o momento) acesso indexado arquivo pode ser visto como um conjunto de registros que são

Leia mais

Chapter 12: Query Processing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017

Chapter 12: Query Processing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 Chapter 12: Query Processing José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 107 Chapter 12: Query Processing - Visão geral de processamento e otimização de perguntas - Medidas de custo

Leia mais

Matrizes esparsas: definição

Matrizes esparsas: definição Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e

Leia mais

Dicionários: B-Trees

Dicionários: B-Trees Dicionários: 2003/04 Aula teórica de 2003.11.12 (T9) 2003 Salvador Abreu 2003/04 9-1 Motivação Grandes quantidades de informação Grandes quantidades de informação Requer armazenamento externo (disco) Acesso

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language) Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

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

Á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

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 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 Introdução à Organização de Arquivos (Métodos de Acesso/Índices)

GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices) GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Organização

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. 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. Á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

Ordenação e Busca em Arquivos

Ordenação e Busca em Arquivos Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language) Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

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

Tabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1

Tabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1 Tabelas de Dispersão Algoritmos e Estruturas de Dados Verão 2012 1 Tabelas de endereçamento directo Endereçamento directo é usado quando o universo de chaves é pequeno e todas as chaves são distintas:

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

Estruturas de Dados Tabelas de Espalhamento

Estruturas de Dados Tabelas de Espalhamento Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações

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

Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou

Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou também denominada de tabela hashing com endereçamento aberto.

Leia mais

Ordenação de tuplos order by

Ordenação de tuplos order by Bases de Dados Elementos da linguagem SQL Ordenação de tuplos order by A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de

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

Á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

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres ESTRUTURA DE DADOS E ALGORITMOS Árvores Binárias de Busca Cristina Boeres Árvore Binária de Busca 30! construída de tal forma que, para cada nó: nós com chaves menores estão na sub-árvore esquerda nós

Leia mais

Matemática Discreta 12

Matemática Discreta 12 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 12 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Introdução

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

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

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da

Leia mais

SCC Algoritmos e Estruturas de Dados I

SCC Algoritmos e Estruturas de Dados I SCC 202 - Algoritmos e Estruturas de Dados I TAD Pilha Lembrem...TADs são tipos definidos em termos de seu comportamento e não de sua representação (que pode variar na busca de eficiência) 12/8/2010 Pilha

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

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Árvore digital Árvore digital binária

Leia mais

UNIVERSIDADE DE SÃO PAULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 Profa.

UNIVERSIDADE DE SÃO PAULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 Profa. UNIVERSIDADE DE SÃO AULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 rofa.: Maria Cristina 3 a ROVA (27 de junho) Aluno: N o US: Atenção: favor

Leia mais

Estruturas de Informação Árvores B ÁRVORES B

Estruturas de Informação Árvores B ÁRVORES B ÁRVORES B Até agora manipulamos a estrutura árvore binária em memória principal. Também queremos no entanto guardar árvores em disco e carregar a informação do disco para a memória principal, quando precisamos

Leia mais

Pesquisa binária em árvores-b + Índices em SQL

Pesquisa binária em árvores-b + Índices em SQL Pesquisa binária em árvores-b + K= 5 5 K=9 7 8 5 6 7 8 9 Bases de Dados Fernando Silva / Departamento de Ciência de Computadores Índices em SQL criar um ficheiro de índices sobre um atributo de uma dada

Leia mais