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), `MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID` INT, `NATIONALITEIT` VARCHAR(100), `OVERLIJDENSPLAATS` VARCHAR(200), `VOORLETTERSAANSCHRIJVING` VARCHAR(20), `VOORNAMEN` VARCHAR(200), `VOORNAMENAANSCHRIJVING` VARCHAR(200), `VOORVOEGSELGESLACHTSNAAM` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `SLUITINGOFAANGAANHUWELIJKOFGEREGISTREERDPARTNERSCHAP` ( `SLUITINGOFAANGAANHUWELIJKOFGEREGISTREERDPARTNERSCHAP_ID` INT PRIMARY KEY, `BUITENLANDSEPLAATSAANVANG` VARCHAR(255), `BUITENLANDSEREGIOAANVANG` VARCHAR(255), `DATUMAANVANG` DATE, `GEMEENTEAANVANG` VARCHAR(80), `LANDOFGEBIEDAANVANG` VARCHAR(255), `OMSCHRIJVINGLOCATIEAANVANG` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `KP_INGSCHRVNPRSN_NTRLJKPRSN` ( `KP_INGSCHRVNPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `INGESCHREVENPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `HUISHOUDEN` ( `HUISHOUDEN_ID` INT PRIMARY KEY, `HEEFT_ALS_ADRES_NUMMERAANDUIDING_ID` INT, `SOORT` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `ONTBINDINGHUWELIJK_GEREGISTREERDPARTNERSCHAP` ( `ONTBINDINGHUWELIJK_GEREGISTREERDPARTNERSCHAP_ID` INT PRIMARY KEY, `BUITENLANDSEPLAATSEINDE` DATE, `BUITENLANDSEREGIOEINDE` DATE, `DATUMEINDE` DATE, `GEMEENTEEINDE` DATE, `LANDOFGEBIEDEINDE` DATE, `OMSCHRIJVINGLOCATIEEINDE` DATE, `REDENEINDE` DATE ) ENGINE=InnoDB; CREATE TABLE `KP_CLNT_INGSCHRVNPRSN` ( `KP_CLNT_INGSCHRVNPRSN_ID` INT PRIMARY KEY, `CLIENT_ID` INT, `INGESCHREVENPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `INGESCHREVENPERSOON` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY, `ADRESHERKOMST` VARCHAR(255), `ANUMMER` VARCHAR(20), `BESCHRIJVINGLOCATIE` VARCHAR(200), `BUITENLANDSREISDOCUMENT` VARCHAR(80), `BURGERLIJKESTAAT` VARCHAR(255), `DATUMBEGINGELDIGHEIDVERBLIJFPLAATS` DATE, `DATUMEINDEGELDIGHEIDVERBLIJFSPLAATS` DATE, `DATUMINSCHRIJVINGGEMEENTE` DATE, `DATUMOPSCHORTINGBIJHOUDING` DATE, `DATUMVERTREKUITNEDERLAND` DATE, `DATUMVESTIGINGNEDERLAND` DATE, `GEMEENTEVANINSCHRIJVING` VARCHAR(80), `GEZINSRELATIE` VARCHAR(255), `HEEFT_ALS_ADRES_NUMMERAANDUIDING_ID` INT, `INDICATIEGEHEIM` BOOLEAN, `INGEZETENE` BOOLEAN, `LANDWAARNAARVERTROKKEN` VARCHAR(255), `LANDWAARVANDAANINGESCHREVEN` VARCHAR(255), `OUDER1` VARCHAR(255), `OUDER2` VARCHAR(255), `OUDER_1_NATUURLIJKPERSOON_ID` INT, `OUDER_2_NATUURLIJKPERSOON_ID` INT, `PARTNERID` VARCHAR(255), `REDENEINDEBEWONING` DATE, `REDENOPSCHORTINGBIJHOUDING` VARCHAR(200), `SIGNALERINGREISDOCUMENT` BOOLEAN, `VERBLIJFSTITEL` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `CLIENT` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY, `CODE` VARCHAR(80), `GEZAGSDRAGERGEKEND` BOOLEAN, `JURIDISCHESTATUS` VARCHAR(80), `MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID` INT, `WETTELIJKEVERTEGENWOORDIGING` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `OPENBARERUIMTE` ( `OPENBARERUIMTE_ID` INT PRIMARY KEY, `BEGINGELDIGHEID` DATE, `DATUMEINDE` DATE, `DATUMINGANG` DATE, `DOCUMENTDATUM` DATE, `DOCUMENTNUMMER` INT, `EINDGELDIGHEID` DATE, `GECONSTATEERD` BOOLEAN, `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), `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` BOOLEAN, `GEOMETRIE` GEOMETRY, `HUISLETTER` VARCHAR(255), `HUISNUMMER` VARCHAR(255), `HUISNUMMERTOEVOEGING` VARCHAR(255), `IDENTIFICATIE` VARCHAR(255), `LIGT_AAN_OPENBARERUIMTE_ID` INT, `POSTCODE` VARCHAR(255), `STATUS` VARCHAR(255), `TYPEADRESSEERBAAROBJECT` VARCHAR(255), `VERSIE` INT ) ENGINE=InnoDB; ALTER TABLE `CLIENT` ADD CONSTRAINT FK_CLIENT_GEN_INGESCHREVENPERSOON FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`NATUURLIJKPERSOON_ID`); -- Generalization to INGESCHREVENPERSOON ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_GEN_NATUURLIJKPERSOON FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- Generalization to NATUURLIJKPERSOON ALTER TABLE `KP_CLNT_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_CLNT_INGSCHRVNPRSN_1 FOREIGN KEY (`CLIENT_ID`) REFERENCES `CLIENT` (`NATUURLIJKPERSOON_ID`); -- CLIENT (many-to-many junction, Connector_ID: 958) ALTER TABLE `KP_CLNT_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_CLNT_INGSCHRVNPRSN_2 FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`NATUURLIJKPERSOON_ID`); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 958) ALTER TABLE `KP_INGSCHRVNPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_INGSCHRVNPRSN_NTRLJKPRSN_1 FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`NATUURLIJKPERSOON_ID`); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1878) ALTER TABLE `KP_INGSCHRVNPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_INGSCHRVNPRSN_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1878) ALTER TABLE `HUISHOUDEN` ADD CONSTRAINT FK_HUISHOUDEN_HEEFT_ALS_ADRES FOREIGN KEY (`HEEFT_ALS_ADRES_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`); -- HEEFT_ALS_ADRES (0..* to 1, Connector_ID: 931) ALTER TABLE `CLIENT` ADD CONSTRAINT FK_CLIENT_MAAKT_ONDERDEEL_UIT_VAN FOREIGN KEY (`MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID`) REFERENCES `HUISHOUDEN` (`HUISHOUDEN_ID`); -- MAAKT_ONDERDEEL_UIT_VAN (0..* to 1, Connector_ID: 949) ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_1 FOREIGN KEY (`OUDER_1_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- OUDER_1 (1 to 1, Connector_ID: 1871) ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_2 FOREIGN KEY (`OUDER_2_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- OUDER_2 (1 to 1, Connector_ID: 1873) ALTER TABLE `NATUURLIJKPERSOON` ADD CONSTRAINT FK_NATUURLIJKPERSOON_MAAKT_ONDERDEEL_UIT_VAN FOREIGN KEY (`MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID`) REFERENCES `HUISHOUDEN` (`HUISHOUDEN_ID`); -- MAAKT_ONDERDEEL_UIT_VAN (1..* to 0..1, Connector_ID: 1889) ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_HEEFT_ALS_ADRES FOREIGN KEY (`HEEFT_ALS_ADRES_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`); -- HEEFT_ALS_ADRES (0..* to 0..1, Connector_ID: 2273) 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)