Mi imbatto in un fastidioso problema al lavoro, in cui il modello di dominio non si adatta bene al modello relazionale del nostro database Postgres.
Ho una serie di tabelle primarie A, B, C, ecc. Quindi c'è quest'altra tabella X, che funge fondamentalmente da una sotto-raccolta per ciascuna delle tabelle principali. Quindi, voglio una relazione uno-a-molti da ciascuna delle tabelle primarie a X. Normalmente, una relazione molti-a-uno viene modellata aggiungendo una chiave esterna da X alla tabella primaria. Tuttavia, in questo caso, credo che avrei bisogno di una chiave esterna da X a ogni delle tabelle A, B, C, ecc. Questo mi sembra janky, specialmente dal momento che esattamente una di queste chiavi dovrebbe essere non nullo in qualsiasi momento, ad es una tupla in X non dovrebbe appartenere ad A e B.
Avere a_id
, b_id
, c_id
attributi in X la soluzione migliore oppure esiste un approccio alternativo?