Du kan omgå det ved hjælp af yderligere tabel individual_pks (individual_pk integer primary key)
med alle primære nøgler fra både forælder og barn, som vil blive vedligeholdt ved hjælp af triggere (meget simpelt - indsæt til individual_pks
ved indsættelse, slet fra det ved sletning, opdater det ved opdatering, hvis det ændrer individual_pk
).
Så peger du fremmednøgler til denne ekstra tabel i stedet for et barn. Der vil være et lille præstationshit, men kun når du tilføjer/sletter rækker.
Eller glem arv og gør det på den gamle måde - blot én tabel med nogle nullbare kolonner.