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

INSERT INTO `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`, VALUE) VALUES
    (1, 'JA'),
    (2, 'LEEG'),
    (3, 'NEE'),
    (4, 'ONBEKEND');

CREATE TABLE `LIGPLAATS` (
    `LIGPLAATS_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `IDENTIFICATIE` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `VERSIE` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `VERBLIJFSOBJECT` (
    `VERBLIJFSOBJECT_ID` INT PRIMARY KEY,
    `AANTALKAMERS` VARCHAR(255),
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `GEBRUIKSDOEL` VARCHAR(255),
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `HOOGSTEBOUWLAAG` VARCHAR(255),
    `IDENTIFICATIE` VARCHAR(255),
    `LAAGSTEBOUWLAAG` VARCHAR(255),
    `ONTSLUITINGVERDIEPING` VARCHAR(255),
    `OPPERVLAKTE` INT,
    `SOORTWOONOBJECT` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `TOEGANGBOUWLAAG` VARCHAR(255),
    `VERSIE` INT
) ENGINE=InnoDB;

CREATE TABLE `PAND` (
    `PAND_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `BRUTOINHOUDPAND` VARCHAR(255),
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` VARCHAR(255),
    `EINDGELDIGHEID` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIEBOVENAANZICHT` GEOMETRY,
    `GEOMETRIEMAAIVELD` GEOMETRY,
    `GEOMETRIEPUNT` GEOMETRY,
    `HOOGSTEBOUWLAAG` VARCHAR(255),
    `IDENTIFICATIE` VARCHAR(255),
    `LAAGSTEBOUWLAAG` VARCHAR(255),
    `OORSPRONKELIJKBOUWJAAR` VARCHAR(255),
    `OPPERVLAKTE` VARCHAR(255),
    `RELATIEVEHOOGTELIGGING` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `STATUSVOORTGANGBOUW` VARCHAR(255),
    `VERSIE` INT
) ENGINE=InnoDB;

