Pular para o conteúdo principal

Questão de Banco de Dados — Índices — FGV 2023

Banco de DadosÍndices
Código
fg071510
Banca
FGV
Órgão
TCE-SP
Ano
2023
Nível
Superior
Cargo
Agente da Fiscalização - TI

Atenção 


Quando referidas, considere as tabelas relacionais TX e TY, criadas e instanciadas com o script SQL a seguir.


create table TY(C int primary key not null, A int)

create table TX(A int primary key not null, B int,

                foreign key (B) references TY(C)

                       on delete cascade

               )


insert into TY values (1,0)

insert into TY(C) values (2)

insert into TY(C) values (3)

insert into TY values (5,NULL)

insert into TY values (6,NULL)


insert into TX values (1,2)

insert into TX values (2,1)

insert into TX values (3,2)

insert into TX values (4,2)

Num hipotético índice do tipo BitMap, sobre a coluna B da tabela TX, como descrita anteriormente, o conteúdo seria:
  1. A0010000100100010
  2. B0010.0001.0010.0010
  3. C0100001010110010
  4. D1 00012 00103 00114 0100
  5. E1 01002 1011
Revelar gabarito e comentário

GabaritoE — 1 0100 2 1011

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Índice BitMap na coluna B da tabela TX

Gabarito: letra E. Um índice BitMap armazena, para cada valor distinto da coluna indexada, um vetor de bits (bitmap) em que cada bit corresponde a uma linha da tabela (na ordem física ou de inserção). O bit vale 1 se a linha contém aquele valor, e 0 caso contrário.

Na tabela TX, a coluna B possui apenas dois valores distintos: 1 e 2. As linhas inseridas foram (A=1,B=2), (A=2,B=1), (A=3,B=2), (A=4,B=2) – nessa ordem. Portanto:

  • Para o valor 1: o bitmap é 0100 (apenas a 2ª linha possui B=1).

  • Para o valor 2: o bitmap é 1011 (1ª, 3ª e 4ª linhas possuem B=2).

A alternativa E apresenta exatamente essa representação: "1 0100" e "2 1011".

Alternativa A — ❌ Incorreta

Exibe quatro linhas de 4 bits cada, o que não corresponde à estrutura de um índice BitMap (que teria uma linha por valor distinto, não por linha da tabela).

Alternativa B — ❌ Incorreta

Apresenta quatro grupos separados por ponto, também incorreto: o índice BitMap não armazena um bitmap por linha, e sim por valor.

Alternativa C — ❌ Incorreta

Mostra duas strings de 8 bits, que não se alinham aos 4 bits necessários para as 4 linhas da tabela.

Alternativa D — ❌ Incorreta

Embora liste valores com bitmaps, os bitmaps estão trocados: para o valor 1 seria 0100 (não 0001) e para o valor 2 seria 1011 (não 0010).

Gabarito: letra E.

Link permanente: /questoes/fg071510