Magna Concursos
2982957 Ano: 2023
Disciplina: TI - Banco de Dados
Banca: FGV
Orgão: Câm. Deputados

Quando mencionada, considere a tabela relacional intitulada fibo, com duas colunas, cuja instância, não necessariamente nessa ordem, é exibida a seguir.

Tabela fibo

P N
1 0
2 1
3 1
4 2
5 3
6 5
7 8
8 13
9 21
10 34

A coluna da esquerda enumera as linhas, continuamente, e a coluna da direita armazena os dez primeiros elementos da sequência de Fibonacci, na qual os dois primeiros termos são 0 e 1, por definição, e cada termo subsequente é a soma dos dois termos anteriores.

----------------------------------------------------------------

Suponha que a tabela fibo, apresentada anteriormente, tenha sido danificada, e sua instância corrente seja a que segue.

P N
1 0
2 1
3 1
6 5
7 8

Para restaurar a tabela, foi produzido o comando SQL a seguir.

insert into fibo
  select f2.P + 1, f1.N + f2.N
  from fibo f1, fibo f2
    where f1.P = f2.P - 1
    and f2.P < 10
    and not exists
    (select * from fibo f3
       where f1.N + f2.N = f3.N and f3.P > f2.P)

Considere a instância da tabela fibo, anteriormente apresentada, depois de um conjunto de alterações errôneas.

P N
1 0
2 1
3 1
4 2
5 4
6 5
7 8
8 13
9 21
10 34

Considere ainda o comando SQL a seguir.

delete from fibo
  where fibo.P > 2
  and ( exists
    (select * from fibo f
      where f.P > fibo.P and f.N < fibo.N )
  or
  exists
    (select * from fibo f
    where f.P < fibo.P and f.N > fibo.N )
  or
  not exists
    (select * from fibo f1, fibo f2
      where fibo.P - 2 = f1.P
      and fibo.P - 1 = f2.P
      and fibo.N = f1.N + f2.N )
 )

Assinale o número de linhas removidas da tabela fibo pela execução do comando acima com a presente instância.

 

Provas

Questão presente nas seguintes provas