Vous utilisez un modèle appelé Associations polymorphes, et non, il n'y a aucun moyen de le faire et d'utiliser des clés étrangères pour appliquer l'intégrité référentielle.
Je vous suggère de créer un tableau commun qui a_points , b_points , et c_points référence. Ensuite, vos paires de points peuvent référencer cette table commune.
a_points -->
b_points --> common_points <-- point_pairs
c_points -->
En d'autres termes, la façon de faire fonctionner les associations polymorphes est d'inverser le sens de la référence.