CREATE TABLE CATEGORIE (
    CATEGORIE_ID NUMBER PRIMARY KEY,
    NAAM VARCHAR2(255)
);

CREATE TABLE DOSSIER (
    DOSSIER_ID NUMBER PRIMARY KEY,
    NAAM VARCHAR2(255)
);

CREATE TABLE TAAKVELD (
    TAAKVELD_ID NUMBER PRIMARY KEY,
    NAAM VARCHAR2(255)
);

CREATE TABLE PROGRAMMA (
    PROGRAMMA_ID NUMBER PRIMARY KEY,
    NAAM VARCHAR2(255)
);

CREATE TABLE RAADSSTUK (
    RAADSSTUK_ID NUMBER PRIMARY KEY,
    BESLOTEN NUMBER(1),
    DATUMEXPIRATIE DATE,
    DATUMPUBLICATIE DATE,
    DATUMREGISTRATIE DATE,
    HEEFT_CATEGORIE_ID NUMBER,
    HEEFT_TAAKVELD_ID NUMBER,
    TYPERAADSSTUK VARCHAR2(80)
);

CREATE TABLE KP_DSSR_RDSSTK (
    KP_DSSR_RDSSTK_ID NUMBER PRIMARY KEY,
    DOSSIER_ID NUMBER,
    RAADSSTUK_ID NUMBER
);

CREATE TABLE KP_RDSSTK_PRGRMM (
    KP_RDSSTK_PRGRMM_ID NUMBER PRIMARY KEY,
    RAADSSTUK_ID NUMBER,
    PROGRAMMA_ID NUMBER
);

ALTER TABLE KP_RDSSTK_PRGRMM ADD CONSTRAINT FK_KP_RDSSTK_PRGRMM_1 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID);
-- RAADSSTUK (many-to-many junction, Connector_ID: 1341)

ALTER TABLE KP_RDSSTK_PRGRMM ADD CONSTRAINT FK_KP_RDSSTK_PRGRMM_2 FOREIGN KEY (PROGRAMMA_ID) REFERENCES PROGRAMMA (PROGRAMMA_ID);
-- PROGRAMMA (many-to-many junction, Connector_ID: 1341)

ALTER TABLE KP_DSSR_RDSSTK ADD CONSTRAINT FK_KP_DSSR_RDSSTK_1 FOREIGN KEY (DOSSIER_ID) REFERENCES DOSSIER (DOSSIER_ID);
-- DOSSIER (many-to-many junction, Connector_ID: 1345)

ALTER TABLE KP_DSSR_RDSSTK ADD CONSTRAINT FK_KP_DSSR_RDSSTK_2 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID);
-- RAADSSTUK (many-to-many junction, Connector_ID: 1345)

ALTER TABLE RAADSSTUK ADD CONSTRAINT FK_RAADSSTUK_HEEFT FOREIGN KEY (HEEFT_TAAKVELD_ID) REFERENCES TAAKVELD (TAAKVELD_ID);
-- HEEFT (0..* to 0..1, Connector_ID: 1335)

ALTER TABLE RAADSSTUK ADD CONSTRAINT FK_RAADSSTUK_HEEFT_2 FOREIGN KEY (HEEFT_CATEGORIE_ID) REFERENCES CATEGORIE (CATEGORIE_ID);
-- HEEFT (0..1 to 0..*, Connector_ID: 1348)

