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] BIT, [INDICATIEOVERLEDEN] BIT, [LANDOVERLIJDEN] VARCHAR(255), [NATIONALITEIT] VARCHAR(100), [OVERLIJDENSPLAATS] VARCHAR(200), [VOORLETTERSAANSCHRIJVING] VARCHAR(20), [VOORNAMEN] VARCHAR(200), [VOORNAMENAANSCHRIJVING] VARCHAR(200), [VOORVOEGSELGESLACHTSNAAM] VARCHAR(80) ); CREATE TABLE [MEDEWERKER] ( [MEDEWERKER_ID] INT PRIMARY KEY, [ACHTERNAAM] VARCHAR(200), [DATUMINDIENST] DATE, [DATUMUITDIENST] DATE, [EMAILADRES] VARCHAR(255), [EXTERN] BIT, [FUNCTIE] VARCHAR(50), [GESLACHTSAANDUIDING] VARCHAR(255), [MEDEWERKERIDENTIFICATIE] VARCHAR(255), [MEDEWERKERTOELICHTING] VARCHAR(255), [ROEPNAAM] VARCHAR(255), [TELEFOONNUMMER] VARCHAR(20), [VOORLETTERS] VARCHAR(20), [VOORVOEGSELACHTERNAAM] VARCHAR(255) ); CREATE TABLE [NIETNATUURLIJKPERSOON] ( [NIETNATUURLIJKPERSOON_ID] INT PRIMARY KEY, [DATUMAANVANG] DATE, [DATUMEINDE] DATE, [DATUMUITSCHRIJVING] DATE, [DATUMVOORTZETTING] DATE, [FAXNUMMER] VARCHAR(20), [INGESCHREVEN] BIT, [INOPRICHTING] BIT, [KVKNUMMER] VARCHAR(255), [NNPID] VARCHAR(255), [RECHTSVORM] VARCHAR(255), [RSINNUMMER] VARCHAR(255), [STATUTAIRENAAM] VARCHAR(255), [STATUTAIREZETEL] VARCHAR(255), [WEBSITEURL] VARCHAR(200) ); CREATE TABLE [SOLLICITANT] ( [NATUURLIJKPERSOON_ID] INT PRIMARY KEY ); 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) ); CREATE TABLE [RELATIE] ( [NATUURLIJKPERSOON_ID] INT PRIMARY KEY, [IS_KIND_VAN_MEDEWERKER_ID] INT ); CREATE TABLE [KP_NTNTRLJKPRSN_NTRLJKPRSN] ( [KP_NTNTRLJKPRSN_NTRLJKPRSN_ID] INT PRIMARY KEY, [NIETNATUURLIJKPERSOON_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [ONDERWIJSINSTITUUT] ( [NIETNATUURLIJKPERSOON_ID] INT PRIMARY KEY ); CREATE TABLE [KP_SLLCTNT_NTRLJKPRSN] ( [KP_SLLCTNT_NTRLJKPRSN_ID] INT PRIMARY KEY, [SOLLICITANT_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_WRKNMR_MDWRKR] ( [KP_WRKNMR_MDWRKR_ID] INT PRIMARY KEY, [WERKNEMER_ID] INT, [MEDEWERKER_ID] INT ); CREATE TABLE [KP_RLT_NTRLJKPRSN] ( [KP_RLT_NTRLJKPRSN_ID] INT PRIMARY KEY, [RELATIE_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_ONDRWJSNSTTT_NTNTRLJKPRSN] ( [KP_ONDRWJSNSTTT_NTNTRLJKPRSN_ID] INT PRIMARY KEY, [ONDERWIJSINSTITUUT_ID] INT, [NIETNATUURLIJKPERSOON_ID] INT ); 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)