Of course you can have a table like that! Let's call the relation (table) "DirectAncestors" for example:
Table DirectAncestors:
PersonId bigint; (Foreign key to table Person.ID)
FatherID bigint; (Foreign key to table Person.ID)
MotherID bigint; (Foreign key to table Person.ID)
The table Person should have an autoincrement primary key and a unique index on the fields marked *:
Table Person:
ID, (autoincrement)
GivenName, *
Name, *
DOB, *
DOD, (nullable),
Birthplace, *
Gender *
You can also have the table Person have a foreign key relation to itself:
Table Person:
ID (autoincrement)
GivenName *
Name *
DOB, *
DOD (nullable),
Birthplace, *
Gender *,
MotherID, ( Foreign Key to Person.ID nullable ),
FatherID, ( Foreign Key to Person.ID nullable )
The first solution is preferable when you want to traverse the ancestry in both directions.
Hope that help you a little in your decision.
Cheers!