CREATE TABLE `OVERIGEADRESSEERBAAROBJECTAANDUIDING` (
    `NUMMERAANDUIDING_ID` INT PRIMARY KEY,
    `IDENTIFICATIECODE` VARCHAR(255)
) ENGINE=InnoDB;

CREATE TABLE `ADRESSEERBAAROBJECT` (
    `ADRESSEERBAAROBJECT_ID` INT PRIMARY KEY,
    `HEEFT_ALS_HOOFDADRES_NUMMERAANDUIDING_ID` INT,
    `IDENTIFICATIE` VARCHAR(255),
    `TYPEADRESSEERBAAROBJECT` VARCHAR(255),
    `VERSIE` INT
) ENGINE=InnoDB;

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

CREATE TABLE `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG` (
    `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG_ID` INT PRIMARY KEY,
    `OVERIGEADRESSEERBAAROBJECTAANDUIDING_ID` INT,
    `NUMMERAANDUIDING_ID` INT
) ENGINE=InnoDB;

ALTER TABLE `OVERIGEADRESSEERBAAROBJECTAANDUIDING` ADD CONSTRAINT FK_OVERIGEADRESSEERBAAROBJECTAANDUIDING_GEN_NUMMERAANDUIDING FOREIGN KEY (`NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- Generalization to NUMMERAANDUIDING

ALTER TABLE `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG` ADD CONSTRAINT FK_KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG_1 FOREIGN KEY (`OVERIGEADRESSEERBAAROBJECTAANDUIDING_ID`) REFERENCES `OVERIGEADRESSEERBAAROBJECTAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- OVERIGEADRESSEERBAAROBJECTAANDUIDING (many-to-many junction, Connector_ID: 2277)

ALTER TABLE `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG` ADD CONSTRAINT FK_KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG_2 FOREIGN KEY (`NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- NUMMERAANDUIDING (many-to-many junction, Connector_ID: 2277)

ALTER TABLE `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG` ADD CONSTRAINT FK_KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG_1 FOREIGN KEY (`OVERIGEADRESSEERBAAROBJECTAANDUIDING_ID`) REFERENCES `OVERIGEADRESSEERBAAROBJECTAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- OVERIGEADRESSEERBAAROBJECTAANDUIDING (many-to-many junction, Connector_ID: 2280)

ALTER TABLE `KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG` ADD CONSTRAINT FK_KP_OVRGDRSSRBRBJCTNDDNG_NMMRNDDNG_2 FOREIGN KEY (`NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- NUMMERAANDUIDING (many-to-many junction, Connector_ID: 2280)

ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_HEEFT_ALS_NEVENADRES FOREIGN KEY (`HEEFT_ALS_NEVENADRES_ADRESSEERBAAROBJECT_ID`) REFERENCES `ADRESSEERBAAROBJECT` (`ADRESSEERBAAROBJECT_ID`);
-- HEEFT_ALS_NEVENADRES (1 to 0..*, Connector_ID: 2268)

ALTER TABLE `ADRESSEERBAAROBJECT` ADD CONSTRAINT FK_ADRESSEERBAAROBJECT_HEEFT_ALS_HOOFDADRES FOREIGN KEY (`HEEFT_ALS_HOOFDADRES_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`);
-- HEEFT_ALS_HOOFDADRES (1 to 1, Connector_ID: 2274)

