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),
    [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 [ZORGMELDING] (
    [AANVRAAGOFMELDING_ID] INT PRIMARY KEY,
    [NADEREOMSCHRIJVING] NVARCHAR(MAX),
    [OMSCHRIJVING] NVARCHAR(MAX),
    [TERUGKOPPELINGGEWENST] BIT,
    [VERZOEK] VARCHAR(255),
    [ZORGMELDINGSOORT] INT
);

CREATE TABLE [ZORGELIJKE_SITUATIE] (
    [ZORGELIJKE_SITUATIE_ID] INT PRIMARY KEY,
    [NAAR_AANLEIDING_VAN_AANVRAAGOFMELDING_ID] INT,
    [NADEREOMSCHRIJVING] NVARCHAR(MAX),
    [SITIUATIESCHETS] NVARCHAR(MAX)
);

CREATE TABLE [KP_ZRGMLDNG_ANVRGFMLDNG] (
    [KP_ZRGMLDNG_ANVRGFMLDNG_ID] INT PRIMARY KEY,
    [ZORGMELDING_ID] INT,
    [AANVRAAGOFMELDING_ID] INT
);

CREATE TABLE [INCIDENT] (
    [INCIDENT_ID] INT PRIMARY KEY,
    [BERUST_OP_ZORGELIJKE_SITUATIE_ID] INT,
    [DATUMTIJDTOT] DATETIME2,
    [DATUMTIJDVANAF] DATETIME2,
    [LOCATIE] VARCHAR(255),
    [OMSCHRIJVING] NVARCHAR(MAX),
    [SOORT] VARCHAR(255),
    [TOELICHTING] NVARCHAR(MAX)
);

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)

