CREATE TABLE HUISHOUDEN (
    HUISHOUDEN_ID INTEGER PRIMARY KEY,
    SOORT VARCHAR(255)
);

CREATE TABLE RELATIESOORT (
    RELATIESOORT_ID INTEGER PRIMARY KEY,
    OMSCHRIJVING VARCHAR(255)
);

CREATE TABLE CLIENT (
    CLIENT_ID INTEGER PRIMARY KEY,
    CODE VARCHAR(80),
    GEZAGSDRAGERGEKEND BOOLEAN,
    JURIDISCHESTATUS VARCHAR(80),
    MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID INTEGER,
    WETTELIJKEVERTEGENWOORDIGING VARCHAR(80)
);

CREATE TABLE RELATIE (
    RELATIE_ID INTEGER PRIMARY KEY,
    IS_SOORT_RELATIESOORT_ID INTEGER,
    RELATIESOORT INTEGER
);

CREATE TABLE KP_CLNT_RLT (
    KP_CLNT_RLT_ID INTEGER PRIMARY KEY,
    CLIENT_ID INTEGER,
    RELATIE_ID INTEGER
);

CREATE TABLE KP_RLT_HSHDN (
    KP_RLT_HSHDN_ID INTEGER PRIMARY KEY,
    RELATIE_ID INTEGER,
    HUISHOUDEN_ID INTEGER
);

ALTER TABLE KP_RLT_HSHDN ADD CONSTRAINT FK_KP_RLT_HSHDN_1 FOREIGN KEY (RELATIE_ID) REFERENCES RELATIE (RELATIE_ID);
-- RELATIE (many-to-many junction, Connector_ID: 929)

ALTER TABLE KP_RLT_HSHDN ADD CONSTRAINT FK_KP_RLT_HSHDN_2 FOREIGN KEY (HUISHOUDEN_ID) REFERENCES HUISHOUDEN (HUISHOUDEN_ID);
-- HUISHOUDEN (many-to-many junction, Connector_ID: 929)

ALTER TABLE KP_CLNT_RLT ADD CONSTRAINT FK_KP_CLNT_RLT_1 FOREIGN KEY (CLIENT_ID) REFERENCES CLIENT (CLIENT_ID);
-- CLIENT (many-to-many junction, Connector_ID: 954)

ALTER TABLE KP_CLNT_RLT ADD CONSTRAINT FK_KP_CLNT_RLT_2 FOREIGN KEY (RELATIE_ID) REFERENCES RELATIE (RELATIE_ID);
-- RELATIE (many-to-many junction, Connector_ID: 954)

ALTER TABLE RELATIE ADD CONSTRAINT FK_RELATIE_IS_SOORT FOREIGN KEY (IS_SOORT_RELATIESOORT_ID) REFERENCES RELATIESOORT (RELATIESOORT_ID);
-- IS_SOORT (0..* to 1, Connector_ID: 922)

ALTER TABLE CLIENT ADD CONSTRAINT FK_CLIENT_MAAKT_ONDERDEEL_UIT_VAN FOREIGN KEY (MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID) REFERENCES HUISHOUDEN (HUISHOUDEN_ID);
-- MAAKT_ONDERDEEL_UIT_VAN (0..* to 1, Connector_ID: 949)

