Angenommen, ich habe eine Tabelle mit Jobrollen:
CREATE TABLE roles
(
"role" character varying(80) NOT NULL,
CONSTRAINT "role" PRIMARY KEY (role)
);
Angenommen, ich habe weiterhin eine Tabelle, Benutzer und jede Zeile (ein bestimmter Benutzer) kann eine beliebige Anzahl von Jobrollen haben:
CREATE TABLE users
(
username character varying(12) NOT NULL,
roles character varying(80)[] NOT NULL,
CONSTRAINT username PRIMARY KEY (username)
);
Ich sollte wahrscheinlich sicherstellen, dass jedes Mitglied von users.roles[]
rolls.role vorhanden ist. Es scheint mir, dass ich eine Fremdschlüsselbeschränkung für jedes Mitglied von users.roles[]
so will, dass, wenn auf rolls.role verwiesen wird.
Dies scheint mit Postgres nicht möglich zu sein. Schaue ich das falsch an? Was ist der vorgeschlagene "richtige" Weg, um damit umzugehen?
quelle