Sunteți pe pagina 1din 10

UNIVERSIDADE LURIO

FACULDADE DE ENGENHARIA

LINCECIATURA EM ENGENHARIA INFORMATICA

TRABALHO DE INVESTIGACAO DE SISTEMAS DE BASE DE DADOS

NDICES EM SQL

PEMBA MAIO DE 2017


NDICES EM SQL

Elementos do Grupo

Ambrsio de Jesus Domingos Damio

Boaventura David Manhique

Caudncia Martinho Chereriue

Soares

Sisto da Cruz baco

Trabalho de investigacao e de caracter


avaliativo a ser entregue e apresentado na
cadeira de SBD, ministrado pelos docente
Ussimane Maria Mueiva

Pemba Maio de 2017


ndice
1. Introduo............................................................................................................................................. 4
1.1. Objectivos ......................................................................................................................................... 4
1.1.1. Objectivo Geral ......................................................................................................................... 4
1.1.2. Objectivos especficos ............................................................................................................... 4
2. Fundamentao Terica ....................................................................................................................... 5
2.1. ndices em SBD .............................................................................................................................. 5
2.2. Tipos de ndices ............................................................................................................................. 5
2.2.1. ndice clusterizado .................................................................................................................... 5
2.2.2. No clusterizado ....................................................................................................................... 6
2.2.3. ndices espaciais ........................................................................................................................ 6
2.2.4. ndices XML ............................................................................................................................... 6
2.3. Vantagens ......................................................................................................................................... 7
2.4. Desvantagens .................................................................................................................................... 7
3. Implementao de ndices no SQL Server............................................................................................. 7
3.1. Sintaxe para criacao do indice ...................................................................................................... 7
3.2. Exemplo da criao de ndice........................................................................................................ 8
4. Concluso .............................................................................................................................................. 9
5. Bibliografia .......................................................................................................................................... 10
1. Introduo
No contexto de banco de dados, um ndice uma estrutura (ou arquivo) auxiliar associado a
uma tabela (ou coleco de dados). Sua funo acelerar o tempo de acesso s linhas de uma
tabela, criando ponteiros para os dados armazenados em colunas especficas. 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 posio em uma determinada pgina.

Neste presente trabalho de carcter avaliativo abordar-se- sobre ndices em sistemas de base de
dados e apresentaremos alguns exemplos prticos da aplicabilidade dos ndices em bases de
dados.

1.1. Objectivos

1.1.1. Objectivo Geral


Com este trabalho elaborou-se o objectivo geral para nos guiar na elaborao do presente
trabalho que de perceber a funcionalidades dos ndices em base de dados.

1.1.2. Objectivos especficos


Implementar na pratica (demonstrao de exerccios aplicando ndice),
Entender quais so as vantagens e desvantagens do uso dos ndice em SBG.
2. Fundamentao Terica

2.1. ndices em SBD


Segundo Pedrozo ( 2008) um ndice uma organizao de dados que permite acelerar o tempo
de acesso as linhas de uma tabela. Podemos comparar com a abordagem de ndice dos livros, do
mesmo modo que o ndice de um livro nos ajuda a saber em que pagina esta um determinado
tema do livro e poupa nosso tempo em fazer a busca do contedo, numa base de dados ele poupa
tempo de busca de dados no precisando fazer a leitura linha por linha da tabela para buscar o
contedo desejado.

Segundo (Korth & Silberschatz, 1999) em Bancos de dados, existem trs razes para a definio
de ndices. Uma permitir que as linhas sejam acedidas rapidamente atravs do valor do atributo
indexado. A segunda facilitar a ordenao das linhas por aquele atributo. J a terceira razo
concernente unicidade, quando necessrio que uma coluna seja nica, um ndice criado pelo
SGBD com a funo de assegurar que no sejam aceitos valores duplicados.

2.2. Tipos de ndices


Segundo o site oficial da Ms SQL Server (https://docs.microsoft.com/pt-pt/sql/relational-
databases/indexes/indexes), existem vrios tipos de ndices nomeadamente: hash, ndices no
clusterizados com optimizao de memria, clusterizado, no clusterizado, Exclusivo,
Columnstore, ndice com colunas includas, ndice em colunas computadas, Filtrado, Espacial,
XML, Texto completo.
Para o presente trabalho falar-se- de apenas 4 tipos que nomeadamente ndice clusterizado, no
clusterizado, espacial e XML por estes serem os tipos disponveis no SQL Server 2008,
ferramenta que usada para as aulas.

2.2.1. ndice clusterizado


Os ndices clusterizados classificam e armazenam as linhas de dados da tabela ou exibio com
base em seus valores de chave. Essas so as colunas includas na definio do ndice. Pode haver
apenas um ndice clusterizado por tabela, pois as linhas de dados podem ser classificadas
somente em uma nica ordem.
O nico momento em que as linhas de dados de uma tabela so armazenadas na ordem de
classificao quando a tabela contm um ndice clusterizado. Se a tabela contiver um ndice
clusterizado, ser denominada tabela clusterizada. Se a tabela no possuir nenhum ndice
clusterizado, suas linhas de dados ficaro armazenadas em uma estrutura no ordenada
denominada heap. (Microsoft, 2017)

