PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie stellen Sie sicher, dass Werte aus einer Protokollierungstabelle mit Objekten in anderen Tabellen übereinstimmen?

Sie benötigen eine entity Tabelle:

create table entity (
    entity_id serial primary key,
    entity_type text check (entity_type in ('individual','organization'))
)
create table individual (
    ind_id integer primary key references entity (entity_id), 
    age integer, name varchar
);
create table organisation (
    org_id integer primary key references entity (entity_id), 
    city varchar, name varchar
);
create TABLE log_table (
    log_id integer primary key, 
    entity_id integer references entity (entity_id), 
    information json, log_date date
);