Questão nº 40

Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 40)

FGV2023Agente da Fiscalização - TITecnologia da Informação
Gabarito: Ever comentário ↓

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:
0001
0010
0010
10110010
2 0010
3 0011
4 0100
2 1011

Resposta comentada

Gabarito Alternativa E

Um Bitmap Index (índice de bitmap) é uma estrutura de dados que associa cada valor distinto de uma coluna a um bitmap (sequência de bits). Cada bit no bitmap representa uma linha da tabela; um bit '1' indica que a linha possui aquele valor na coluna indexada, enquanto um '0' indica que não.

Para a coluna B da tabela TX, as linhas e seus valores são (assumindo a ordem das linhas pela chave primária TX.A):

  1. TX.A=1, TX.B=2
  2. TX.A=2, TX.B=1
  3. TX.A=3, TX.B=2
  4. TX.A=4, TX.B=2

Agora, construímos o bitmap para cada valor distinto de B:

  • Para o valor 1 em B:

    • Linha 1 (TX.B=2): 0 (não é 1)
    • Linha 2 (TX.B=1): 1 (é 1)
    • Linha 3 (TX.B=2): 0 (não é 1)
    • Linha 4 (TX.B=2): 0 (não é 1)
    • Bitmap para 1: 0100
  • Para o valor 2 em B:

    • Linha 1 (TX.B=2): 1 (é 2)
    • Linha 2 (TX.B=1): 0 (não é 2)
    • Linha 3 (TX.B=2): 1 (é 2)
    • Linha 4 (TX.B=2): 1 (é 2)
    • Bitmap para 2: 1011

O conteúdo do índice Bitmap inclui pares como (valor, bitmap).

(A) Incorreta: 0010 não corresponde ao bitmap de nenhum dos valores distintos (1 ou 2) na coluna B da tabela TX.
(B) Incorreta: 0010.0001.0010.0010 é uma sequência de bits que não representa o formato padrão de uma entrada de índice bitmap (valor e seu bitmap).
(C) Incorreta: 01000010 é uma sequência de bits que não corresponde a um bitmap completo para um valor específico, nem à concatenação dos bitmaps calculados (0100 para 1 e 1011 para 2 resultaria em 01001011).
(D) Incorreta: 1 0001 tenta representar o bitmap para o valor 1, mas o bitmap correto para o valor 1 é 0100, não 0001. Armadilha da banca: Esta alternativa apresenta o formato correto (valor e seu bitmap), mas o bitmap está incorreto por um único bit, buscando confundir o candidato que calculou o bitmap de forma ligeiramente errada.
(E) Correta: 1 0100 representa corretamente o par (valor, bitmap) para o valor 1 na coluna B da tabela TX, conforme calculado. O valor 1 aparece apenas na segunda linha da tabela TX (quando ordenada por TX.A), o que corresponde ao bit '1' na segunda posição do bitmap 0100.

Fonte: FGV TCE-SP 2023 Agente da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho