PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Chiave esterna PostgreSQL non esistente, problema di eredità?

Puoi aggirarlo usando la tabella aggiuntiva individual_pks (individual_pk integer primary key) con tutte le chiavi primarie sia del genitore che del figlio, che verranno mantenute utilizzando i trigger (molto semplice:inserisci in individual_pks su inserimento, elimina da esso su elimina, aggiornalo su aggiornamento, se cambia individual_pk ).

Quindi punti le chiavi esterne a questa tabella aggiuntiva anziché a un figlio. Si verificherà un piccolo calo delle prestazioni, ma solo quando si aggiungono/eliminano righe.

Oppure dimentica l'ereditarietà e fallo alla vecchia maniera:semplicemente una tabella con alcune colonne nullable.