CREATE TABLE RECHTSPERSOON (
    RECHTSPERSOON_ID NUMBER PRIMARY KEY,
    ADRESBINNENLAND VARCHAR2(255),
    ADRESBUITENLAND VARCHAR2(255),
    ADRESCORRESPONDENTIE VARCHAR2(100),
    EMAILADRES VARCHAR2(80),
    FAXNUMMER VARCHAR2(20),
    IDENTIFICATIE VARCHAR2(255),
    KVKNUMMER VARCHAR2(20),
    NAAM VARCHAR2(200),
    RECHTSVORM VARCHAR2(100),
    REKENINGNUMMER VARCHAR2(255),
    TELEFOONNUMMER VARCHAR2(20)
);

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),
    MELDER_RECHTSPERSOON_ID NUMBER,
    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 MOR_AANVRAAGOFMELDING (
    AANVRAAGOFMELDING_ID NUMBER PRIMARY KEY,
    LOCATIE VARCHAR2(255),
    LOCATIEOMSCHRIJVING VARCHAR2(255),
    MELDINGOMSCHRIJVING VARCHAR2(255),
    MELDINGTEKST VARCHAR2(255)
);

CREATE TABLE KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG (
    KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG_ID NUMBER PRIMARY KEY,
    MOR_AANVRAAGOFMELDING_ID NUMBER,
    AANVRAAGOFMELDING_ID NUMBER
);

ALTER TABLE MOR_AANVRAAGOFMELDING ADD CONSTRAINT FK_MOR_AANVRAAGOFMELDING_GEN_AANVRAAGOFMELDING FOREIGN KEY (AANVRAAGOFMELDING_ID) REFERENCES AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- Generalization to AANVRAAGOFMELDING

ALTER TABLE KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG ADD CONSTRAINT FK_KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG_1 FOREIGN KEY (MOR_AANVRAAGOFMELDING_ID) REFERENCES MOR_AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- MOR_AANVRAAGOFMELDING (many-to-many junction, Connector_ID: 362)

ALTER TABLE KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG ADD CONSTRAINT FK_KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG_2 FOREIGN KEY (AANVRAAGOFMELDING_ID) REFERENCES AANVRAAGOFMELDING (AANVRAAGOFMELDING_ID);
-- AANVRAAGOFMELDING (many-to-many junction, Connector_ID: 362)

ALTER TABLE AANVRAAGOFMELDING ADD CONSTRAINT FK_AANVRAAGOFMELDING_MELDER FOREIGN KEY (MELDER_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID);
-- MELDER (1..* to 0..1, Connector_ID: 377)

