Questão #11286792015

Banco de Dados (TI)

Considere uma tabela de banco de dados que represente a

árvore genealógica simplificada da família real brasileira, como

mostrada a seguir.

Imagem da questão

Rafael pretende escrever um comando SQL que insira nessa

tabela as relações de ancestralidade que podem ser derivadas

das que ali estão. Por exemplo, Dona Leopoldina é

descendente de Dom Pedro I porque descende de Dom Pedro

II, que descende de Dom Pedro I.

Assim, Rafael escreveu o comando SQL

insert into arvore

select distinct a1.ancestral, a2.descendente

from arvore a1, arvore a2

where a2.ancestral = a1.descendente

and not exists

(select * from arvore aa

where aa.ancestral = a1.ancestral

and aa.descendente = a2.descendente)

Para incluir todas as relações de descendência possíveis de

deduzir dos dados originais, Rafael teve que executar esse

comando, pelo menos: