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 [INGESCHREVENPERSOON] ( [INGESCHREVENPERSOON_ID] INT PRIMARY KEY, [ADRESHERKOMST] VARCHAR(255), [ANUMMER] VARCHAR(20), [BESCHRIJVINGLOCATIE] VARCHAR(200), [BUITENLANDSREISDOCUMENT] VARCHAR(80), [BURGERLIJKESTAAT] VARCHAR(255), [DATUMBEGINGELDIGHEIDVERBLIJFPLAATS] DATE, [DATUMEINDEGELDIGHEIDVERBLIJFSPLAATS] DATE, [DATUMINSCHRIJVINGGEMEENTE] DATE, [DATUMOPSCHORTINGBIJHOUDING] DATE, [DATUMVERTREKUITNEDERLAND] DATE, [DATUMVESTIGINGNEDERLAND] DATE, [GEMEENTEVANINSCHRIJVING] VARCHAR(80), [GEZINSRELATIE] VARCHAR(255), [INDICATIEGEHEIM] BIT, [INGEZETENE] BIT, [LANDWAARNAARVERTROKKEN] VARCHAR(255), [LANDWAARVANDAANINGESCHREVEN] VARCHAR(255), [OUDER1] VARCHAR(255), [OUDER2] VARCHAR(255), [OUDER_1_INGESCHREVENPERSOON_ID] INT, [OUDER_2_INGESCHREVENPERSOON_ID] INT, [PARTNERID] VARCHAR(255), [REDENEINDEBEWONING] DATE, [REDENOPSCHORTINGBIJHOUDING] VARCHAR(200), [SIGNALERINGREISDOCUMENT] BIT, [VERBLIJFSTITEL] VARCHAR(255) ); 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 [SCHOOL] ( [NIETNATUURLIJKPERSOON_ID] INT PRIMARY KEY, [NAAM] VARCHAR(200) ); CREATE TABLE [LEERLING] ( [INGESCHREVENPERSOON_ID] INT PRIMARY KEY, [KWETSBAREJONGERE] BIT ); CREATE TABLE [OUDER_OF_VERZORGER] ( [INGESCHREVENPERSOON_ID] INT PRIMARY KEY ); CREATE TABLE [LEERPLICHTAMBTENAAR] ( [MEDEWERKER_ID] INT PRIMARY KEY ); CREATE TABLE [KP_SCHL_NTNTRLJKPRSN] ( [KP_SCHL_NTNTRLJKPRSN_ID] INT PRIMARY KEY, [SCHOOL_ID] INT, [NIETNATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_LRLNG_INGSCHRVNPRSN] ( [KP_LRLNG_INGSCHRVNPRSN_ID] INT PRIMARY KEY, [LEERLING_ID] INT, [INGESCHREVENPERSOON_ID] INT ); CREATE TABLE [KP_ODR_OF_VRZRGR_INGSCHRVNPRSN] ( [KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_ID] INT PRIMARY KEY, [OUDER_OF_VERZORGER_ID] INT, [INGESCHREVENPERSOON_ID] INT ); CREATE TABLE [KP_LRPLCHTMBTNR_MDWRKR] ( [KP_LRPLCHTMBTNR_MDWRKR_ID] INT PRIMARY KEY, [LEERPLICHTAMBTENAAR_ID] INT, [MEDEWERKER_ID] INT ); ALTER TABLE [LEERPLICHTAMBTENAAR] ADD CONSTRAINT FK_LEERPLICHTAMBTENAAR_GEN_MEDEWERKER FOREIGN KEY ([MEDEWERKER_ID]) REFERENCES [MEDEWERKER] ([MEDEWERKER_ID]); -- Generalization to MEDEWERKER ALTER TABLE [LEERLING] ADD CONSTRAINT FK_LEERLING_GEN_INGESCHREVENPERSOON FOREIGN KEY ([INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- Generalization to INGESCHREVENPERSOON ALTER TABLE [OUDER_OF_VERZORGER] ADD CONSTRAINT FK_OUDER_OF_VERZORGER_GEN_INGESCHREVENPERSOON FOREIGN KEY ([INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- Generalization to INGESCHREVENPERSOON ALTER TABLE [SCHOOL] ADD CONSTRAINT FK_SCHOOL_GEN_NIETNATUURLIJKPERSOON FOREIGN KEY ([NIETNATUURLIJKPERSOON_ID]) REFERENCES [NIETNATUURLIJKPERSOON] ([NIETNATUURLIJKPERSOON_ID]); -- Generalization to NIETNATUURLIJKPERSOON ALTER TABLE [KP_SCHL_NTNTRLJKPRSN] ADD CONSTRAINT FK_KP_SCHL_NTNTRLJKPRSN_1 FOREIGN KEY ([SCHOOL_ID]) REFERENCES [SCHOOL] ([NIETNATUURLIJKPERSOON_ID]); -- SCHOOL (many-to-many junction, Connector_ID: 1207) ALTER TABLE [KP_SCHL_NTNTRLJKPRSN] ADD CONSTRAINT FK_KP_SCHL_NTNTRLJKPRSN_2 FOREIGN KEY ([NIETNATUURLIJKPERSOON_ID]) REFERENCES [NIETNATUURLIJKPERSOON] ([NIETNATUURLIJKPERSOON_ID]); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1207) ALTER TABLE [KP_ODR_OF_VRZRGR_INGSCHRVNPRSN] ADD CONSTRAINT FK_KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_1 FOREIGN KEY ([OUDER_OF_VERZORGER_ID]) REFERENCES [OUDER_OF_VERZORGER] ([INGESCHREVENPERSOON_ID]); -- OUDER_OF_VERZORGER (many-to-many junction, Connector_ID: 1209) ALTER TABLE [KP_ODR_OF_VRZRGR_INGSCHRVNPRSN] ADD CONSTRAINT FK_KP_ODR_OF_VRZRGR_INGSCHRVNPRSN_2 FOREIGN KEY ([INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1209) ALTER TABLE [KP_LRLNG_INGSCHRVNPRSN] ADD CONSTRAINT FK_KP_LRLNG_INGSCHRVNPRSN_1 FOREIGN KEY ([LEERLING_ID]) REFERENCES [LEERLING] ([INGESCHREVENPERSOON_ID]); -- LEERLING (many-to-many junction, Connector_ID: 1218) ALTER TABLE [KP_LRLNG_INGSCHRVNPRSN] ADD CONSTRAINT FK_KP_LRLNG_INGSCHRVNPRSN_2 FOREIGN KEY ([INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1218) ALTER TABLE [KP_LRPLCHTMBTNR_MDWRKR] ADD CONSTRAINT FK_KP_LRPLCHTMBTNR_MDWRKR_1 FOREIGN KEY ([LEERPLICHTAMBTENAAR_ID]) REFERENCES [LEERPLICHTAMBTENAAR] ([MEDEWERKER_ID]); -- LEERPLICHTAMBTENAAR (many-to-many junction, Connector_ID: 1234) ALTER TABLE [KP_LRPLCHTMBTNR_MDWRKR] ADD CONSTRAINT FK_KP_LRPLCHTMBTNR_MDWRKR_2 FOREIGN KEY ([MEDEWERKER_ID]) REFERENCES [MEDEWERKER] ([MEDEWERKER_ID]); -- MEDEWERKER (many-to-many junction, Connector_ID: 1234) ALTER TABLE [INGESCHREVENPERSOON] ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_1 FOREIGN KEY ([OUDER_1_INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- OUDER_1 (1 to 1, Connector_ID: 1871) ALTER TABLE [INGESCHREVENPERSOON] ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_2 FOREIGN KEY ([OUDER_2_INGESCHREVENPERSOON_ID]) REFERENCES [INGESCHREVENPERSOON] ([INGESCHREVENPERSOON_ID]); -- OUDER_2 (1 to 1, Connector_ID: 1873)