CREATE TABLE `STANDPLAATS` (
    `STANDPLAATS_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `IDENTIFICATIE` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `VERSIE` INT
) ENGINE=InnoDB;

CREATE TABLE `WOONPLAATS` (
    `WOONPLAATS_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `EINDREGISTRATIE` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `IDENTIFICATIE` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `TIJDSTIPACTIEF` DATETIME,
    `TIJDSTIPREGISTRATIE` DATETIME,
    `VERSIE` INT,
    `VOORKOMEN` DATE,
    `WOONPLAATSNAAM` VARCHAR(80),
    `WOONPLAATSNAAMNEN` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `KP_VRBLJFSBJCT_PND` (
    `KP_VRBLJFSBJCT_PND_ID` INT PRIMARY KEY,
    `VERBLIJFSOBJECT_ID` INT,
    `PAND_ID` INT
) ENGINE=InnoDB;

CREATE TABLE `OPENBARERUIMTE` (
    `OPENBARERUIMTE_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `HUISNUMMERRANGE_EVEN_EN_ONEVEN_NUMMERS` VARCHAR(255),
    `HUISNUMMERRANGE_EVEN_NUMMERS` VARCHAR(255),
    `HUISNUMMERRANGE_ONEVEN_NUMMERS` VARCHAR(255),
    `IDENTIFICATIE` VARCHAR(255),
    `LABELNAAM` VARCHAR(80),
    `LIGT_IN_WOONPLAATS_ID` INT,
    `NAAMOPENBARERUIMTE` VARCHAR(80),
    `STATUS` VARCHAR(255),
    `STRAATCODE` VARCHAR(80),
    `STRAATNAAM` VARCHAR(255),
    `TYPEOPENBARERUIMTE` VARCHAR(255),
    `VERSIE` INT,
    `WEGSEGMENT` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `NUMMERAANDUIDING` (
    `NUMMERAANDUIDING_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` DATE,
    `DATUMEINDE` DATE,
    `DATUMINGANG` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDEGELDIGHEID` DATE,
    `GECONSTATEERD_ENUM_ID` INT,
    `GEOMETRIE` GEOMETRY,
    `HUISLETTER` VARCHAR(255),
    `HUISNUMMER` VARCHAR(255),
    `HUISNUMMERTOEVOEGING` VARCHAR(255),
    `IDENTIFICATIE` VARCHAR(255),
    `LIGT_AAN_OPENBARERUIMTE_ID` INT,
    `LIGT_IN_WOONPLAATS_ID` INT,
    `POSTCODE` VARCHAR(255),
    `STATUS` VARCHAR(255),
    `TYPEADRESSEERBAAROBJECT` VARCHAR(255),
    `VERSIE` INT
) ENGINE=InnoDB;

CREATE TABLE `ONDERZOEK` (
    `ONDERZOEK_ID` INT PRIMARY KEY,
    `BEGINGELDIGHEID` VARCHAR(255),
    `DATUMACTUEELTOT` DATE,
    `DOCUMENTDATUM` DATE,
    `DOCUMENTNUMMER` INT,
    `EINDGELDIGHEID` DATE,
    `EINDREGISTRATIE` DATE,
    `IDENTIFICATIE` VARCHAR(255),
    `INONDERZOEK_ENUM_ID` INT,
    `KENMERK` VARCHAR(255),
    `OBJECTIDENTIFICATIE` VARCHAR(255),
    `OBJECTIDENTIFICATIE_LIGPLAATS_ID` INT,
    `OBJECTIDENTIFICATIE_NUMMERAANDUIDING_ID` INT,
    `OBJECTIDENTIFICATIE_OPENBARERUIMTE_ID` INT,
    `OBJECTIDENTIFICATIE_PAND_ID` INT,
    `OBJECTIDENTIFICATIE_STANDPLAATS_ID` INT,
    `OBJECTIDENTIFICATIE_VERBLIJFSOBJECT_ID` INT,
    `OBJECTIDENTIFICATIE_WOONPLAATS_ID` INT,
    `OBJECTTYPE` VARCHAR(255),
    `TIJDSTIPREGISTRATIE` DATETIME,
    `VOLGNUMMER` INT
) ENGINE=InnoDB;

ALTER TABLE `KP_VRBLJFSBJCT_PND` ADD CONSTRAINT FK_KP_VRBLJFSBJCT_PND_1 FOREIGN KEY (`VERBLIJFSOBJECT_ID`) REFERENCES `VERBLIJFSOBJECT` (`VERBLIJFSOBJECT_ID`);
-- VERBLIJFSOBJECT (many-to-many junction, Connector_ID: 2305)

ALTER TABLE `KP_VRBLJFSBJCT_PND` ADD CONSTRAINT FK_KP_VRBLJFSBJCT_PND_2 FOREIGN KEY (`PAND_ID`) REFERENCES `PAND` (`PAND_ID`);
-- PAND (many-to-many junction, Connector_ID: 2305)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE FOREIGN KEY (`OBJECTIDENTIFICATIE_OPENBARERUIMTE_ID`) REFERENCES `OPENBARERUIMTE` (`OPENBARERUIMTE_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2256)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_2 FOREIGN KEY (`OBJECTIDENTIFICATIE_LIGPLAATS_ID`) REFERENCES `LIGPLAATS` (`LIGPLAATS_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2257)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_3 FOREIGN KEY (`OBJECTIDENTIFICATIE_STANDPLAATS_ID`) REFERENCES `STANDPLAATS` (`STANDPLAATS_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2258)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_4 FOREIGN KEY (`OBJECTIDENTIFICATIE_VERBLIJFSOBJECT_ID`) REFERENCES `VERBLIJFSOBJECT` (`VERBLIJFSOBJECT_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2259)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_5 FOREIGN KEY (`OBJECTIDENTIFICATIE_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2278)

ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_LIGT_AAN FOREIGN KEY (`LIGT_AAN_OPENBARERUIMTE_ID`) REFERENCES `OPENBARERUIMTE` (`OPENBARERUIMTE_ID`);
-- LIGT_AAN (0..* to 1, Connector_ID: 2281)

ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_LIGT_IN FOREIGN KEY (`LIGT_IN_WOONPLAATS_ID`) REFERENCES `WOONPLAATS` (`WOONPLAATS_ID`);
-- LIGT_IN (0..* to 0..1, Connector_ID: 2283)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_6 FOREIGN KEY (`OBJECTIDENTIFICATIE_WOONPLAATS_ID`) REFERENCES `WOONPLAATS` (`WOONPLAATS_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2284)

ALTER TABLE `OPENBARERUIMTE` ADD CONSTRAINT FK_OPENBARERUIMTE_LIGT_IN FOREIGN KEY (`LIGT_IN_WOONPLAATS_ID`) REFERENCES `WOONPLAATS` (`WOONPLAATS_ID`);
-- LIGT_IN (1..* to 1, Connector_ID: 2288)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_OBJECTIDENTIFICATIE_7 FOREIGN KEY (`OBJECTIDENTIFICATIE_PAND_ID`) REFERENCES `PAND` (`PAND_ID`);
-- OBJECTIDENTIFICATIE (0..1 to 1, Connector_ID: 2304)

ALTER TABLE `PAND` ADD CONSTRAINT FK_PAND_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `WOONPLAATS` ADD CONSTRAINT FK_WOONPLAATS_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `VERBLIJFSOBJECT` ADD CONSTRAINT FK_VERBLIJFSOBJECT_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `ONDERZOEK` ADD CONSTRAINT FK_ONDERZOEK_INONDERZOEK_ENUM_ID FOREIGN KEY (`INONDERZOEK_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- INONDERZOEK_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `LIGPLAATS` ADD CONSTRAINT FK_LIGPLAATS_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `STANDPLAATS` ADD CONSTRAINT FK_STANDPLAATS_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

ALTER TABLE `OPENBARERUIMTE` ADD CONSTRAINT FK_OPENBARERUIMTE_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`);
-- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref)

