Enunciados de questões e informações de concursos

Câmara dos Deputados
Questão 1 de 1

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)

 

A instância da tabela fibo, anteriormente apresentada, foi danificada na primeira coluna em algumas linhas, com exceção das duas primeiras linhas, como mostrado a seguir.

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

Para a restauração da instância da tabela fibo a partir desse estado, foram preparados três comandos SQL.

 

I.update fibo

set fibo.P = (select sum(1) from fibo f1

where f1.N <= fibo.N)

where fibo.P > 2

 

II.update fibo

set fibo.P = (select sum(1) from fibo f1

where f1.N <= fibo.N

group by f1.N)

where fibo.P > 2

 

III.update fibo

set fibo.P = select sum(1) from fibo f1

where f1.N < fibo.N

and fibo.P > 2

 

Com relação ao emprego desses comandos, assinale a afirmativa correta.



spinner
Ocorreu um erro na requisição, tente executar a operação novamente.