Buscar

Índices em banco de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. Considere a seguinte tabela:
O administrador do banco de dados que trabalha em uma escola criou um índice do tipo hash sobre a coluna Matrícula com o objetivo de otimizar as consultas aos dados dos alunos.
Qual tipo de consulta é possível utilizando esse tipo de indexação? 
[Revisor gramatical: não retirar o ponto e vírgula nas alternativas, pois fazem parte do código.]
SELECT *  FROM alunos WHERE matricula = 1211051017;
Por que esta resposta é a correta?
Utilizando o índice do tipo hash apenas, é possível realizar consultas com operações básicas de igualdade, com o operador de igualdade (=). Como o índice foi criado sobre o número de matrícula, pode-se realizar uma busca usando o operador de igualdade sobre o número de matrícula (matricula = 1211051017). Com hash, não é possível fazer consultas usando os operadores menor que (matricula < 1211051017) e maior que (matricula > 1211051017), e nem intervalos (matricula > 1010253654 AND matricula < 1211051017). Também não pode utilizar funções com (upper(matricula) = 1211051017). Além disso, a função upper só pode ser usada sobre caracteres, e não sobre valores inteiros, já que ela é responsável por converter todos os caracteres para maiúsculo.
2. 
Existem muitos tipos de índices disponíveis pelos diferentes Sistemas de Gerenciamento de Banco de Dados. Cada um deles funciona com determinado algoritmo e, por sua vez, cada tipo de algoritmo é indicado para determinado tipo de consulta sobre determinado tipo de dado.
Quais são algoritmos básicos utilizados para a indexação de tabelas pela maioria dos Sistemas de Gerenciamento de Banco de Dados? 
D. 
Árvore B e hash.
Por que esta resposta é a correta?
Os algoritmos mais básicos utilizados na indexação de tabelas são o Árvore B e o hash. O índice do tipo Árvore B é, geralmente, o índice padrão na maioria dos Sistemas de Gerenciamento de Banco de Dados, como no PostgreSQL e no Oracle. O hash também é um dos básicos, sendo muito apresentado na literatura. O índice do tipo GIN é mais complexo, devendo ser usado para consultas em textos completos. O índice do tipo BRIN deve ser utilizado para consultas em tabelas com grande volume de dados, como em Big Data.
3. 
Considere a seguinte tabela:
O administrador do banco de dados de uma empresa multinacional quer otimizar as consultas nos registros de funcionários para obter informações sobre a idade dos funcionários e o valor das férias remuneradas deles. Ele deseja criar um índice principal e outro auxiliar.
Dentre as colunas da tabela, quais são as melhores candidatas para indexação? 
B. 
As colunas Nascimento e Salário são boas candidatas para a criação de índice.
Por que esta resposta é a correta?
Um bom candidato para a criação de índice é um valor exclusivo para cada linha da tabela. Além disso, é eficiente o uso de valores numéricos. Nesse caso, como o objetivo é obter informações sobre a idade dos funcionários, pode-se indexar a coluna com a data de nascimento. Pode-se usar a data de nascimento para obter a idade do funcionário. Além disso, como deve-se obter informações sobre o valor a ser pago em férias remuneradas para o funcionário, pode-se indexar a coluna Salário para saber quanto o funcionário ganha mensalmente. As colunas Nome e Endereço não precisam ser indexadas, já que não auxiliarão nas buscas por informações a respeito da idade e do salário dos funcionários.
4.
Considere a seguinte tabela:
​​​​​​​Para facilitar a consulta aos dados dessa tabela, é indicada a criação de índices para organizar os registros.
Assinale a alternativa que contém os tipos de índices podem ser criados sobre alguma coluna dessa tabela:
E. 
GIN e GiST.
Por que esta resposta é a correta?
Os tipos de índices que podem ser criados nessa tabela são GIN e GiST. Eles podem ser utilizados para indexar tabelas que têm textos completos como conteúdo. Ambos os tipos de índices podem indexar a coluna doc_hino do tipo tsvector. O tipo BRIN é indicado para indexar tabelas com grande conteúdo de dados, como em Big Data. Já os índices SP-GiST são mais indicados para lidar com dados espaciais e geométricos bidimensionais.
5. 
Índices são estruturas de dados adicionais utilizadas para organizar os registros de dados em disco com o objetivo de otimizar operações de recuperação de dados. No Sistema Gerenciador de Banco de Dados PostgreSQL, essas estruturas de dados não são armazenadas no mesmo local que os registros dos dados da tabela indexada.
No PostgreSQL, esse tipo de índice é chamado de:
E. 
Índice secundário.
Por que esta resposta é a correta?
No SGBD PostgreSQL, um índice que é armazenado separadamente dos registros da tabela indexada é dito secundário. Além disso, todos os índices são considerados como secundários no PostgreSQL. A definição de índice primário e secundário na literatura ainda não é bem clara, mas a maioria dos autores considera um índice primário como aquele definido sobre uma coluna que contém a chave primária da tabela. Um índice do tipo agrupado é aquele cuja organização das entradas de dados do índice é similar ou igual à organização dos registros de dados na tabela. Já os índices Árvore B e hash são dois tipos de algoritmos usados para indexar tabelas de dados.

Outros materiais