SóProvas


ID
201376
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Um índice é um artifício usado para se encontrar, rapidamente, linhas (registros) com valores específicos. Sem um índice, o gerenciador precisará sempre procurar determinados valores da primeira até a última linha do banco de dados. Esse processo de busca, em tabelas muito grandes (com muitos registros), pode demandar elevado tempo e causar até mesmo perdas significativas de informação.

Alternativas
Comentários
  • As vantagens do uso de índices são claras e não há dúvidas. A única frase que pode causar alguma suspeita é : "Sem um índice, o gerenciador precisará sempre procurar determinados valores da primeira até a última linha do banco de dados."

    Mas ela está correta visto que o armazenamento de informações em um banco não é ordenado, portanto não teríamos nem como fazer uma busca binária. Sem índices seríamos sempre obrigado a buscar sequenciamente, passando por todos os registros (O(n/2)).

  • Alguém sabe que tipo de busca pode causar perda de informação, como afirma a questão? Achei que estivesse errada por causa disto.

    Obrigado.

  • A perda de dados a que a questão se refere não é uma perda de dados algoritmica e sim de falha de sistema devido ao stress de buscar uma grande fonte de dados, já que em sistemas ditos grandes como o da questão as tabelas contêm dezenas de milhões de registros ou até bilhões de registros o que levaria o Servidor de Banco de dados à fazer uma busca intensa em Disco já que devido ao tamanho das tabelas seria impossível armazenar o BD em memória. Como o HD é um dispositivo mecânico de armazenamento alem de mais lento ele é mais sucetivel à falhas.

  •  perda de informação != perda de dados

  • Para poder afirmar que o SGBD "sempre [irá] procurar determinados valores da primeira até a última linha do banco de dados", o enunciado precisava dizer qual tipo de arquivo de dados está em questão. Segundo Navathe, podemos ter um arquivo de dados desorganizado, ou heap, um organizado (sequencial) e de hash. Para o primeiro tipo de arquivo, a afirmativa é verdadeira. Já para as demais, se torna falsa.

    Quem discordar, comente.
  • Pessoal, a questão é realmente estranha quando afirma que em "todos os casos haverá uma busca do primeiro ao último registro".
    Porém, ao buscar mais referencias, vi que a organização das páginas (contendo os dados em si) em arquivos pode ser de duas formas principais: Heap Files e Arquivos Indexados. No primeiro caso, os dados (páginas) são organizadas sequencialmente. No segundo caso, os dados possuem uma estrutura auxiliar (índices) que ajuda a encontrar rids de registros satisfazendo determinada condição. As operações possíveis no Heap File são: Create/Destroy arquivos, Insert/Delete/get um registro e Scan all records (Busca em todos os registros). Como temos somente esses três tipos, provalmente a questão estava se referindo o terceiro tipo, e nele a consulta realmente é feita em todos os registros. Bem, é o que a teoria fala. E pode ser verdade mesmo, pois trata-se de uma forma não utilizada nos BD atuais, onde a utilização de índices para garantir performance às operações é uma constante absoluta!

    Espero ter contribuido!
  • A questão aborda uma lógica correta em relação ao Banco de Dados sem Índice, porém peca ao dizer que SEMPRE percorrerá toda a tabela, esta seria apenas a pior das hipóteses.