///
Quando mencionada, considere a tabela relacional intitulada fibo, com duas colunas, cuja instância, não necessariamente nessa ordem, é exibida a seguir.
| 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.
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 |
| 9 | 8 |
| 7 | 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.