SóProvas


ID
5413264
Banca
FGV
Órgão
TCE-AM
Ano
2021
Provas
Disciplina
Banco de Dados
Assuntos

No contexto dos bancos de dados Oracle, Index-organized tables são tabelas que:

Alternativas
Comentários
  • Index Organized Tables (IOT) have their primary key data and non-key column data stored within the same B*Tree structure. Effectively, the data is stored within the primary key index. There are several reasons to use this type of table.

    https://oracle-base.com/articles/8i/index-organized-tables

  • "Ao contrário do que normalmente se imagina, a aplicabilidade das IOT’s está bem próxima das necessidades dos sistemas de TI. Mas o que seria essa ‘tal’ de IOT?

    Podemos defini-la como sendo uma tabela cuja organização de armazenamento seja uma variante da organização de uma chave-primária do tipo B-Tree (Nota 1). Inversamente a uma tabela regular (HOT - Heap Organized Table) a qual armazena dados de uma forma não ordenada, a IOT ordena os dados numa estrutura de índices B-Tree, classificando-os da mesma forma que uma chave primária.

    Mas a grande ‘sacada’ da IOT é a possibilidade da variação do ‘endereço da linha’, também conhecido como ROWID, para conseguir efetuar a organização dos dados no momento de seu armazenamento.

    A palavra B-Tree (Binary Tree) significa 'árvore binária', que é uma das variações de tipo de índice que permite uma busca rápida em bases de dados. Praticamente todos os bancos de dados SQL baseiam-se nesse padrão de busca. Em uma consulta utilizando índices B-Trees, o Oracle percorrerá os blocos de dados da tabela do índice, sendo que cada bloco alcançado separará fisicamente dados que não estejam dentro do que foi solicitado na consulta. Isto ocorrerá até os dados solicitados serem encontrados.

     

    Tenhamos como exemplo uma tabela cuja chave primária seja o campo ID do tipo numeral (Number), e cujos valores sejam ordenados de 1 a 1000. Além disso, devido a uma regra de negócios hipotética, o campo da coluna ID de valores entre 100 e 200 devem ser alterados para os valores de 1100 e 1200.

    No caso de uma HOT, a mudança ocorrerá em nível de valores no campo, não haverá mudança do endereço da linha (ROWID). No caso de uma IOT a alteração irá além, será física, pois se dará em nível do armazenamento dos dados nos blocos de dados, podendo, inclusive, haver mudança do bloco de dados para a linha da tabela alterada. É a ROWID se movimentando de forma a organizar a chave primária numa seqüência lógica, possibilitando uma melhor performance no resgate de dados da tabela utilizando os campos de chave-primária, neste caso o campo ID.

    Em linhas gerais, podemos dizer que uma IOT não possuirá uma tabela de índices, como em uma HOT, ela já se comporta movimentando as linhas para que a organização da mesma não necessite de uma tabela a parte.

    Fonte: https://www.devmedia.com.br/artigo-da-sql-magazine-33-iot-index-organized-table-no-oracle/6681

  • GABARITO: A)