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), `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 `KP_CLNT_INGSCHRVNPRSN` ( `KP_CLNT_INGSCHRVNPRSN_ID` INT PRIMARY KEY, `CLIENT_ID` INT, `INGESCHREVENPERSOON_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 `SOCIALE_GROEP` ( `SOCIALE_GROEP_ID` INT PRIMARY KEY, `EINDDATUM` DATE, `NAAM` VARCHAR(80), `OMSCHRIJVING` TEXT, `STARTDATUM` DATE, `TYPERING` TEXT ) ENGINE=InnoDB; CREATE TABLE `KP_INGSCHRVNPRSN_NTRLJKPRSN` ( `KP_INGSCHRVNPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `INGESCHREVENPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_SCL_RLT_NTRLJKPRSN` ( `KP_SCL_RLT_NTRLJKPRSN_ID` INT PRIMARY KEY, `SOCIALE_RELATIE_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_NTRLJKPRSN_SCL_GRP` ( `KP_NTRLJKPRSN_SCL_GRP_ID` INT PRIMARY KEY, `NATUURLIJKPERSOON_ID` INT, `SOCIALE_GROEP_ID` INT ) ENGINE=InnoDB; CREATE TABLE `SOCIALE_RELATIE` ( `SOCIALE_RELATIE_ID` INT PRIMARY KEY, `EINDDATUM` DATE, `STARTDATUM` DATE, `TYPERING` TEXT ) ENGINE=InnoDB; CREATE TABLE `CLIENT` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY, `CODE` VARCHAR(80), `GEZAGSDRAGERGEKEND` BOOLEAN, `JURIDISCHESTATUS` VARCHAR(80), `WETTELIJKEVERTEGENWOORDIGING` VARCHAR(80) ) 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_SCL_RLT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_SCL_RLT_NTRLJKPRSN_1 FOREIGN KEY (`SOCIALE_RELATIE_ID`) REFERENCES `SOCIALE_RELATIE` (`SOCIALE_RELATIE_ID`); -- SOCIALE_RELATIE (many-to-many junction, Connector_ID: 919) ALTER TABLE `KP_SCL_RLT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_SCL_RLT_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 919) 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 `KP_NTRLJKPRSN_SCL_GRP` ADD CONSTRAINT FK_KP_NTRLJKPRSN_SCL_GRP_1 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1890) ALTER TABLE `KP_NTRLJKPRSN_SCL_GRP` ADD CONSTRAINT FK_KP_NTRLJKPRSN_SCL_GRP_2 FOREIGN KEY (`SOCIALE_GROEP_ID`) REFERENCES `SOCIALE_GROEP` (`SOCIALE_GROEP_ID`); -- SOCIALE_GROEP (many-to-many junction, Connector_ID: 1890) 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)