CREATE TABLE `MEDEWERKER` (
    `MEDEWERKER_ID` INT PRIMARY KEY,
    `ACHTERNAAM` VARCHAR(200),
    `DATUMINDIENST` DATE,
    `DATUMUITDIENST` DATE,
    `EMAILADRES` VARCHAR(255),
    `EXTERN` BOOLEAN,
    `FUNCTIE` VARCHAR(50),
    `GESLACHTSAANDUIDING` VARCHAR(255),
    `MEDEWERKERIDENTIFICATIE` VARCHAR(255),
    `MEDEWERKERTOELICHTING` VARCHAR(255),
    `ROEPNAAM` VARCHAR(255),
    `TELEFOONNUMMER` VARCHAR(20),
    `VOORLETTERS` VARCHAR(20),
    `VOORVOEGSELACHTERNAAM` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `ZAAK` (
    `ZAAK_ID` INT PRIMARY KEY,
    `ARCHIEFNOMINATIE` VARCHAR(255),
    `DATUMEINDE` DATE,
    `DATUMEINDEGEPLAND` DATE,
    `DATUMEINDEUITERLIJKEAFDOENING` DATE,
    `DATUMLAATSTEBETALING` DATE,
    `DATUMPUBLICATIE` DATE,
    `DATUMREGISTRATIE` DATE,
    `DATUMSTART` DATE,
    `DATUMVERNIETIGINGDOSSIER` DATE,
    `DUURVERLENGING` VARCHAR(255),
    `HEEFT_BETREKKING_OP_ANDERE_ZAAK_ID` INT,
    `INDICATIEBETALING` VARCHAR(255),
    `INDICATIEDEELZAKEN` BOOLEAN,
    `INDICATIEOPSCHORTING` VARCHAR(255),
    `IS_DEELZAAK_VAN_ZAAK_ID` INT,
    `LEGES` VARCHAR(100),
    `OMSCHRIJVING` VARCHAR(80),
    `OMSCHRIJVINGRESULTAAT` VARCHAR(80),
    `REDENOPSCHORTING` VARCHAR(200),
    `REDENVERLENGING` VARCHAR(200),
    `TOELICHTING` VARCHAR(255),
    `TOELICHTINGRESULTAAT` VARCHAR(255),
    `VERTROUWELIJKHEID` VARCHAR(255),
    `ZAAKIDENTIFICATIE` VARCHAR(255),
    `ZAAKNIVEAU` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `VESTIGINGVANZAAKBEHANDELENDEORGANISATIE` (
    `VESTIGINGVANZAAKBEHANDELENDEORGANISATIE_ID` INT PRIMARY KEY
) ENGINE=InnoDB;

CREATE TABLE `KP_ZK_MDWRKR` (
    `KP_ZK_MDWRKR_ID` INT PRIMARY KEY,
    `ZAAK_ID` INT,
    `MEDEWERKER_ID` INT
) ENGINE=InnoDB;

CREATE TABLE `KLANTCONTACT` (
    `KLANTCONTACT_ID` INT PRIMARY KEY,
    `EINDTIJD` DATETIME,
    `HEEFT_BETREKKING_OP_ZAAK_ID` INT,
    `IS_GEVOERD_DOOR_MEDEWERKER_ID` INT,
    `KANAAL` VARCHAR(20),
    `LOCATIE_VESTIGINGVANZAAKBEHANDELENDEORGANISATIE_ID` INT,
    `NOTITIE` TEXT,
    `STARTTIJD` DATETIME,
    `TIJDSDUUR` DATETIME,
    `TOELICHTING` TEXT,
    `WACHTTIJDTOTAAL` DATETIME
) ENGINE=InnoDB;

CREATE TABLE `SOORTEN_KLANTCONTACT_ENUM` (
    `SOORTEN_KLANTCONTACT_ENUM_ID` INT PRIMARY KEY,
    VALUE VARCHAR(255)
) ENGINE=InnoDB;

INSERT INTO `SOORTEN_KLANTCONTACT_ENUM` (`SOORTEN_KLANTCONTACT_ENUM_ID`, VALUE) VALUES
    (1, 'BALIE'),
    (2, 'BRIEF'),
    (3, 'INTERNET'),
    (4, 'SELFSERVICELOKET'),
    (5, 'TELEFONISCH');

ALTER TABLE `KP_ZK_MDWRKR` ADD CONSTRAINT FK_KP_ZK_MDWRKR_1 FOREIGN KEY (`ZAAK_ID`) REFERENCES `ZAAK` (`ZAAK_ID`);
-- ZAAK (many-to-many junction, Connector_ID: 2190)

ALTER TABLE `KP_ZK_MDWRKR` ADD CONSTRAINT FK_KP_ZK_MDWRKR_2 FOREIGN KEY (`MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`);
-- MEDEWERKER (many-to-many junction, Connector_ID: 2190)

ALTER TABLE `KLANTCONTACT` ADD CONSTRAINT FK_KLANTCONTACT_LOCATIE FOREIGN KEY (`LOCATIE_VESTIGINGVANZAAKBEHANDELENDEORGANISATIE_ID`) REFERENCES `VESTIGINGVANZAAKBEHANDELENDEORGANISATIE` (`VESTIGINGVANZAAKBEHANDELENDEORGANISATIE_ID`);
-- LOCATIE (0..* to 0..1, Connector_ID: 2052)

ALTER TABLE `SOORTEN_KLANTCONTACT_ENUM` ADD CONSTRAINT FK_SOORTEN_KLANTCONTACT_ENUM_IS_VAN_SOORT FOREIGN KEY (`IS_VAN_SOORT_KLANTCONTACT_ID`) REFERENCES `KLANTCONTACT` (`KLANTCONTACT_ID`);
-- IS_VAN_SOORT (1 to 0..*, Connector_ID: 2056)

ALTER TABLE `ZAAK` ADD CONSTRAINT FK_ZAAK_HEEFT_BETREKKING_OP_ANDERE FOREIGN KEY (`HEEFT_BETREKKING_OP_ANDERE_ZAAK_ID`) REFERENCES `ZAAK` (`ZAAK_ID`);
-- HEEFT_BETREKKING_OP_ANDERE (1 to 0..*, Connector_ID: 2108)

ALTER TABLE `KLANTCONTACT` ADD CONSTRAINT FK_KLANTCONTACT_HEEFT_BETREKKING_OP FOREIGN KEY (`HEEFT_BETREKKING_OP_ZAAK_ID`) REFERENCES `ZAAK` (`ZAAK_ID`);
-- HEEFT_BETREKKING_OP (0..* to 0..1, Connector_ID: 2115)

ALTER TABLE `ZAAK` ADD CONSTRAINT FK_ZAAK_IS_DEELZAAK_VAN FOREIGN KEY (`IS_DEELZAAK_VAN_ZAAK_ID`) REFERENCES `ZAAK` (`ZAAK_ID`);
-- IS_DEELZAAK_VAN (1 to 0..1, Connector_ID: 2121)

ALTER TABLE `KLANTCONTACT` ADD CONSTRAINT FK_KLANTCONTACT_IS_GEVOERD_DOOR FOREIGN KEY (`IS_GEVOERD_DOOR_MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`);
-- IS_GEVOERD_DOOR (0..* to 0..1, Connector_ID: 2186)

