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

CREATE TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` (
    `KP_NTNTRLJKPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY,
    `NIETNATUURLIJKPERSOON_ID` INT,
    `NATUURLIJKPERSOON_ID` INT
) ENGINE=InnoDB;

CREATE TABLE `NATUURLIJKPERSOON` (
    `NATUURLIJKPERSOON_ID` INT PRIMARY KEY,
    `AANDUIDINGNAAMGEBRUIK` VARCHAR(50),
    `AANHEFAANSCHRIJVING` VARCHAR(50),
    `ACADEMISCHETITEL` VARCHAR(80),
    `ACHTERNAAM` VARCHAR(100),
    `ADELLIJKETITELOFPREDIKAAT` VARCHAR(255),
    `ANUMMER` VARCHAR(20),
    `BIJZONDERNEDERLANDERSCHAP` VARCHAR(50),
    `BURGERSERVICENUMMER` VARCHAR(255),
    `DATUMGEBOORTE` DATE,
    `DATUMOVERLIJDEN` DATE,
    `GEBOORTELAND` VARCHAR(255),
    `GEBOORTEPLAATS` VARCHAR(200),
    `GESLACHTSAANDUIDING` VARCHAR(255),
    `GESLACHTSNAAM` VARCHAR(200),
    `GESLACHTSNAAMAANSCHRIJVING` VARCHAR(200),
    `HANDLICHTING` VARCHAR(50),
    `INDICATIEAFSCHERMINGPERSOONSGEGEVENS` BOOLEAN,
    `INDICATIEOVERLEDEN` BOOLEAN,
    `LANDOVERLIJDEN` VARCHAR(255),
    `NATIONALITEIT` VARCHAR(100),
    `OVERLIJDENSPLAATS` VARCHAR(200),
    `VOORLETTERSAANSCHRIJVING` VARCHAR(20),
    `VOORNAMEN` VARCHAR(200),
    `VOORNAMENAANSCHRIJVING` VARCHAR(200),
    `VOORVOEGSELGESLACHTSNAAM` VARCHAR(80)
) ENGINE=InnoDB;

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

CREATE TABLE `AANVRAAGOFMELDING` (
    `AANVRAAGOFMELDING_ID` INT PRIMARY KEY,
    `AFGEHANDELD` BOOLEAN,
    `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),
    `KAN_LEIDEN_TOT_KLANTCONTACT_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)
) 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,
    `KAN_LEIDEN_TOT_AANVRAAGOFMELDING_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 `BETROKKENE` (
    `BETROKKENE_ID` INT PRIMARY KEY,
    `ADRESBINNENLAND` VARCHAR(255),
    `ADRESBUITENLAND` VARCHAR(200),
    `IDENTIFICATIE` VARCHAR(50),
    `IS_NATUURLIJKPERSOON_ID` INT,
    `IS_NIETNATUURLIJKPERSOON_ID` INT,
    `NAAM` VARCHAR(200)
) ENGINE=InnoDB;

CREATE TABLE `NIETNATUURLIJKPERSOON` (
    `NIETNATUURLIJKPERSOON_ID` INT PRIMARY KEY,
    `DATUMAANVANG` DATE,
    `DATUMEINDE` DATE,
    `DATUMUITSCHRIJVING` DATE,
    `DATUMVOORTZETTING` DATE,
    `FAXNUMMER` VARCHAR(20),
    `INGESCHREVEN` BOOLEAN,
    `INOPRICHTING` BOOLEAN,
    `KVKNUMMER` VARCHAR(255),
    `NNPID` VARCHAR(255),
    `RECHTSVORM` VARCHAR(255),
    `RSINNUMMER` VARCHAR(255),
    `STATUTAIRENAAM` VARCHAR(255),
    `STATUTAIREZETEL` VARCHAR(255),
    `WEBSITEURL` VARCHAR(200)
) ENGINE=InnoDB;

ALTER TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_1 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`);
-- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970)

ALTER TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`);
-- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970)

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 `ZAAK` ADD CONSTRAINT FK_ZAAK_KAN_LEIDEN_TOT FOREIGN KEY (`KAN_LEIDEN_TOT_AANVRAAGOFMELDING_ID`) REFERENCES `AANVRAAGOFMELDING` (`AANVRAAGOFMELDING_ID`);
-- KAN_LEIDEN_TOT (0..1 to 0..*, Connector_ID: 380)

ALTER TABLE `AANVRAAGOFMELDING` ADD CONSTRAINT FK_AANVRAAGOFMELDING_KAN_LEIDEN_TOT FOREIGN KEY (`KAN_LEIDEN_TOT_KLANTCONTACT_ID`) REFERENCES `KLANTCONTACT` (`KLANTCONTACT_ID`);
-- KAN_LEIDEN_TOT (0..1 to 0..*, Connector_ID: 2057)

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 `BETROKKENE` ADD CONSTRAINT FK_BETROKKENE_IS FOREIGN KEY (`IS_NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`);
-- IS (0..1 to 1, Connector_ID: 2159)

ALTER TABLE `KLANTCONTACT` ADD CONSTRAINT FK_KLANTCONTACT_HEEFT_KLANTCONTACTEN FOREIGN KEY (`HEEFT_KLANTCONTACTEN_BETROKKENE_ID`) REFERENCES `BETROKKENE` (`BETROKKENE_ID`);
-- HEEFT_KLANTCONTACTEN (0..* to 0..1, Connector_ID: 2162)

ALTER TABLE `BETROKKENE` ADD CONSTRAINT FK_BETROKKENE_IS_2 FOREIGN KEY (`IS_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`);
-- IS (0..1 to 1, Connector_ID: 2163)

