Enunciados de questões e informações de concursos
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.