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; CREATE TABLE `INGESCHREVENPERSOON` ( `INGESCHREVENPERSOON_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_INGESCHREVENPERSOON_ID` INT, `OUDER_2_INGESCHREVENPERSOON_ID` INT, `PARTNERID` VARCHAR(255), `REDENEINDEBEWONING` DATE, `REDENOPSCHORTINGBIJHOUDING` VARCHAR(200), `SIGNALERINGREISDOCUMENT` BOOLEAN, `VERBLIJFSTITEL` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `MEDEWERKER` ( `MEDEWERKER_ID` INT PRIMARY KEY, `ACHTERNAAM` VARCHAR(200), `DATUMINDIENST` DATE, `DATUMUITDIENST` DATE, `EMAILADRES` VARCHAR(255), `EXTERN` BOOLEAN, `FUNCTIE` VARCHAR(50), `GESLACHTSAANDUIDING` VARCHAR(255), `MEDEWERKERIDENTIFICATIE` VARCHAR(255), `MEDEWERKERTOELICHTING` VARCHAR(255), `ROEPNAAM` VARCHAR(255), `TELEFOONNUMMER` VARCHAR(20), `VOORLETTERS` VARCHAR(20), `VOORVOEGSELACHTERNAAM` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `SCHOOL` ( `NIETNATUURLIJKPERSOON_ID` INT PRIMARY KEY, `NAAM` VARCHAR(200) ) ENGINE=InnoDB; CREATE TABLE `LEERLING` ( `INGESCHREVENPERSOON_ID` INT PRIMARY KEY, `KWETSBAREJONGERE` BOOLEAN ) ENGINE=InnoDB; CREATE TABLE `OUDER_OF_VERZORGER` ( `INGESCHREVENPERSOON_ID` INT PRIMARY KEY ) ENGINE=InnoDB; CREATE TABLE `LEERPLICHTAMBTENAAR` ( `MEDEWERKER_ID` INT PRIMARY KEY ) ENGINE=InnoDB; CREATE TABLE `KP_SCHL_NTNTRLJKPRSN` ( `KP_SCHL_NTNTRLJKPRSN_ID` INT PRIMARY KEY, `SCHOOL_ID` INT, `NIETNATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_LRLNG_INGSCHRVNPRSN` ( `KP_LRLNG_INGSCHRVNPRSN_ID` INT PRIMARY KEY, `LEERLING_ID` INT, `INGESCHREVENPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_ODR_OF_VRZRGR_INGSCHRVNPRSN` ( `KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_ID` INT PRIMARY KEY, `OUDER_OF_VERZORGER_ID` INT, `INGESCHREVENPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_LRPLCHTMBTNR_MDWRKR` ( `KP_LRPLCHTMBTNR_MDWRKR_ID` INT PRIMARY KEY, `LEERPLICHTAMBTENAAR_ID` INT, `MEDEWERKER_ID` INT ) ENGINE=InnoDB; ALTER TABLE `LEERPLICHTAMBTENAAR` ADD CONSTRAINT FK_LEERPLICHTAMBTENAAR_GEN_MEDEWERKER FOREIGN KEY (`MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`); -- Generalization to MEDEWERKER ALTER TABLE `LEERLING` ADD CONSTRAINT FK_LEERLING_GEN_INGESCHREVENPERSOON FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- Generalization to INGESCHREVENPERSOON ALTER TABLE `OUDER_OF_VERZORGER` ADD CONSTRAINT FK_OUDER_OF_VERZORGER_GEN_INGESCHREVENPERSOON FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- Generalization to INGESCHREVENPERSOON ALTER TABLE `SCHOOL` ADD CONSTRAINT FK_SCHOOL_GEN_NIETNATUURLIJKPERSOON FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- Generalization to NIETNATUURLIJKPERSOON ALTER TABLE `KP_SCHL_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_SCHL_NTNTRLJKPRSN_1 FOREIGN KEY (`SCHOOL_ID`) REFERENCES `SCHOOL` (`NIETNATUURLIJKPERSOON_ID`); -- SCHOOL (many-to-many junction, Connector_ID: 1207) ALTER TABLE `KP_SCHL_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_SCHL_NTNTRLJKPRSN_2 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1207) ALTER TABLE `KP_ODR_OF_VRZRGR_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_1 FOREIGN KEY (`OUDER_OF_VERZORGER_ID`) REFERENCES `OUDER_OF_VERZORGER` (`INGESCHREVENPERSOON_ID`); -- OUDER_OF_VERZORGER (many-to-many junction, Connector_ID: 1209) ALTER TABLE `KP_ODR_OF_VRZRGR_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_2 FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1209) ALTER TABLE `KP_LRLNG_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_LRLNG_INGSCHRVNPRSN_1 FOREIGN KEY (`LEERLING_ID`) REFERENCES `LEERLING` (`INGESCHREVENPERSOON_ID`); -- LEERLING (many-to-many junction, Connector_ID: 1218) ALTER TABLE `KP_LRLNG_INGSCHRVNPRSN` ADD CONSTRAINT FK_KP_LRLNG_INGSCHRVNPRSN_2 FOREIGN KEY (`INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1218) ALTER TABLE `KP_LRPLCHTMBTNR_MDWRKR` ADD CONSTRAINT FK_KP_LRPLCHTMBTNR_MDWRKR_1 FOREIGN KEY (`LEERPLICHTAMBTENAAR_ID`) REFERENCES `LEERPLICHTAMBTENAAR` (`MEDEWERKER_ID`); -- LEERPLICHTAMBTENAAR (many-to-many junction, Connector_ID: 1234) ALTER TABLE `KP_LRPLCHTMBTNR_MDWRKR` ADD CONSTRAINT FK_KP_LRPLCHTMBTNR_MDWRKR_2 FOREIGN KEY (`MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`); -- MEDEWERKER (many-to-many junction, Connector_ID: 1234) ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_1 FOREIGN KEY (`OUDER_1_INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- OUDER_1 (1 to 1, Connector_ID: 1871) ALTER TABLE `INGESCHREVENPERSOON` ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_2 FOREIGN KEY (`OUDER_2_INGESCHREVENPERSOON_ID`) REFERENCES `INGESCHREVENPERSOON` (`INGESCHREVENPERSOON_ID`); -- OUDER_2 (1 to 1, Connector_ID: 1873)