Solche Tabellen können auch bei der Verwendung eines ORM entstehen.
öfter als man erwarten würde, entscheidet man sich dabei nämlich dafür eine eigene Tabelle für bestimmte Ableitungen zu haben.
Auf der anderen Seite einer Assoziation wird dann der ORM eine "Discriminator column" anlegen, damit er sofort weiß was er wie abzufragen hat.
Habe ich selbst schon öfters benutzt, einfach weil der Profiler meinte es sei schneller.
Foreign keys sind IMO überbewertet. Zumindest wenn man einen ORM einsetzt. Aber das kommt sicherlich auf den Use-case an. Vor allem ob direkter Zugriff auf die
DB ermöglicht werden soll.