CREATE TABLE [VASTGOEDOBJECT] ( [VASTGOEDOBJECT_ID] INT PRIMARY KEY, [AANTALETAGES] INT, [AANTALPARKEERPLAATSEN] INT, [AANTALRIOLERINGEN] INT, [ADRESAANDUIDING] VARCHAR(255), [AFGEKOCHTEERFPACHT_ENUM_ID] INT, [AFGESPROKENCONDITIESCORE] VARCHAR(255), [AFKOOPWAARDE] VARCHAR(255), [ASBESTRAPPORTAGEAANWEZIG_ENUM_ID] INT, [BEDRAGAANKOOP] DECIMAL(10,2), [BESTEMMINGSPLAN] VARCHAR(200), [BOEKWAARDE] VARCHAR(255), [BOUWJAAR] INT, [BOUWWERK] VARCHAR(80), [BOVENLIGGENDNIVEAU] VARCHAR(80), [BOVENLIGGENDNIVEAUCODE] VARCHAR(20), [BRUTOVLOEROPPERVLAKTE] INT, [CO2UITSTOOT] INT, [CONDITIESCORE] VARCHAR(255), [DATUMAFSTOTEN] DATE, [DATUMBEREKENINGOPPERVLAK] DATE, [DATUMEIGENDOM] DATE, [DATUMVERKOOP] DATE, [DEELPORTEFEUILLE] VARCHAR(80), [ENERGIEKOSTEN] DECIMAL(10,2), [ENERGIELABEL] VARCHAR(255), [ENERGIEVERBRUIK] INT, [FISCALEWAARDE] VARCHAR(255), [FOTO] VARCHAR(255), [GEARCHIVEERD_ENUM_ID] INT, [HERBOUWWAARDE] VARCHAR(255), [HOOFDSTUK] VARCHAR(80), [IDENTIFICATIE] VARCHAR(80), [JAARLAATSTERENOVATIE] VARCHAR(255), [KOSTENPLAATS] DECIMAL(10,2), [LOCATIE] VARCHAR(255), [MARKTWAARDE] VARCHAR(255), [MONUMENT] VARCHAR(255), [NAAM] VARCHAR(80), [OBJECTSTATUS] VARCHAR(255), [OBJECTSTATUSCODE] VARCHAR(255), [OBJECTTYPE] VARCHAR(80), [OBJECTTYPECODE] VARCHAR(255), [OMSCHRIJVING] VARCHAR(80), [ONDERHOUDSCATEGORIE] VARCHAR(80), [OPPERVLAKTEKANTOOR] INT, [PORTEFEUILLE] VARCHAR(80), [PORTEFEUILLECODE] VARCHAR(255), [PROVINCIE] VARCHAR(255), [TOELICHTING] NVARCHAR(MAX), [VERHUURBAARVLOEROPPERVLAK] INT, [VERKOOPBAARHEID] VARCHAR(80), [VERKOOPBEDRAG] DECIMAL(10,2), [VERZEKERDEWAARDE] VARCHAR(255), [WAARDEGROND] VARCHAR(255), [WAARDEOPSTAL] VARCHAR(255), [WIJK] VARCHAR(255), [WOZWAARDE] VARCHAR(255) ); CREATE TABLE [LOCATIE] ( [VASTGOEDOBJECT_ID] INT PRIMARY KEY, [ADRES] VARCHAR(255), [SCHOOL_HEEFT_SCHOOL_ID] INT ); CREATE TABLE [LEERLING] ( [LEERLING_ID] INT PRIMARY KEY, [HEEFT_STARTKWALIFICATIE_ID] INT, [KWETSBAREJONGERE_ENUM_ID] INT ); CREATE TABLE [STARTKWALIFICATIE] ( [STARTKWALIFICATIE_ID] INT PRIMARY KEY, [DATUMBEHAALD] DATE ); CREATE TABLE [KP_SCHL_ONDRWJSLPBN] ( [KP_SCHL_ONDRWJSLPBN_ID] INT PRIMARY KEY, [SCHOOL_ID] INT, [ONDERWIJSLOOPBAAN_ID] INT ); CREATE TABLE [KP_SCHL_ONDRWJSSRT] ( [KP_SCHL_ONDRWJSSRT_ID] INT PRIMARY KEY, [SCHOOL_ID] INT, [ONDERWIJSSOORT_ID] INT ); CREATE TABLE [KP_LCT_VSTGDBJCT] ( [KP_LCT_VSTGDBJCT_ID] INT PRIMARY KEY, [LOCATIE_ID] INT, [VASTGOEDOBJECT_ID] INT ); CREATE TABLE [SCHOOL] ( [SCHOOL_ID] INT PRIMARY KEY, [NAAM] VARCHAR(200) ); CREATE TABLE [LEERJAAR] ( [LEERJAAR_ID] INT PRIMARY KEY, [JAAREINDE] DATE, [JAARSTART] DATE ); CREATE TABLE [INSCHRIJVING] ( [INSCHRIJVING_ID] INT PRIMARY KEY, [DATUM] DATE, [HEEFT_LEERLING_ID] INT, [HEEFT_SCHOOL_ID] INT ); CREATE TABLE [ONDERWIJSTYPE_ENUM] ( [ONDERWIJSTYPE_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [ONDERWIJSTYPE_ENUM] ([ONDERWIJSTYPE_ENUM_ID], VALUE) VALUES (1, 'HAVO'), (2, 'VMBO_B'), (3, 'VMBO_K'), (4, 'VMBO_T'), (5, 'VWO'); CREATE TABLE [UITSCHRIJVING] ( [UITSCHRIJVING_ID] INT PRIMARY KEY, [DATUM] DATE, [DIPLOMABEHAALD_ENUM_ID] INT, [HEEFT_LEERLING_ID] INT, [HEEFT_SCHOOL_ID] INT ); CREATE TABLE [ONDERWIJSLOOPBAAN] ( [ONDERWIJSLOOPBAAN_ID] INT PRIMARY KEY, [HEEFT_LEERLING_ID] INT ); CREATE TABLE [ONDERWIJSSOORT] ( [ONDERWIJSSOORT_ID] INT PRIMARY KEY, [OMSCHRIJVING] VARCHAR(80), [ONDERWIJSTYPE_ENUM_ID] INT ); CREATE TABLE [LOOPBAANSTAP] ( [LOOPBAANSTAP_ID] INT PRIMARY KEY, [KLAS] INT, [ONDERWIJSLOOPBAAN_ID] INT, [ONDERWIJSTYPE_ENUM_ID] INT, [SCHOOLJAAR] VARCHAR(255) ); CREATE TABLE [BOOLEAN_ENUM] ( [BOOLEAN_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID], VALUE) VALUES (1, 'JA'), (2, 'LEEG'), (3, 'NEE'), (4, 'ONBEKEND'); ALTER TABLE [LOCATIE] ADD CONSTRAINT FK_LOCATIE_GEN_VASTGOEDOBJECT FOREIGN KEY ([VASTGOEDOBJECT_ID]) REFERENCES [VASTGOEDOBJECT] ([VASTGOEDOBJECT_ID]); -- Generalization to VASTGOEDOBJECT ALTER TABLE [KP_SCHL_ONDRWJSSRT] ADD CONSTRAINT FK_KP_SCHL_ONDRWJSSRT_1 FOREIGN KEY ([SCHOOL_ID]) REFERENCES [SCHOOL] ([SCHOOL_ID]); -- SCHOOL (many-to-many junction, Connector_ID: 1210) ALTER TABLE [KP_SCHL_ONDRWJSSRT] ADD CONSTRAINT FK_KP_SCHL_ONDRWJSSRT_2 FOREIGN KEY ([ONDERWIJSSOORT_ID]) REFERENCES [ONDERWIJSSOORT] ([ONDERWIJSSOORT_ID]); -- ONDERWIJSSOORT (many-to-many junction, Connector_ID: 1210) ALTER TABLE [KP_SCHL_ONDRWJSLPBN] ADD CONSTRAINT FK_KP_SCHL_ONDRWJSLPBN_1 FOREIGN KEY ([SCHOOL_ID]) REFERENCES [SCHOOL] ([SCHOOL_ID]); -- SCHOOL (many-to-many junction, Connector_ID: 1211) ALTER TABLE [KP_SCHL_ONDRWJSLPBN] ADD CONSTRAINT FK_KP_SCHL_ONDRWJSLPBN_2 FOREIGN KEY ([ONDERWIJSLOOPBAAN_ID]) REFERENCES [ONDERWIJSLOOPBAAN] ([ONDERWIJSLOOPBAAN_ID]); -- ONDERWIJSLOOPBAAN (many-to-many junction, Connector_ID: 1211) ALTER TABLE [KP_LCT_VSTGDBJCT] ADD CONSTRAINT FK_KP_LCT_VSTGDBJCT_1 FOREIGN KEY ([LOCATIE_ID]) REFERENCES [LOCATIE] ([VASTGOEDOBJECT_ID]); -- LOCATIE (many-to-many junction, Connector_ID: 1214) ALTER TABLE [KP_LCT_VSTGDBJCT] ADD CONSTRAINT FK_KP_LCT_VSTGDBJCT_2 FOREIGN KEY ([VASTGOEDOBJECT_ID]) REFERENCES [VASTGOEDOBJECT] ([VASTGOEDOBJECT_ID]); -- VASTGOEDOBJECT (many-to-many junction, Connector_ID: 1214) ALTER TABLE [UITSCHRIJVING] ADD CONSTRAINT FK_UITSCHRIJVING_HEEFT FOREIGN KEY ([HEEFT_SCHOOL_ID]) REFERENCES [SCHOOL] ([SCHOOL_ID]); -- HEEFT (1 to 0..*, Connector_ID: 1206) ALTER TABLE [LOOPBAANSTAP] ADD CONSTRAINT FK_LOOPBAANSTAP_ONDERWIJSLOOPBAAN FOREIGN KEY ([ONDERWIJSLOOPBAAN_ID]) REFERENCES [ONDERWIJSLOOPBAAN] ([ONDERWIJSLOOPBAAN_ID]); -- unnamed (1 to 0..*, Connector_ID: 1212) ALTER TABLE [LOCATIE] ADD CONSTRAINT FK_LOCATIE_SCHOOL_HEEFT FOREIGN KEY ([SCHOOL_HEEFT_SCHOOL_ID]) REFERENCES [SCHOOL] ([SCHOOL_ID]); -- SCHOOL_HEEFT (0..1 to 1..*, Connector_ID: 1213) ALTER TABLE [UITSCHRIJVING] ADD CONSTRAINT FK_UITSCHRIJVING_HEEFT_2 FOREIGN KEY ([HEEFT_LEERLING_ID]) REFERENCES [LEERLING] ([LEERLING_ID]); -- HEEFT (1 to 0..*, Connector_ID: 1215) ALTER TABLE [ONDERWIJSLOOPBAAN] ADD CONSTRAINT FK_ONDERWIJSLOOPBAAN_HEEFT FOREIGN KEY ([HEEFT_LEERLING_ID]) REFERENCES [LEERLING] ([LEERLING_ID]); -- HEEFT (1 to 0..*, Connector_ID: 1216) ALTER TABLE [LEERLING] ADD CONSTRAINT FK_LEERLING_HEEFT FOREIGN KEY ([HEEFT_STARTKWALIFICATIE_ID]) REFERENCES [STARTKWALIFICATIE] ([STARTKWALIFICATIE_ID]); -- HEEFT (1 to 0..1, Connector_ID: 1217) ALTER TABLE [INSCHRIJVING] ADD CONSTRAINT FK_INSCHRIJVING_HEEFT FOREIGN KEY ([HEEFT_LEERLING_ID]) REFERENCES [LEERLING] ([LEERLING_ID]); -- HEEFT (1 to 0..*, Connector_ID: 1219) ALTER TABLE [INSCHRIJVING] ADD CONSTRAINT FK_INSCHRIJVING_HEEFT_2 FOREIGN KEY ([HEEFT_SCHOOL_ID]) REFERENCES [SCHOOL] ([SCHOOL_ID]); -- HEEFT (0..* to 1, Connector_ID: 1220) ALTER TABLE [LEERLING] ADD CONSTRAINT FK_LEERLING_KWETSBAREJONGERE_ENUM_ID FOREIGN KEY ([KWETSBAREJONGERE_ENUM_ID_BOOLEAN_ENUM_ID]) REFERENCES [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID]); -- KWETSBAREJONGERE_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [LOOPBAANSTAP] ADD CONSTRAINT FK_LOOPBAANSTAP_ONDERWIJSTYPE_ENUM_ID FOREIGN KEY ([ONDERWIJSTYPE_ENUM_ID_ONDERWIJSTYPE_ENUM_ID]) REFERENCES [ONDERWIJSTYPE_ENUM] ([ONDERWIJSTYPE_ENUM_ID]); -- ONDERWIJSTYPE_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [ONDERWIJSSOORT] ADD CONSTRAINT FK_ONDERWIJSSOORT_ONDERWIJSTYPE_ENUM_ID FOREIGN KEY ([ONDERWIJSTYPE_ENUM_ID_ONDERWIJSTYPE_ENUM_ID]) REFERENCES [ONDERWIJSTYPE_ENUM] ([ONDERWIJSTYPE_ENUM_ID]); -- ONDERWIJSTYPE_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [UITSCHRIJVING] ADD CONSTRAINT FK_UITSCHRIJVING_DIPLOMABEHAALD_ENUM_ID FOREIGN KEY ([DIPLOMABEHAALD_ENUM_ID_BOOLEAN_ENUM_ID]) REFERENCES [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID]); -- DIPLOMABEHAALD_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [VASTGOEDOBJECT] ADD CONSTRAINT FK_VASTGOEDOBJECT_GEARCHIVEERD_ENUM_ID FOREIGN KEY ([GEARCHIVEERD_ENUM_ID_BOOLEAN_ENUM_ID]) REFERENCES [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID]); -- GEARCHIVEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [VASTGOEDOBJECT] ADD CONSTRAINT FK_VASTGOEDOBJECT_AFGEKOCHTEERFPACHT_ENUM_ID FOREIGN KEY ([AFGEKOCHTEERFPACHT_ENUM_ID_BOOLEAN_ENUM_ID]) REFERENCES [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID]); -- AFGEKOCHTEERFPACHT_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [VASTGOEDOBJECT] ADD CONSTRAINT FK_VASTGOEDOBJECT_ASBESTRAPPORTAGEAANWEZIG_ENUM_ID FOREIGN KEY ([ASBESTRAPPORTAGEAANWEZIG_ENUM_ID_BOOLEAN_ENUM_ID]) REFERENCES [BOOLEAN_ENUM] ([BOOLEAN_ENUM_ID]); -- ASBESTRAPPORTAGEAANWEZIG_ENUM_ID (1 to 1, Connector_ID: enum_ref)