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` TEXT, `VERHUURBAARVLOEROPPERVLAK` INT, `VERKOOPBAARHEID` VARCHAR(80), `VERKOOPBEDRAG` DECIMAL(10,2), `VERZEKERDEWAARDE` VARCHAR(255), `WAARDEGROND` VARCHAR(255), `WAARDEOPSTAL` VARCHAR(255), `WIJK` VARCHAR(255), `WOZWAARDE` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `LOCATIE` ( `VASTGOEDOBJECT_ID` INT PRIMARY KEY, `ADRES` VARCHAR(255), `SCHOOL_HEEFT_SCHOOL_ID` INT ) ENGINE=InnoDB; CREATE TABLE `LEERLING` ( `LEERLING_ID` INT PRIMARY KEY, `HEEFT_STARTKWALIFICATIE_ID` INT, `KWETSBAREJONGERE_ENUM_ID` INT ) ENGINE=InnoDB; CREATE TABLE `STARTKWALIFICATIE` ( `STARTKWALIFICATIE_ID` INT PRIMARY KEY, `DATUMBEHAALD` DATE ) ENGINE=InnoDB; CREATE TABLE `KP_SCHL_ONDRWJSLPBN` ( `KP_SCHL_ONDRWJSLPBN_ID` INT PRIMARY KEY, `SCHOOL_ID` INT, `ONDERWIJSLOOPBAAN_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_SCHL_ONDRWJSSRT` ( `KP_SCHL_ONDRWJSSRT_ID` INT PRIMARY KEY, `SCHOOL_ID` INT, `ONDERWIJSSOORT_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_LCT_VSTGDBJCT` ( `KP_LCT_VSTGDBJCT_ID` INT PRIMARY KEY, `LOCATIE_ID` INT, `VASTGOEDOBJECT_ID` INT ) ENGINE=InnoDB; CREATE TABLE `SCHOOL` ( `SCHOOL_ID` INT PRIMARY KEY, `NAAM` VARCHAR(200) ) ENGINE=InnoDB; CREATE TABLE `LEERJAAR` ( `LEERJAAR_ID` INT PRIMARY KEY, `JAAREINDE` DATE, `JAARSTART` DATE ) ENGINE=InnoDB; CREATE TABLE `INSCHRIJVING` ( `INSCHRIJVING_ID` INT PRIMARY KEY, `DATUM` DATE, `HEEFT_LEERLING_ID` INT, `HEEFT_SCHOOL_ID` INT ) ENGINE=InnoDB; CREATE TABLE `ONDERWIJSTYPE_ENUM` ( `ONDERWIJSTYPE_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; 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 ) ENGINE=InnoDB; CREATE TABLE `ONDERWIJSLOOPBAAN` ( `ONDERWIJSLOOPBAAN_ID` INT PRIMARY KEY, `HEEFT_LEERLING_ID` INT ) ENGINE=InnoDB; CREATE TABLE `ONDERWIJSSOORT` ( `ONDERWIJSSOORT_ID` INT PRIMARY KEY, `OMSCHRIJVING` VARCHAR(80), `ONDERWIJSTYPE_ENUM_ID` INT ) ENGINE=InnoDB; CREATE TABLE `LOOPBAANSTAP` ( `LOOPBAANSTAP_ID` INT PRIMARY KEY, `KLAS` INT, `ONDERWIJSLOOPBAAN_ID` INT, `ONDERWIJSTYPE_ENUM_ID` INT, `SCHOOLJAAR` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `BOOLEAN_ENUM` ( `BOOLEAN_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; 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)