CREATE TABLE `ORGANISATORISCHEEENHEID` (
    `ORGANISATORISCHEEENHEID_ID` INT PRIMARY KEY,
    `DATUMONTSTAAN` DATE,
    `DATUMOPHEFFING` DATE,
    `EMAILADRES` VARCHAR(255),
    `FAXNUMMER` VARCHAR(20),
    `FORMATIE` VARCHAR(255),
    `IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID` INT,
    `NAAM` VARCHAR(50),
    `NAAMVERKORT` VARCHAR(255),
    `OMSCHRIJVING` VARCHAR(80),
    `ORGANISATIEIDENTIFICATIE` VARCHAR(255),
    `TELEFOONNUMMER` VARCHAR(20),
    `TOELICHTING` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `PRODUCTOFDIENST` (
    `PRODUCTOFDIENST_ID` INT PRIMARY KEY,
    `AFHANDELTIJD` DATETIME,
    `INGEBRUIK` BOOLEAN,
    `NAAM` VARCHAR(80)
) ENGINE=InnoDB;

CREATE TABLE `BETROKKENE` (
    `BETROKKENE_ID` INT PRIMARY KEY,
    `ADRESBINNENLAND` VARCHAR(255),
    `ADRESBUITENLAND` VARCHAR(200),
    `IDENTIFICATIE` VARCHAR(50),
    `IS_ORGANISATORISCHEEENHEID_ID` INT,
    `NAAM` VARCHAR(200)
) ENGINE=InnoDB;

CREATE TABLE `KLANTBEOORDELING` (
    `KLANTBEOORDELING_ID` INT PRIMARY KEY,
    `BEOORDELING` VARCHAR(255),
    `CATEGORIE` VARCHAR(50),
    `CONTACTOPNEMEN` BOOLEAN,
    `DDBEOORDELING` DATE,
    `DOET_BETROKKENE_ID` INT,
    `KANAAL` VARCHAR(100),
    `ONDERWERP` VARCHAR(50),
    `SUBCATEGORIE` VARCHAR(50)
) ENGINE=InnoDB;

CREATE TABLE `KP_ORGNSTRSCHNHD_KLNTBRDLNG` (
    `KP_ORGNSTRSCHNHD_KLNTBRDLNG_ID` INT PRIMARY KEY,
    `ORGANISATORISCHEEENHEID_ID` INT,
    `KLANTBEOORDELING_ID` INT
) ENGINE=InnoDB;

CREATE TABLE `KLANTBEOORDELINGREDEN` (
    `KLANTBEOORDELINGREDEN_ID` INT PRIMARY KEY,
    `HEEFT_KLANTBEOORDELING_ID` INT,
    `REDEN` VARCHAR(100)
) 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,
    `HEEFT_KLANTBEOORDELING_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 `KP_PRDCTFDNST_KLNTBRDLNG` (
    `KP_PRDCTFDNST_KLNTBRDLNG_ID` INT PRIMARY KEY,
    `PRODUCTOFDIENST_ID` INT,
    `KLANTBEOORDELING_ID` INT
) ENGINE=InnoDB;

CREATE TABLE `KP_BTRKKN_ZK` (
    `KP_BTRKKN_ZK_ID` INT PRIMARY KEY,
    `BETROKKENE_ID` INT,
    `ZAAK_ID` INT
) ENGINE=InnoDB;

ALTER TABLE `KP_PRDCTFDNST_KLNTBRDLNG` ADD CONSTRAINT FK_KP_PRDCTFDNST_KLNTBRDLNG_1 FOREIGN KEY (`PRODUCTOFDIENST_ID`) REFERENCES `PRODUCTOFDIENST` (`PRODUCTOFDIENST_ID`);
-- PRODUCTOFDIENST (many-to-many junction, Connector_ID: 364)

ALTER TABLE `KP_PRDCTFDNST_KLNTBRDLNG` ADD CONSTRAINT FK_KP_PRDCTFDNST_KLNTBRDLNG_2 FOREIGN KEY (`KLANTBEOORDELING_ID`) REFERENCES `KLANTBEOORDELING` (`KLANTBEOORDELING_ID`);
-- KLANTBEOORDELING (many-to-many junction, Connector_ID: 364)

ALTER TABLE `KP_ORGNSTRSCHNHD_KLNTBRDLNG` ADD CONSTRAINT FK_KP_ORGNSTRSCHNHD_KLNTBRDLNG_1 FOREIGN KEY (`ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`);
-- ORGANISATORISCHEEENHEID (many-to-many junction, Connector_ID: 2064)

ALTER TABLE `KP_ORGNSTRSCHNHD_KLNTBRDLNG` ADD CONSTRAINT FK_KP_ORGNSTRSCHNHD_KLNTBRDLNG_2 FOREIGN KEY (`KLANTBEOORDELING_ID`) REFERENCES `KLANTBEOORDELING` (`KLANTBEOORDELING_ID`);
-- KLANTBEOORDELING (many-to-many junction, Connector_ID: 2064)

ALTER TABLE `KP_BTRKKN_ZK` ADD CONSTRAINT FK_KP_BTRKKN_ZK_1 FOREIGN KEY (`BETROKKENE_ID`) REFERENCES `BETROKKENE` (`BETROKKENE_ID`);
-- BETROKKENE (many-to-many junction, Connector_ID: 2164)

ALTER TABLE `KP_BTRKKN_ZK` ADD CONSTRAINT FK_KP_BTRKKN_ZK_2 FOREIGN KEY (`ZAAK_ID`) REFERENCES `ZAAK` (`ZAAK_ID`);
-- ZAAK (many-to-many junction, Connector_ID: 2164)

ALTER TABLE `KLANTBEOORDELINGREDEN` ADD CONSTRAINT FK_KLANTBEOORDELINGREDEN_HEEFT FOREIGN KEY (`HEEFT_KLANTBEOORDELING_ID`) REFERENCES `KLANTBEOORDELING` (`KLANTBEOORDELING_ID`);
-- HEEFT (1 to 0..*, Connector_ID: 367)

ALTER TABLE `ORGANISATORISCHEEENHEID` ADD CONSTRAINT FK_ORGANISATORISCHEEENHEID_IS_DEEL_VAN FOREIGN KEY (`IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`);
-- IS_DEEL_VAN (1 to 0..1, Connector_ID: 2059)

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 `ZAAK` ADD CONSTRAINT FK_ZAAK_HEEFT FOREIGN KEY (`HEEFT_KLANTBEOORDELING_ID`) REFERENCES `KLANTBEOORDELING` (`KLANTBEOORDELING_ID`);
-- HEEFT (1 to 0..1, Connector_ID: 2116)

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 `KLANTBEOORDELING` ADD CONSTRAINT FK_KLANTBEOORDELING_DOET FOREIGN KEY (`DOET_BETROKKENE_ID`) REFERENCES `BETROKKENE` (`BETROKKENE_ID`);
-- DOET (1 to 0..*, Connector_ID: 2160)

ALTER TABLE `BETROKKENE` ADD CONSTRAINT FK_BETROKKENE_IS FOREIGN KEY (`IS_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`);
-- IS (0..1 to 1, Connector_ID: 2161)

