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

Come si assicura che i valori di una tabella di registrazione corrispondano a oggetti in altre tabelle?

Hai bisogno di un entity tabella:

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
);