U kunt dit omzeilen met behulp van de aanvullende tabel individual_pks (individual_pk integer primary key)
met alle primaire sleutels van zowel ouder als kind, die worden onderhouden met behulp van triggers (heel eenvoudig - invoegen in individual_pks
bij invoegen, eruit verwijderen bij verwijderen, bijwerken bij update, als het verandert individual_pk
).
Dan wijs je buitenlandse sleutels naar deze extra tabel in plaats van naar een kind. Er zal een kleine prestatiehit zijn, maar alleen bij het toevoegen/verwijderen van rijen.
Of vergeet overerving en doe het op de oude manier - gewoon één tabel met enkele nullable-kolommen.