CREATE TABLE WERKNEMER ( WERKNEMER_ID INTEGER PRIMARY KEY, GEBOORTEDATUM DATE, NAAM VARCHAR(80), VOORNAAM VARCHAR(255), WOONPLAATS VARCHAR(50) ); CREATE TABLE ORGANISATORISCHEEENHEID ( ORGANISATORISCHEEENHEID_ID INTEGER PRIMARY KEY, DATUMONTSTAAN DATE, DATUMOPHEFFING DATE, EMAILADRES VARCHAR(255), FAXNUMMER VARCHAR(20), FORMATIE VARCHAR(255), IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID INTEGER, NAAM VARCHAR(50), NAAMVERKORT VARCHAR(255), OMSCHRIJVING VARCHAR(80), ORGANISATIEIDENTIFICATIE VARCHAR(255), TELEFOONNUMMER VARCHAR(20), TOELICHTING VARCHAR(255) ); CREATE TABLE FUNCTIEHUIS ( FUNCTIEHUIS_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE FORMATIEPLAATS ( FORMATIEPLAATS_ID INTEGER PRIMARY KEY, ONDERDEEL_VAN_ORGANISATORISCHEEENHEID_ID INTEGER, UREN_PER_WEEK VARCHAR(100) ); CREATE TABLE ORGANISATORISCHEEENHEIDHR ( ORGANISATORISCHEEENHEID_ID INTEGER PRIMARY KEY, NAAM INTEGER, TYPE INTEGER ); CREATE TABLE ROL ( ROL_ID INTEGER PRIMARY KEY, DATUMBEGIN DATE, DATUMEINDE DATE, HOORT_BIJ_ORGANISATORISCHEEENHEID_ID INTEGER, OMSCHRIJVING VARCHAR(50) ); CREATE TABLE NORMPROFIEL ( NORMPROFIEL_ID INTEGER PRIMARY KEY, CODE VARCHAR(255), OMSCHRIJVING VARCHAR(100), ONDERDEEL_VAN_FUNCTIEHUIS_ID INTEGER, SCHAAL VARCHAR(255) ); CREATE TABLE KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD ( KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD_ID INTEGER PRIMARY KEY, ORGANISATORISCHEEENHEIDHR_ID INTEGER, ORGANISATORISCHEEENHEID_ID INTEGER ); CREATE TABLE KP_WRKNMR_ROL ( KP_WRKNMR_ROL_ID INTEGER PRIMARY KEY, WERKNEMER_ID INTEGER, ROL_ID INTEGER ); CREATE TABLE FUNCTIE ( FUNCTIE_ID INTEGER PRIMARY KEY, CODE VARCHAR(50), GEBASEERD_OP_NORMPROFIEL_ID INTEGER, NAAM VARCHAR(80), OMSCHRIJVING TEXT, SCHAAL VARCHAR(20), TAKEN TEXT ); CREATE TABLE INZET ( INZET_ID INTEGER PRIMARY KEY, DATUMBEGIN DATE, DATUMEINDE DATE, INZET_BIJ_ORGANISATORISCHEEENHEID_ID INTEGER, INZET_VOOR_FUNCTIE_FUNCTIE_ID INTEGER, PERCENTAGE VARCHAR(20), UREN VARCHAR(20) ); CREATE TABLE KP_FRMTPLTS_FNCT ( KP_FRMTPLTS_FNCT_ID INTEGER PRIMARY KEY, FORMATIEPLAATS_ID INTEGER, FUNCTIE_ID INTEGER ); CREATE TABLE DIENSTVERBAND ( DIENSTVERBAND_ID INTEGER PRIMARY KEY, AANTAL_VOLGENS_INZET_INZET_ID INTEGER, DATUMEINDE DATE, DATUMSTART DATE, DIENSTVERBAND_CONFORM_FUNCTIE_FUNCTIE_ID INTEGER, MEDEWERKER_HEEFT_DIENSTVERBAND_WERKNEMER_ID INTEGER, PERIODIEK INTEGER, SALARIS VARCHAR(255), SCHAAL INTEGER, URENPERWEEK INTEGER ); CREATE TABLE KP_FRMTPLTS_DNSTVRBND ( KP_FRMTPLTS_DNSTVRBND_ID INTEGER PRIMARY KEY, FORMATIEPLAATS_ID INTEGER, DIENSTVERBAND_ID INTEGER ); CREATE TABLE KP_DNSTVRBND_ORGNSTRSCHNHDHR ( KP_DNSTVRBND_ORGNSTRSCHNHDHR_ID INTEGER PRIMARY KEY, DIENSTVERBAND_ID INTEGER, ORGANISATORISCHEEENHEIDHR_ID INTEGER ); 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)