CREATE TABLE AANVRAAGOFMELDING (
    AANVRAAGOFMELDING_ID NUMBER PRIMARY KEY,
    AFGEHANDELD NUMBER(1),
    CATEGORIE VARCHAR2(200),
    CATEGORIECODE VARCHAR2(80),
    DATUMAANMAAK DATE,
    DATUMAFHANDELING DATE,
    DATUMBEGINSTATUS DATE,
    DATUMEINDESTATUS DATE,
    HOOFDCATEGORIE VARCHAR2(80),
    HOOFDCATEGORIECODE VARCHAR2(80),
    IDENTIFICATIE VARCHAR2(255),
    KANAAL VARCHAR2(80),
    ONDERWERP VARCHAR2(200),
    ONDERWERPCODE VARCHAR2(80),
    SOORT VARCHAR2(80),
    STATUS VARCHAR2(80),
    STATUSCODE VARCHAR2(80),
    STATUSVOLGORDE VARCHAR2(80),
    SUBCATEGORIE VARCHAR2(200),
    SUBCATEGORIECODE VARCHAR2(80)
);

CREATE TABLE ZORGMELDING (
    AANVRAAGOFMELDING_ID NUMBER PRIMARY KEY,
    NADEREOMSCHRIJVING CLOB,
    OMSCHRIJVING CLOB,
    TERUGKOPPELINGGEWENST NUMBER(1),
    VERZOEK VARCHAR2(255),
    ZORGMELDINGSOORT NUMBER
);

CREATE TABLE ZORGELIJKE_SITUATIE (
    ZORGELIJKE_SITUATIE_ID NUMBER PRIMARY KEY,
    NAAR_AANLEIDING_VAN_AANVRAAGOFMELDING_ID NUMBER,
    NADEREOMSCHRIJVING CLOB,
    SITIUATIESCHETS CLOB
);

CREATE TABLE KP_ZRGMLDNG_ANVRGFMLDNG (
    KP_ZRGMLDNG_ANVRGFMLDNG_ID NUMBER PRIMARY KEY,
    ZORGMELDING_ID NUMBER,
    AANVRAAGOFMELDING_ID NUMBER
);

CREATE TABLE INCIDENT (
    INCIDENT_ID NUMBER PRIMARY KEY,
    BERUST_OP_ZORGELIJKE_SITUATIE_ID NUMBER,
    DATUMTIJDTOT TIMESTAMP,
    DATUMTIJDVANAF TIMESTAMP,
    LOCATIE VARCHAR2(255),
    OMSCHRIJVING CLOB,
    SOORT VARCHAR2(255),
    TOELICHTING CLOB
);

ALTER TABLE ZORGMELDING ADD CONSTRAINT FK_ZORGMELDING_GEN_AANVRAAGOFMELDING FOREIGN KEY (AANVRAAGOFMELDING_ID) REFERENCES AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- Generalization to AANVRAAGOFMELDING

ALTER TABLE KP_ZRGMLDNG_ANVRGFMLDNG ADD CONSTRAINT FK_KP_ZRGMLDNG_ANVRGFMLDNG_1 FOREIGN KEY (ZORGMELDING_ID) REFERENCES ZORGMELDING (AANVRAAGOFMELDING_ID);
-- ZORGMELDING (many-to-many junction, Connector_ID: 1005)

ALTER TABLE KP_ZRGMLDNG_ANVRGFMLDNG ADD CONSTRAINT FK_KP_ZRGMLDNG_ANVRGFMLDNG_2 FOREIGN KEY (AANVRAAGOFMELDING_ID) REFERENCES AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- AANVRAAGOFMELDING (many-to-many junction, Connector_ID: 1005)

ALTER TABLE ZORGELIJKE_SITUATIE ADD CONSTRAINT FK_ZORGELIJKE_SITUATIE_NAAR_AANLEIDING_VAN FOREIGN KEY (NAAR_AANLEIDING_VAN_AANVRAAGOFMELDING_ID) REFERENCES AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- NAAR_AANLEIDING_VAN (1 to 1..*, Connector_ID: 1006)

ALTER TABLE INCIDENT ADD CONSTRAINT FK_INCIDENT_BERUST_OP FOREIGN KEY (BERUST_OP_ZORGELIJKE_SITUATIE_ID) REFERENCES ZORGELIJKE_SITUATIE (ZORGELIJKE_SITUATIE_ID);
-- BERUST_OP (1 to 0..*, Connector_ID: 1007)

