CREATE TABLE `NIETNATUURLIJKPERSOON` ( `NIETNATUURLIJKPERSOON_ID` INT PRIMARY KEY, `DATUMAANVANG` DATE, `DATUMEINDE` DATE, `DATUMUITSCHRIJVING` DATE, `DATUMVOORTZETTING` DATE, `FAXNUMMER` VARCHAR(20), `INGESCHREVEN` BOOLEAN, `INOPRICHTING` BOOLEAN, `KVKNUMMER` VARCHAR(255), `NNPID` VARCHAR(255), `RECHTSVORM` VARCHAR(255), `RSINNUMMER` VARCHAR(255), `STATUTAIRENAAM` VARCHAR(255), `STATUTAIREZETEL` VARCHAR(255), `WEBSITEURL` VARCHAR(200) ) ENGINE=InnoDB; CREATE TABLE `PROGRAMMA` ( `PROGRAMMA_ID` INT PRIMARY KEY, `NAAM` VARCHAR(80) ) ENGINE=InnoDB; 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` BOOLEAN, `INDICATIEOVERLEDEN` BOOLEAN, `LANDOVERLIJDEN` VARCHAR(255), `NATIONALITEIT` VARCHAR(100), `OVERLIJDENSPLAATS` VARCHAR(200), `VOORLETTERSAANSCHRIJVING` VARCHAR(20), `VOORNAMEN` VARCHAR(200), `VOORNAMENAANSCHRIJVING` VARCHAR(200), `VOORVOEGSELGESLACHTSNAAM` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `ENERGIELABEL_ENUM` ( `ENERGIELABEL_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; INSERT INTO `ENERGIELABEL_ENUM` (`ENERGIELABEL_ENUM_ID`, VALUE) VALUES (1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'E'), (6, 'F'); CREATE TABLE `OPPERVLAKTE_WONING_ENUM` ( `OPPERVLAKTE_WONING_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; INSERT INTO `OPPERVLAKTE_WONING_ENUM` (`OPPERVLAKTE_WONING_ENUM_ID`, VALUE) VALUES (1, '100_124_M2'), (2, '125_149_M2'), (3, '150_EN_GROTER'), (4, '15_49_M2'), (5, '50_74_M2'), (6, '75_99_M2'), (7, 'KLEINER_DAN_15_M2'); CREATE TABLE `PROJECTONTWIKKELAAR` ( `NIETNATUURLIJKPERSOON_ID` INT PRIMARY KEY, `ADRES` VARCHAR(200), `NAAM` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `PLAN` ( `PLAN_ID` INT PRIMARY KEY, `70PROCENTVERKOCHT` BOOLEAN, `AARDGASLOOS` BOOLEAN, `BESTEMMINGGOEDGEKEURD` BOOLEAN, `BINNEN_PROGRAMMA_PROGRAMMA_ID` INT, `EERSTEOPLEVERING` DATE, `EIGENDOMGEMEENTE` BOOLEAN, `GEBIEDSTRANSFORMATIE` BOOLEAN, `INTENTIE` BOOLEAN, `IS_PROJECTLEIDER_VAN_NATUURLIJKPERSOON_ID` INT, `LAATSTEOPLEVERING` DATE, `NAAM` VARCHAR(80), `NUMMER` VARCHAR(255), `ONHERROEPELIJK` BOOLEAN, `PERCELEN` VARCHAR(255), `STARTBOUW` DATE, `STARTVERKOOP` DATE ) ENGINE=InnoDB; CREATE TABLE `PROJECTLEIDER` ( `NATUURLIJKPERSOON_ID` INT PRIMARY KEY, `NAAM` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ( `KP_NTNTRLJKPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `NIETNATUURLIJKPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_PRJCTNTWKKLR_NTNTRLJKPRSN` ( `KP_PRJCTNTWKKLR_NTNTRLJKPRSN_ID` INT PRIMARY KEY, `PROJECTONTWIKKELAAR_ID` INT, `NIETNATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_PRJCTNTWKKLR_PLN` ( `KP_PRJCTNTWKKLR_PLN_ID` INT PRIMARY KEY, `PROJECTONTWIKKELAAR_ID` INT, `PLAN_ID` INT ) ENGINE=InnoDB; CREATE TABLE `OMGEVINGSVERGUNNING` ( `OMGEVINGSVERGUNNING_ID` INT PRIMARY KEY, `BETREKKING_OP_PLAN_ID` INT ) ENGINE=InnoDB; CREATE TABLE `GEBOUW` ( `GEBOUW_ID` INT PRIMARY KEY, `AANTAL` INT, `AANTALADRESSEN` INT, `AANTALKAMERS` INT, `AARDGASLOOS` BOOLEAN, `BESTAAT_UIT_PLAN_ID` INT, `DUURZAAM` BOOLEAN, `ENERGIELABEL_ENUM_ID` INT, `NATUURINCLUSIEF` BOOLEAN, `OPPERVLAKTE_ENUM_ID` INT, `REGENWATER` BOOLEAN ) ENGINE=InnoDB; CREATE TABLE `KP_PRJCTLDR_NTRLJKPRSN` ( `KP_PRJCTLDR_NTRLJKPRSN_ID` INT PRIMARY KEY, `PROJECTLEIDER_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `HUURWONINGEN` ( `GEBOUW_ID` INT PRIMARY KEY, `HUURPRIJS` DECIMAL(10,2) ) ENGINE=InnoDB; CREATE TABLE `STUDENTENWONINGEN` ( `GEBOUW_ID` INT PRIMARY KEY, `HUURPRIJS` DECIMAL(10,2), `ZELFSTANDIG` BOOLEAN ) ENGINE=InnoDB; CREATE TABLE `KOOPWONINGEN` ( `GEBOUW_ID` INT PRIMARY KEY, `KOOPPRIJS` DECIMAL(10,2) ) ENGINE=InnoDB; CREATE TABLE `KP_HRWNNGN_GBW` ( `KP_HRWNNGN_GBW_ID` INT PRIMARY KEY, `HUURWONINGEN_ID` INT, `GEBOUW_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_STDNTNWNNGN_GBW` ( `KP_STDNTNWNNGN_GBW_ID` INT PRIMARY KEY, `STUDENTENWONINGEN_ID` INT, `GEBOUW_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_KPWNNGN_GBW` ( `KP_KPWNNGN_GBW_ID` INT PRIMARY KEY, `KOOPWONINGEN_ID` INT, `GEBOUW_ID` INT ) ENGINE=InnoDB; ALTER TABLE `HUURWONINGEN` ADD CONSTRAINT FK_HUURWONINGEN_GEN_GEBOUW FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- Generalization to GEBOUW ALTER TABLE `KOOPWONINGEN` ADD CONSTRAINT FK_KOOPWONINGEN_GEN_GEBOUW FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- Generalization to GEBOUW ALTER TABLE `PROJECTLEIDER` ADD CONSTRAINT FK_PROJECTLEIDER_GEN_NATUURLIJKPERSOON FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- Generalization to NATUURLIJKPERSOON ALTER TABLE `PROJECTONTWIKKELAAR` ADD CONSTRAINT FK_PROJECTONTWIKKELAAR_GEN_NIETNATUURLIJKPERSOON FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- Generalization to NIETNATUURLIJKPERSOON ALTER TABLE `STUDENTENWONINGEN` ADD CONSTRAINT FK_STUDENTENWONINGEN_GEN_GEBOUW FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- Generalization to GEBOUW ALTER TABLE `KP_STDNTNWNNGN_GBW` ADD CONSTRAINT FK_KP_STDNTNWNNGN_GBW_1 FOREIGN KEY (`STUDENTENWONINGEN_ID`) REFERENCES `STUDENTENWONINGEN` (`GEBOUW_ID`); -- STUDENTENWONINGEN (many-to-many junction, Connector_ID: 711) ALTER TABLE `KP_STDNTNWNNGN_GBW` ADD CONSTRAINT FK_KP_STDNTNWNNGN_GBW_2 FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- GEBOUW (many-to-many junction, Connector_ID: 711) ALTER TABLE `KP_PRJCTNTWKKLR_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_PRJCTNTWKKLR_NTNTRLJKPRSN_1 FOREIGN KEY (`PROJECTONTWIKKELAAR_ID`) REFERENCES `PROJECTONTWIKKELAAR` (`NIETNATUURLIJKPERSOON_ID`); -- PROJECTONTWIKKELAAR (many-to-many junction, Connector_ID: 712) ALTER TABLE `KP_PRJCTNTWKKLR_NTNTRLJKPRSN` ADD CONSTRAINT FK_KP_PRJCTNTWKKLR_NTNTRLJKPRSN_2 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 712) ALTER TABLE `KP_PRJCTLDR_NTRLJKPRSN` ADD CONSTRAINT FK_KP_PRJCTLDR_NTRLJKPRSN_1 FOREIGN KEY (`PROJECTLEIDER_ID`) REFERENCES `PROJECTLEIDER` (`NATUURLIJKPERSOON_ID`); -- PROJECTLEIDER (many-to-many junction, Connector_ID: 713) ALTER TABLE `KP_PRJCTLDR_NTRLJKPRSN` ADD CONSTRAINT FK_KP_PRJCTLDR_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 713) ALTER TABLE `KP_PRJCTNTWKKLR_PLN` ADD CONSTRAINT FK_KP_PRJCTNTWKKLR_PLN_1 FOREIGN KEY (`PROJECTONTWIKKELAAR_ID`) REFERENCES `PROJECTONTWIKKELAAR` (`NIETNATUURLIJKPERSOON_ID`); -- PROJECTONTWIKKELAAR (many-to-many junction, Connector_ID: 716) ALTER TABLE `KP_PRJCTNTWKKLR_PLN` ADD CONSTRAINT FK_KP_PRJCTNTWKKLR_PLN_2 FOREIGN KEY (`PLAN_ID`) REFERENCES `PLAN` (`PLAN_ID`); -- PLAN (many-to-many junction, Connector_ID: 716) ALTER TABLE `KP_KPWNNGN_GBW` ADD CONSTRAINT FK_KP_KPWNNGN_GBW_1 FOREIGN KEY (`KOOPWONINGEN_ID`) REFERENCES `KOOPWONINGEN` (`GEBOUW_ID`); -- KOOPWONINGEN (many-to-many junction, Connector_ID: 717) ALTER TABLE `KP_KPWNNGN_GBW` ADD CONSTRAINT FK_KP_KPWNNGN_GBW_2 FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- GEBOUW (many-to-many junction, Connector_ID: 717) ALTER TABLE `KP_HRWNNGN_GBW` ADD CONSTRAINT FK_KP_HRWNNGN_GBW_1 FOREIGN KEY (`HUURWONINGEN_ID`) REFERENCES `HUURWONINGEN` (`GEBOUW_ID`); -- HUURWONINGEN (many-to-many junction, Connector_ID: 718) ALTER TABLE `KP_HRWNNGN_GBW` ADD CONSTRAINT FK_KP_HRWNNGN_GBW_2 FOREIGN KEY (`GEBOUW_ID`) REFERENCES `GEBOUW` (`GEBOUW_ID`); -- GEBOUW (many-to-many junction, Connector_ID: 718) 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 `PLAN` ADD CONSTRAINT FK_PLAN_IS_PROJECTLEIDER_VAN FOREIGN KEY (`IS_PROJECTLEIDER_VAN_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- IS_PROJECTLEIDER_VAN (0..1 to 0..*, Connector_ID: 714) ALTER TABLE `PLAN` ADD CONSTRAINT FK_PLAN_BINNEN_PROGRAMMA FOREIGN KEY (`BINNEN_PROGRAMMA_PROGRAMMA_ID`) REFERENCES `PROGRAMMA` (`PROGRAMMA_ID`); -- BINNEN_PROGRAMMA (0..1 to 0..*, Connector_ID: 715) ALTER TABLE `GEBOUW` ADD CONSTRAINT FK_GEBOUW_BESTAAT_UIT FOREIGN KEY (`BESTAAT_UIT_PLAN_ID`) REFERENCES `PLAN` (`PLAN_ID`); -- BESTAAT_UIT (1 to 1..*, Connector_ID: 719) ALTER TABLE `OMGEVINGSVERGUNNING` ADD CONSTRAINT FK_OMGEVINGSVERGUNNING_BETREKKING_OP FOREIGN KEY (`BETREKKING_OP_PLAN_ID`) REFERENCES `PLAN` (`PLAN_ID`); -- BETREKKING_OP (0..* to 0..1, Connector_ID: 727) ALTER TABLE `GEBOUW` ADD CONSTRAINT FK_GEBOUW_ENERGIELABEL_ENUM_ID FOREIGN KEY (`ENERGIELABEL_ENUM_ID_ENERGIELABEL_ENUM_ID`) REFERENCES `ENERGIELABEL_ENUM` (`ENERGIELABEL_ENUM_ID`); -- ENERGIELABEL_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `GEBOUW` ADD CONSTRAINT FK_GEBOUW_OPPERVLAKTE_ENUM_ID FOREIGN KEY (`OPPERVLAKTE_ENUM_ID_OPPERVLAKTE_WONING_ENUM_ID`) REFERENCES `OPPERVLAKTE_WONING_ENUM` (`OPPERVLAKTE_WONING_ENUM_ID`); -- OPPERVLAKTE_ENUM_ID (1 to 1, Connector_ID: enum_ref)