CREATE TABLE `WERKNEMER` ( `WERKNEMER_ID` INT PRIMARY KEY, `GEBOORTEDATUM` DATE, `NAAM` VARCHAR(80), `VOORNAAM` VARCHAR(255), `WOONPLAATS` VARCHAR(50) ) ENGINE=InnoDB; CREATE TABLE `ORGANISATORISCHEEENHEID` ( `ORGANISATORISCHEEENHEID_ID` INT PRIMARY KEY, `DATUMONTSTAAN` DATE, `DATUMOPHEFFING` DATE, `EMAILADRES` VARCHAR(255), `FAXNUMMER` VARCHAR(20), `FORMATIE` VARCHAR(255), `IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID` INT, `NAAM` VARCHAR(50), `NAAMVERKORT` VARCHAR(255), `OMSCHRIJVING` VARCHAR(80), `ORGANISATIEIDENTIFICATIE` VARCHAR(255), `TELEFOONNUMMER` VARCHAR(20), `TOELICHTING` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `FUNCTIEHUIS` ( `FUNCTIEHUIS_ID` INT PRIMARY KEY, `NAAM` VARCHAR(80), `OMSCHRIJVING` TEXT ) ENGINE=InnoDB; CREATE TABLE `FORMATIEPLAATS` ( `FORMATIEPLAATS_ID` INT PRIMARY KEY, `ONDERDEEL_VAN_ORGANISATORISCHEEENHEID_ID` INT, `UREN_PER_WEEK` VARCHAR(100) ) ENGINE=InnoDB; CREATE TABLE `ORGANISATORISCHEEENHEIDHR` ( `ORGANISATORISCHEEENHEID_ID` INT PRIMARY KEY, `NAAM` INT, `TYPE` INT ) ENGINE=InnoDB; CREATE TABLE `ROL` ( `ROL_ID` INT PRIMARY KEY, `DATUMBEGIN` DATE, `DATUMEINDE` DATE, `HOORT_BIJ_ORGANISATORISCHEEENHEID_ID` INT, `OMSCHRIJVING` VARCHAR(50) ) ENGINE=InnoDB; CREATE TABLE `NORMPROFIEL` ( `NORMPROFIEL_ID` INT PRIMARY KEY, `CODE` VARCHAR(255), `OMSCHRIJVING` VARCHAR(100), `ONDERDEEL_VAN_FUNCTIEHUIS_ID` INT, `SCHAAL` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD` ( `KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD_ID` INT PRIMARY KEY, `ORGANISATORISCHEEENHEIDHR_ID` INT, `ORGANISATORISCHEEENHEID_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_WRKNMR_ROL` ( `KP_WRKNMR_ROL_ID` INT PRIMARY KEY, `WERKNEMER_ID` INT, `ROL_ID` INT ) ENGINE=InnoDB; CREATE TABLE `FUNCTIE` ( `FUNCTIE_ID` INT PRIMARY KEY, `CODE` VARCHAR(50), `GEBASEERD_OP_NORMPROFIEL_ID` INT, `NAAM` VARCHAR(80), `OMSCHRIJVING` TEXT, `SCHAAL` VARCHAR(20), `TAKEN` TEXT ) ENGINE=InnoDB; CREATE TABLE `INZET` ( `INZET_ID` INT PRIMARY KEY, `DATUMBEGIN` DATE, `DATUMEINDE` DATE, `INZET_BIJ_ORGANISATORISCHEEENHEID_ID` INT, `INZET_VOOR_FUNCTIE_FUNCTIE_ID` INT, `PERCENTAGE` VARCHAR(20), `UREN` VARCHAR(20) ) ENGINE=InnoDB; CREATE TABLE `KP_FRMTPLTS_FNCT` ( `KP_FRMTPLTS_FNCT_ID` INT PRIMARY KEY, `FORMATIEPLAATS_ID` INT, `FUNCTIE_ID` INT ) ENGINE=InnoDB; CREATE TABLE `DIENSTVERBAND` ( `DIENSTVERBAND_ID` INT PRIMARY KEY, `AANTAL_VOLGENS_INZET_INZET_ID` INT, `DATUMEINDE` DATE, `DATUMSTART` DATE, `DIENSTVERBAND_CONFORM_FUNCTIE_FUNCTIE_ID` INT, `MEDEWERKER_HEEFT_DIENSTVERBAND_WERKNEMER_ID` INT, `PERIODIEK` INT, `SALARIS` VARCHAR(255), `SCHAAL` INT, `URENPERWEEK` INT ) ENGINE=InnoDB; CREATE TABLE `KP_FRMTPLTS_DNSTVRBND` ( `KP_FRMTPLTS_DNSTVRBND_ID` INT PRIMARY KEY, `FORMATIEPLAATS_ID` INT, `DIENSTVERBAND_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_DNSTVRBND_ORGNSTRSCHNHDHR` ( `KP_DNSTVRBND_ORGNSTRSCHNHDHR_ID` INT PRIMARY KEY, `DIENSTVERBAND_ID` INT, `ORGANISATORISCHEEENHEIDHR_ID` INT ) ENGINE=InnoDB; ALTER TABLE `ORGANISATORISCHEEENHEIDHR` ADD CONSTRAINT FK_ORGANISATORISCHEEENHEIDHR_GEN_ORGANISATORISCHEEENHEID FOREIGN KEY (`ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- Generalization to ORGANISATORISCHEEENHEID ALTER TABLE `KP_WRKNMR_ROL` ADD CONSTRAINT FK_KP_WRKNMR_ROL_1 FOREIGN KEY (`WERKNEMER_ID`) REFERENCES `WERKNEMER` (`WERKNEMER_ID`); -- WERKNEMER (many-to-many junction, Connector_ID: 443) ALTER TABLE `KP_WRKNMR_ROL` ADD CONSTRAINT FK_KP_WRKNMR_ROL_2 FOREIGN KEY (`ROL_ID`) REFERENCES `ROL` (`ROL_ID`); -- ROL (many-to-many junction, Connector_ID: 443) ALTER TABLE `KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD` ADD CONSTRAINT FK_KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD_1 FOREIGN KEY (`ORGANISATORISCHEEENHEIDHR_ID`) REFERENCES `ORGANISATORISCHEEENHEIDHR` (`ORGANISATORISCHEEENHEID_ID`); -- ORGANISATORISCHEEENHEIDHR (many-to-many junction, Connector_ID: 448) ALTER TABLE `KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD` ADD CONSTRAINT FK_KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD_2 FOREIGN KEY (`ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- ORGANISATORISCHEEENHEID (many-to-many junction, Connector_ID: 448) ALTER TABLE `KP_FRMTPLTS_FNCT` ADD CONSTRAINT FK_KP_FRMTPLTS_FNCT_1 FOREIGN KEY (`FORMATIEPLAATS_ID`) REFERENCES `FORMATIEPLAATS` (`FORMATIEPLAATS_ID`); -- FORMATIEPLAATS (many-to-many junction, Connector_ID: 462) ALTER TABLE `KP_FRMTPLTS_FNCT` ADD CONSTRAINT FK_KP_FRMTPLTS_FNCT_2 FOREIGN KEY (`FUNCTIE_ID`) REFERENCES `FUNCTIE` (`FUNCTIE_ID`); -- FUNCTIE (many-to-many junction, Connector_ID: 462) ALTER TABLE `KP_FRMTPLTS_DNSTVRBND` ADD CONSTRAINT FK_KP_FRMTPLTS_DNSTVRBND_1 FOREIGN KEY (`FORMATIEPLAATS_ID`) REFERENCES `FORMATIEPLAATS` (`FORMATIEPLAATS_ID`); -- FORMATIEPLAATS (many-to-many junction, Connector_ID: 466) ALTER TABLE `KP_FRMTPLTS_DNSTVRBND` ADD CONSTRAINT FK_KP_FRMTPLTS_DNSTVRBND_2 FOREIGN KEY (`DIENSTVERBAND_ID`) REFERENCES `DIENSTVERBAND` (`DIENSTVERBAND_ID`); -- DIENSTVERBAND (many-to-many junction, Connector_ID: 466) ALTER TABLE `KP_DNSTVRBND_ORGNSTRSCHNHDHR` ADD CONSTRAINT FK_KP_DNSTVRBND_ORGNSTRSCHNHDHR_1 FOREIGN KEY (`DIENSTVERBAND_ID`) REFERENCES `DIENSTVERBAND` (`DIENSTVERBAND_ID`); -- DIENSTVERBAND (many-to-many junction, Connector_ID: 472) ALTER TABLE `KP_DNSTVRBND_ORGNSTRSCHNHDHR` ADD CONSTRAINT FK_KP_DNSTVRBND_ORGNSTRSCHNHDHR_2 FOREIGN KEY (`ORGANISATORISCHEEENHEIDHR_ID`) REFERENCES `ORGANISATORISCHEEENHEIDHR` (`ORGANISATORISCHEEENHEID_ID`); -- ORGANISATORISCHEEENHEIDHR (many-to-many junction, Connector_ID: 472) ALTER TABLE `ROL` ADD CONSTRAINT FK_ROL_HOORT_BIJ FOREIGN KEY (`HOORT_BIJ_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- HOORT_BIJ (0..* to 0..1, Connector_ID: 447) ALTER TABLE `INZET` ADD CONSTRAINT FK_INZET_INZET_BIJ FOREIGN KEY (`INZET_BIJ_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- INZET_BIJ (0..* to 1, Connector_ID: 452) ALTER TABLE `NORMPROFIEL` ADD CONSTRAINT FK_NORMPROFIEL_ONDERDEEL_VAN FOREIGN KEY (`ONDERDEEL_VAN_FUNCTIEHUIS_ID`) REFERENCES `FUNCTIEHUIS` (`FUNCTIEHUIS_ID`); -- ONDERDEEL_VAN (1..* to 1, Connector_ID: 458) ALTER TABLE `INZET` ADD CONSTRAINT FK_INZET_INZET_VOOR_FUNCTIE FOREIGN KEY (`INZET_VOOR_FUNCTIE_FUNCTIE_ID`) REFERENCES `FUNCTIE` (`FUNCTIE_ID`); -- INZET_VOOR_FUNCTIE (1 to 1, Connector_ID: 459) ALTER TABLE `FUNCTIE` ADD CONSTRAINT FK_FUNCTIE_GEBASEERD_OP FOREIGN KEY (`GEBASEERD_OP_NORMPROFIEL_ID`) REFERENCES `NORMPROFIEL` (`NORMPROFIEL_ID`); -- GEBASEERD_OP (1 to 1, Connector_ID: 461) ALTER TABLE `FORMATIEPLAATS` ADD CONSTRAINT FK_FORMATIEPLAATS_ONDERDEEL_VAN FOREIGN KEY (`ONDERDEEL_VAN_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- ONDERDEEL_VAN (1 to 0..1, Connector_ID: 463) ALTER TABLE `DIENSTVERBAND` ADD CONSTRAINT FK_DIENSTVERBAND_AANTAL_VOLGENS_INZET FOREIGN KEY (`AANTAL_VOLGENS_INZET_INZET_ID`) REFERENCES `INZET` (`INZET_ID`); -- AANTAL_VOLGENS_INZET (1 to 0..*, Connector_ID: 467) ALTER TABLE `DIENSTVERBAND` ADD CONSTRAINT FK_DIENSTVERBAND_MEDEWERKER_HEEFT_DIENSTVERBAND FOREIGN KEY (`MEDEWERKER_HEEFT_DIENSTVERBAND_WERKNEMER_ID`) REFERENCES `WERKNEMER` (`WERKNEMER_ID`); -- MEDEWERKER_HEEFT_DIENSTVERBAND (1 to 1..*, Connector_ID: 468) ALTER TABLE `DIENSTVERBAND` ADD CONSTRAINT FK_DIENSTVERBAND_DIENSTVERBAND_CONFORM_FUNCTIE FOREIGN KEY (`DIENSTVERBAND_CONFORM_FUNCTIE_FUNCTIE_ID`) REFERENCES `FUNCTIE` (`FUNCTIE_ID`); -- DIENSTVERBAND_CONFORM_FUNCTIE (0..* to 1, Connector_ID: 471) ALTER TABLE `ORGANISATORISCHEEENHEID` ADD CONSTRAINT FK_ORGANISATORISCHEEENHEID_IS_DEEL_VAN FOREIGN KEY (`IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID`) REFERENCES `ORGANISATORISCHEEENHEID` (`ORGANISATORISCHEEENHEID_ID`); -- IS_DEEL_VAN (1 to 0..1, Connector_ID: 2059)