Banco de dados oracle (indices)
Assunto: índices no Oracle
Grupo: Fábio C. Barros – 9714257 Thiago C. Figueiró – 9615271
Índice
1. Introdução
1.1. Organização lógica dos dados
1.2. Tabelas particionadas
1.3. ROWID
1.4. Índices
1.5. Clusters
2. Classificação de Índices
2.1. Lógica
2.1.1. Única coluna ou concatenado
2.1.2. Exclusivo ou não-exclusivo
2.1.3. Baseado em função
2.2. Física
2.2.1. Particionado ou não-particionado
2.2.2. Chave normal ou de inversão
2.2.3. Em árvore binária
2.2.4. Bitmap
3. Armazenamento de índices
3.1. Árvore B*
3.2. Bitmap
4. Índice de cluster
5. Bibliografia utilizada
1. Introdução
Antes de entrarmos no assunto do trabalho propriamente dito, explicaremos alguns conceitos necessários para o melhor entendimento do texto.
1.1 Organização lógica dos dados
O nível mais baixo de dados no Oracle é o data block, que é composto de um número específico de bytes, escolhido quando da criação do banco.
Acima dos data blocks temos os extents. Extents são conjuntos contínuos de data blocks.
Em seguida, temos os segments. Estes são um conjunto de extents, e são utilizados para armazenar um tipo específico de informação (eg.: dados, índices, rollback). Como os extents são alocados para um segment dinamicamente, os extents de um segment podem não estar contínuos no disco.
Um banco de dados Oracle é dividido em unidades lógicas de armazenamento chamadas tablespaces. Geralmente coloca-se em um mesmo tablespace estruturas relacionadas para facilitar a gerência das mesmas. Um tablespace é formado de um ou mais datafile, que por sua vez é organizado como descrito nos parágrafos acima: em datablocks, extents e segments.
O diagrama na página seguinte ilustra a explicação:
1.2 Tabelas particionadas
Tabelas particionadas são usadas para aumentar a escabilidade de uma aplicação, permitindo distribuir os dados da tabela em mais de uma partição, que por sua vez constitui um segment e pode