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

CREATE TABLE [AANVRAAGOFMELDING] (
    [AANVRAAGOFMELDING_ID] INT PRIMARY KEY,
    [AFGEHANDELD] BIT,
    [CATEGORIE] VARCHAR(200),
    [CATEGORIECODE] VARCHAR(80),
    [DATUMAANMAAK] DATE,
    [DATUMAFHANDELING] DATE,
    [DATUMBEGINSTATUS] DATE,
    [DATUMEINDESTATUS] DATE,
    [HOOFDCATEGORIE] VARCHAR(80),
    [HOOFDCATEGORIECODE] VARCHAR(80),
    [IDENTIFICATIE] VARCHAR(255),
    [KANAAL] VARCHAR(80),
    [MELDER_RECHTSPERSOON_ID] INT,
    [ONDERWERP] VARCHAR(200),
    [ONDERWERPCODE] VARCHAR(80),
    [SOORT] VARCHAR(80),
    [STATUS] VARCHAR(80),
    [STATUSCODE] VARCHAR(80),
    [STATUSVOLGORDE] VARCHAR(80),
    [SUBCATEGORIE] VARCHAR(200),
    [SUBCATEGORIECODE] VARCHAR(80)
);

CREATE TABLE [MOR_AANVRAAGOFMELDING] (
    [AANVRAAGOFMELDING_ID] INT PRIMARY KEY,
    [LOCATIE] VARCHAR(255),
    [LOCATIEOMSCHRIJVING] VARCHAR(255),
    [MELDINGOMSCHRIJVING] VARCHAR(255),
    [MELDINGTEKST] VARCHAR(255)
);

CREATE TABLE [KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG] (
    [KP_MOR_ANVRGFMLDNG_ANVRGFMLDNG_ID] INT PRIMARY KEY,
    [MOR_AANVRAAGOFMELDING_ID] INT,
    [AANVRAAGOFMELDING_ID] INT
);

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)

