CREATE TABLE [WERKNEMER] ( [WERKNEMER_ID] INT PRIMARY KEY, [GEBOORTEDATUM] DATE, [NAAM] VARCHAR(80), [VOORNAAM] VARCHAR(255), [WOONPLAATS] VARCHAR(50) ); 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) ); CREATE TABLE [FUNCTIEHUIS] ( [FUNCTIEHUIS_ID] INT PRIMARY KEY, [NAAM] VARCHAR(80), [OMSCHRIJVING] NVARCHAR(MAX) ); CREATE TABLE [FORMATIEPLAATS] ( [FORMATIEPLAATS_ID] INT PRIMARY KEY, [ONDERDEEL_VAN_ORGANISATORISCHEEENHEID_ID] INT, [UREN_PER_WEEK] VARCHAR(100) ); CREATE TABLE [ORGANISATORISCHEEENHEIDHR] ( [ORGANISATORISCHEEENHEID_ID] INT PRIMARY KEY, [NAAM] INT, [TYPE] INT ); CREATE TABLE [ROL] ( [ROL_ID] INT PRIMARY KEY, [DATUMBEGIN] DATE, [DATUMEINDE] DATE, [HOORT_BIJ_ORGANISATORISCHEEENHEID_ID] INT, [OMSCHRIJVING] VARCHAR(50) ); CREATE TABLE [NORMPROFIEL] ( [NORMPROFIEL_ID] INT PRIMARY KEY, [CODE] VARCHAR(255), [OMSCHRIJVING] VARCHAR(100), [ONDERDEEL_VAN_FUNCTIEHUIS_ID] INT, [SCHAAL] VARCHAR(255) ); CREATE TABLE [KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD] ( [KP_ORGNSTRSCHNHDHR_ORGNSTRSCHNHD_ID] INT PRIMARY KEY, [ORGANISATORISCHEEENHEIDHR_ID] INT, [ORGANISATORISCHEEENHEID_ID] INT ); CREATE TABLE [KP_WRKNMR_ROL] ( [KP_WRKNMR_ROL_ID] INT PRIMARY KEY, [WERKNEMER_ID] INT, [ROL_ID] INT ); CREATE TABLE [FUNCTIE] ( [FUNCTIE_ID] INT PRIMARY KEY, [CODE] VARCHAR(50), [GEBASEERD_OP_NORMPROFIEL_ID] INT, [NAAM] VARCHAR(80), [OMSCHRIJVING] NVARCHAR(MAX), [SCHAAL] VARCHAR(20), [TAKEN] NVARCHAR(MAX) ); 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) ); CREATE TABLE [KP_FRMTPLTS_FNCT] ( [KP_FRMTPLTS_FNCT_ID] INT PRIMARY KEY, [FORMATIEPLAATS_ID] INT, [FUNCTIE_ID] INT ); 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 ); CREATE TABLE [KP_FRMTPLTS_DNSTVRBND] ( [KP_FRMTPLTS_DNSTVRBND_ID] INT PRIMARY KEY, [FORMATIEPLAATS_ID] INT, [DIENSTVERBAND_ID] INT ); CREATE TABLE [KP_DNSTVRBND_ORGNSTRSCHNHDHR] ( [KP_DNSTVRBND_ORGNSTRSCHNHDHR_ID] INT PRIMARY KEY, [DIENSTVERBAND_ID] INT, [ORGANISATORISCHEEENHEIDHR_ID] INT ); 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)