SóProvas


ID
1337263
Banca
FGV
Órgão
TJ-GO
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

João implementou um banco de dados no MS SQL Server que possui uma tabela contendo textos de sentenças judiciais, que são atualizadas esporadicamente, e disponibilizou um aplicativo que permite consultas nessa base de dados. Alguns de seus clientes, entretanto, precisam efetuar consultas onde é preciso localizar registros que possuem duas ou mais palavras próximas umas da outras, como por exemplo, “menor de idade”.

Para que as consultas produzidas pelo aplicativo possam resolver esse tipo de requisição com tempos de resposta aceitáveis, a solução adequada para João seria a utilização de:

Alternativas
Comentários
  • A pesquisa full-text é bem rápida porque é baseada em índices full-text. Estes índices não são como os outros índices criados na base de dados, não são baseados na estrutura B-Tree habitual, são baseados em tokens (pedaços de palavras) e possuem uma estrutura bem particular o que faz com que as suas consultas sejam muito rápidas mesmo quando existem necessidades complexas como pesquisar todas as linhas da tabela de produtos, onde na coluna descrição, a palavra “tênis”, esteja próxima da palavra “running”, ou então pesquisar todas as linhas da tabela de produtos onde na coluna descrição existam variações da palavra “corrida”. Estes dois tipos de consultas são quase impossíveis de serem feitas com o operador like, e se forem feitas, com certeza serão tão lentas e consomem tantos recursos que são consultas inviáveis

    Fonte: http://www.devmedia.com.br/desvendando-o-full-text-search-no-sql-server-2008-revista-net-magazine-90/22579

  • Os índices disponíveis no SQL Server são:

     

    Clusterizado (clustere);

    Não clusterizado (nonclustered);

    Exclusivo (unique);

    Columnstore;

    Index com colunas incluídas;

    Index com colunas computadas;

    Filtrado (Filtered);

    Espacial (Spatial);

    XML;

    Texto completo (Full-text);

     

    a) ERRADO.  O índice clusterizado classifica e armazena as linhas de dados da tabela ou exibição em uma ordem com base na chave do índice clusterizado. O índice clusterizado é implementado como uma estrutura de índice da árvore B que oferece suporte à recuperação rápida de linhas com base em seus valores da chave de índice clusterizado.

     

    b) ERRADO. Um índice de hash consiste em uma coleção de buckets organizados em uma matriz. Uma função de hash mapeia chaves de índice para buckets correspondentes no índice de hash. A estrutura de índice de hash na memória consiste em uma matriz de ponteiros de memória. Cada bucket é mapeado para um deslocamento nesta matriz. Cada bucket na matriz aponta para a primeira linha desse bucket de hash. Cada linha no bucket aponta para a próxima linha, resultando em uma cadeia de linhas para cada bucket de hash. 

     

    c) CORRETO. Índice de texto completo (Full-text) é um tipo especial de índice funcional com base em token que é criado e mantido pelo Mecanismo de Texto Completo da Microsoft para o SQL Server. Ele fornece suporte eficiente para pesquisas sofisticadas de palavras em dados de cadeias de caracteres.

     

    d) ERRADA. O SQL Server oferece suporte ao particionamento de tabelas e índices. Os dados de tabelas e índices particionados são divididos em unidades que podem ser difundidas por mais de um grupo de arquivos em um banco de dados. Mas isso diz respeito a melhoria de desempenho, sendo ineficaz na busca da solução para o problema de localizar registros com duas ou mais palavras. 

     

    e) ERRADA. Os benefícios de usar funções definidas pelo usuário em SQL Server são de permitir uma programação modular, uma execução mais rápida e uma redução do tráfego de rede nada relacionado a manipulação de strings, nem de cadeias de caracteres.

     

    REFERÊNCIAS; 

     

    https://msdn.microsoft.com/pt-br/library/ms175049(v=sql.110).aspx

     

     

    https://msdn.microsoft.com/pt-br/library/ms191007.aspx