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 `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 `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 `SOLLICITANT` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY ) ENGINE=InnoDB; CREATE TABLE `WERKNEMER` ( `MEDEWERKER_ID` INT PRIMARY KEY, `GEBOORTEDATUM` DATE, `IS_PARTNER_VAN_NATUURLIJKPERSOON_ID` INT, `NAAM` VARCHAR(80), `VOORNAAM` VARCHAR(255), `WOONPLAATS` VARCHAR(50) ) ENGINE=InnoDB; CREATE TABLE `RELATIE` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY, `IS_KIND_VAN_MEDEWERKER_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ( `KP_NTNTRLJKPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `NIETNATUURLIJKPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `ONDERWIJSINSTITUUT` ( `NIETNATUURLIJKPERSOON_ID` INT PRIMARY KEY ) ENGINE=InnoDB; CREATE TABLE `KP_SLLCTNT_NTRLJKPRSN` ( `KP_SLLCTNT_NTRLJKPRSN_ID` INT PRIMARY KEY, `SOLLICITANT_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_WRKNMR_MDWRKR` ( `KP_WRKNMR_MDWRKR_ID` INT PRIMARY KEY, `WERKNEMER_ID` INT, `MEDEWERKER_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_RLT_NTRLJKPRSN` ( `KP_RLT_NTRLJKPRSN_ID` INT PRIMARY KEY, `RELATIE_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_ONDRWJSNSTTT_NTNTRLJKPRSN` ( `KP_ONDRWJSNSTTT_NTNTRLJKPRSN_ID` INT PRIMARY KEY, `ONDERWIJSINSTITUUT_ID` INT, `NIETNATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; ALTER TABLE `ONDERWIJSINSTITUUT` ADD CONSTRAINT FK_ONDERWIJSINSTITUUT_GEN_NIETNATUURLIJKPERSOON FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- Generalization to NIETNATUURLIJKPERSOON ALTER TABLE `RELATIE` ADD CONSTRAINT FK_RELATIE_GEN_NATUURLIJKPERSOON FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- Generalization to NATUURLIJKPERSOON ALTER TABLE `SOLLICITANT` ADD CONSTRAINT FK_SOLLICITANT_GEN_NATUURLIJKPERSOON FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- Generalization to NATUURLIJKPERSOON ALTER TABLE `WERKNEMER` ADD CONSTRAINT FK_WERKNEMER_GEN_MEDEWERKER FOREIGN KEY (`MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`); -- Generalization to MEDEWERKER ALTER TABLE `KP_WRKNMR_MDWRKR` ADD CONSTRAINT FK_KP_WRKNMR_MDWRKR_1 FOREIGN KEY (`WERKNEMER_ID`) REFERENCES `WERKNEMER` (`MEDEWERKER_ID`); -- WERKNEMER (many-to-many junction, Connector_ID: 431) ALTER TABLE `KP_WRKNMR_MDWRKR` ADD CONSTRAINT FK_KP_WRKNMR_MDWRKR_2 FOREIGN KEY (`MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`); -- MEDEWERKER (many-to-many junction, Connector_ID: 431) ALTER TABLE `KP_SLLCTNT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_SLLCTNT_NTRLJKPRSN_1 FOREIGN KEY (`SOLLICITANT_ID`) REFERENCES `SOLLICITANT` (`NATUURLIJKPERSOON_ID`); -- SOLLICITANT (many-to-many junction, Connector_ID: 442) ALTER TABLE `KP_SLLCTNT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_SLLCTNT_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 442) ALTER TABLE `KP_RLT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_RLT_NTRLJKPRSN_1 FOREIGN KEY (`RELATIE_ID`) REFERENCES `RELATIE` (`NATUURLIJKPERSOON_ID`); -- RELATIE (many-to-many junction, Connector_ID: 446) ALTER TABLE `KP_RLT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_RLT_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 446) ALTER TABLE `KP_ONDRWJSNSTTT_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_ONDRWJSNSTTT_NTNTRLJKPRSN_1 FOREIGN KEY (`ONDERWIJSINSTITUUT_ID`) REFERENCES `ONDERWIJSINSTITUUT` (`NIETNATUURLIJKPERSOON_ID`); -- ONDERWIJSINSTITUUT (many-to-many junction, Connector_ID: 450) ALTER TABLE `KP_ONDRWJSNSTTT_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_ONDRWJSNSTTT_NTNTRLJKPRSN_2 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 450) ALTER TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_1 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970) ALTER TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970) ALTER TABLE `WERKNEMER` ADD CONSTRAINT FK_WERKNEMER_IS_PARTNER_VAN FOREIGN KEY (`IS_PARTNER_VAN_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- IS_PARTNER_VAN (1 to 0..1, Connector_ID: 444) ALTER TABLE `RELATIE` ADD CONSTRAINT FK_RELATIE_IS_KIND_VAN FOREIGN KEY (`IS_KIND_VAN_MEDEWERKER_ID`) REFERENCES `MEDEWERKER` (`MEDEWERKER_ID`); -- IS_KIND_VAN (0..* to 1, Connector_ID: 445)