CREATE DATABASE DBParentes CREATE TABLE Parentes ; (ID Integer PRIMARY KEY , ; Nome Char(20) NOT NULL, ; Pai Integer REFERENCES Parentes NULL, ; Mae Integer REFERENCES Parentes NULL ; ) INSERT INTO Parentes VALUES (1, "Gaspar", NULL, NULL) INSERT INTO Parentes VALUES (2, "Fátima", NULL, NULL) INSERT INTO Parentes VALUES (3, "Gonçalves", 1, 2) INSERT INTO Parentes VALUES (4, "Ernestina", NULL, NULL) INSERT INTO Parentes VALUES (5, "Antonio", 3, 4) INSERT INTO Parentes VALUES (6, "Maria", NULL, NULL) INSERT INTO Parentes VALUES (7, "João", 5, 6)Um exemplo de consulta que retornaria a relação direta de pai/mãe-filho poderia ser escrita da seguinte forma:
SELECT Filho.Nome as Nome , Pai.Nome as Eh_filho_de, Mae.Nome as E ; FROM Parentes Filho, Parentes Pai, Parentes Mae ; WHERE Filho.Pai = Pai.ID AND ; Filho.Mae = Mae.ID AND ; NOT ISNULL(Filho.Pai) ; INTO CURSOR curRelacoesNote que este tipo de modelagem hierárquica em modelos relacionais não é a ideal, especialmente quando se deseja permitir indeterminados nívels hieráquicos (bisavô/avô/pai/filho/neto,etc). Isto porque seria necessário vários "joins" para a mesma tabela a fim de selecionar estes níveis (veja que o exemplo acima usa três joins somente para um nível hierárquico).