2.2.2. No clusterizado
Os ndices no clusterizados tm uma estrutura distinta das linhas de dados. O ndice no
clusterizado contm os valores de chave de ndice no clusterizado e cada entrada de valor de
chave tem um ponteiro para a linha de dados que contm o valor de chave.
O ponteiro de uma linha de ndice em um ndice no clusterizado de uma linha de dados
denominado localizador de linhas. A estrutura do localizador de linhas depende de as pginas de
dados serem armazenadas em um heap ou em uma tabela clusterizada. Para o heap, o localizador
de linhas um ponteiro para a linha. Para a tabela clusterizada, o localizador de linhas a chave
de ndice clusterizado.
Voc pode adicionar colunas no chave ao nvel folha do ndice no clusterizado para ignorar os
limites de chave de ndice existente, as colunas de 900 bytes e 16 colunas de chave e executar
consultas completamente abrangidas e indexadas. Para obter mais informaes, consulte Create
Indexes with Included Column.

2.2.3. ndices espaciais


Um ndice espacial permite a execuo de determinadas operaes de forma mais eficiente em
objectos espaciais (dados espaciais) em uma coluna do tipo de dados geometry. O ndice
espacial reduz o nmero de objectos nos quais operaes espaciais relativamente dispendiosas
precisam ser aplicadas.

2.2.4. ndices XML


Uma representao fragmentada e persistente de BLOBS (objetos binrios grandes) XML na
coluna de tipo de dados xml.
2.3. Vantagens
Melhora a performance de consulta em muitos casos;
Pode trazer dados especficos de forma mais rpida;
Permite o acesso de dados ordenados sem o custo de realizar a ordenao quando
necessrio;
fcil garantir que determinadas informaes chaves no estejam duplicadas

2.4. Desvantagens
Piora a performance em escritas de dados no banco de dados;
Aumenta o consumo de espao para armazenamento do banco de dados (memria e
disco);
Aumenta a necessidade de manuteno no banco de dados;
Pode diminuir a performance de consultas.

3. Implementao de ndices no SQL Server


Existem duas formas de implementar ndice no SQL Server que so:

Usando a interface grfica do Software;


Usando Transact-SQL.

3.1. Sintaxe para criacao do indice


Para criar um indice escrevemos na query o seguinte:
CREATE <Tipo_de_Indice> INDEX <Nome_do_indice> ON <Tabela_associada> (<a
coluna_associada>);
No parmetro <Tipo_de_Indice> especificamos o tipo de indece que queremos criar;
No parmetro <Nome_do_indice> atribuimos o nome ao indice;
Nos parmetros <Tabela_associada> e (<a coluna_associada>) especificamos o nome
para qual sera associada o indice e a coluna que sera referenciada na tabela.
3.2. Exemplo da criao de ndice
Para este exemplo vai-se criar uma tabela TestTable onde ser implementado o ndice como ilustra
o cdigo abaixo:
-- Create a new table with three columns.
CREATE TABLE dbo.TestTable
(TestCol1 int NOT NULL,
TestCol2 nchar(10) NULL,
TestCol3 nvarchar(50) NULL);
GO
-- Create a clustered index called IX_TestTable_TestCol1
-- on the dbo.TestTable table using the TestCol1 column.
CREATE CLUSTERED INDEX IX_TestTable_TestCol1
ON dbo.TestTable (TestCol1);
GO
4. Concluso
Depois da abordagem feita no presente trabalho conclui-se que os ndices so uma boa soluo
para a problemtica de seleco em SQL porem cobra mais espaos de armazenamento
5. Bibliografia
Korth, H., & Silberschatz, A. (1999). Sistemas de bancos de dados. (M. Books, Ed.), So Paulo.
Ed. Makron Books (3a Edio). So Paulo. Retrieved from
http://scholar.google.com.br/scholar?q=SILBERSCHATZ+1999&btnG=&hl=pt-
BR&as_sdt=0,5#%230
Pedrozo, W. G. (2008). Arquitetura para Seleo de ndice no SGBD PostgreSQL, utilizando
abordagem baseada em custos do Otimizador. ARQUITETURA PARA SELEO DE
NDICES EM BANCO DE DADOS RELACIONAIS, UTILIZANDO ABORDAGEM
BASEADA EM CUSTOS. Universidade Federal do Paran. Retrieved from
c:%5CUsers%5CACS%5CDownloads%5CDocuments%5CDissertacao_UFPR_Wendel_20
08.pdf
Microsoft. (2017). msdn.microsoft.com/pt-br/library/ms190457.aspx. Obtido em 18 de Maio de
2017, de msdn.microsoft.com
Kroenke, M. David. Data Bases Foundation, Project and Implementation, Prentice Hall, 1999.

S-ar putea să vă placă și