Você está usando um padrão chamado Associações Polimórficas e não, não há como fazer isso e usar chaves estrangeiras para impor a integridade referencial.
Sugiro que você crie uma tabela comum que
a_points
, b_points
e c_points
referência. Em seguida, seus pares de pontos podem fazer referência a essa tabela comum. a_points -->
b_points --> common_points <-- point_pairs
c_points -->
Em outras palavras, a maneira de fazer as Associações Polimórficas funcionarem é inverter a direção da referência.