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 `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 `WERKGELEGENHEID` ( `WERKGELEGENHEID_ID` INT PRIMARY KEY, `AANTALFULLTIMEMANNEN` INT, `AANTALFULLTIMEVROUWEN` INT, `AANTALPARTTIMEMANNEN` INT, `AANTALPARTTIMEVROUWEN` INT, `GROOTTEKLASSE` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `MAATSCHAPPELIJKEACTIVITEIT` ( `MAATSCHAPPELIJKEACTIVITEIT_ID` INT PRIMARY KEY, `ADRESBINNENLAND` VARCHAR(255), `ADRESCORRESPONDENTIE` VARCHAR(100), `DATUMAANVANG` DATE, `DATUMEINDEGELDIG` DATE, `DATUMFAILLISEMENT` DATE, `INDICATIEECONOMISCHACTIEF` BOOLEAN, `IS_FUNCTIONARIS_VAN_NATUURLIJKPERSOON_ID` INT, `KVKNUMMER` VARCHAR(255), `RECHTSVORM` VARCHAR(100), `RSIN` VARCHAR(255), `STATUTAIRENAAM` VARCHAR(100), `TELEFOONNUMMER` VARCHAR(20), `URL` VARCHAR(100) ) ENGINE=InnoDB; CREATE TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ( `KP_NTNTRLJKPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `NIETNATUURLIJKPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `VESTIGING` ( `VESTIGING_ID` INT PRIMARY KEY, `COMMERCIELEVESTIGING` BOOLEAN, `DATUMAANVANG` DATE, `DATUMEINDE` DATE, `DATUMVOORTZETTING` DATE, `FULLTIMEWERKZAMEMANNEN` VARCHAR(255), `FULLTIMEWERKZAMEVROUWEN` VARCHAR(255), `HANDELSNAAM` VARCHAR(255), `HEEFT_NIETNATUURLIJKPERSOON_ID` INT, `HEEFT_WERKGELEGENHEID_ID` INT, `IS_HOOFDVESTIGING_VAN_MAATSCHAPPELIJKEACTIVITEIT_ID` INT, `PARTTIMEWERKZAMEMANNEN` VARCHAR(255), `PARTTIMEWERKZAMEVROUWEN` VARCHAR(255), `TOEVOEGINGADRES` VARCHAR(100), `TOTAALWERKZAMEPERSONEN` VARCHAR(255), `UITOEFENING_VAN_ACTIVITEITEN_MAATSCHAPPELIJKEACTIVITEIT_ID` INT, `VERKORTENAAM` VARCHAR(255), `VESTIGINGSNUMMER` VARCHAR(255) ) ENGINE=InnoDB; CREATE TABLE `CONTACT` ( `CONTACT_ID` INT PRIMARY KEY, `BIJ_VESTIGING_ID` INT, `CONTACTSOORT` VARCHAR(80), `DATUM` DATE, `TEKST` TEXT ) ENGINE=InnoDB; CREATE TABLE `HOTEL` ( `VESTIGING_ID` INT PRIMARY KEY, `AANTALKAMERS` INT ) ENGINE=InnoDB; CREATE TABLE `VERKOOPPUNT` ( `VESTIGING_ID` INT PRIMARY KEY, `WINKELFORMULE` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `HOTELBEZOEK` ( `HOTELBEZOEK_ID` INT PRIMARY KEY, `DATUMEINDE` DATE, `DATUMSTART` DATE, `HEEFT_VESTIGING_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_CNTCT_NTRLJKPRSN` ( `KP_CNTCT_NTRLJKPRSN_ID` INT PRIMARY KEY, `CONTACT_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_HTL_VSTGNG` ( `KP_HTL_VSTGNG_ID` INT PRIMARY KEY, `HOTEL_ID` INT, `VESTIGING_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_VRKPPNT_VSTGNG` ( `KP_VRKPPNT_VSTGNG_ID` INT PRIMARY KEY, `VERKOOPPUNT_ID` INT, `VESTIGING_ID` INT ) ENGINE=InnoDB; ALTER TABLE `HOTEL` ADD CONSTRAINT FK_HOTEL_GEN_VESTIGING FOREIGN KEY (`VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- Generalization to VESTIGING ALTER TABLE `VERKOOPPUNT` ADD CONSTRAINT FK_VERKOOPPUNT_GEN_VESTIGING FOREIGN KEY (`VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- Generalization to VESTIGING ALTER TABLE `KP_VRKPPNT_VSTGNG` ADD CONSTRAINT FK_KP_VRKPPNT_VSTGNG_1 FOREIGN KEY (`VERKOOPPUNT_ID`) REFERENCES `VERKOOPPUNT` (`VESTIGING_ID`); -- VERKOOPPUNT (many-to-many junction, Connector_ID: 1253) ALTER TABLE `KP_VRKPPNT_VSTGNG` ADD CONSTRAINT FK_KP_VRKPPNT_VSTGNG_2 FOREIGN KEY (`VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- VESTIGING (many-to-many junction, Connector_ID: 1253) ALTER TABLE `KP_HTL_VSTGNG` ADD CONSTRAINT FK_KP_HTL_VSTGNG_1 FOREIGN KEY (`HOTEL_ID`) REFERENCES `HOTEL` (`VESTIGING_ID`); -- HOTEL (many-to-many junction, Connector_ID: 1255) ALTER TABLE `KP_HTL_VSTGNG` ADD CONSTRAINT FK_KP_HTL_VSTGNG_2 FOREIGN KEY (`VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- VESTIGING (many-to-many junction, Connector_ID: 1255) ALTER TABLE `KP_CNTCT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_CNTCT_NTRLJKPRSN_1 FOREIGN KEY (`CONTACT_ID`) REFERENCES `CONTACT` (`CONTACT_ID`); -- CONTACT (many-to-many junction, Connector_ID: 1257) ALTER TABLE `KP_CNTCT_NTRLJKPRSN` ADD CONSTRAINT FK_KP_CNTCT_NTRLJKPRSN_2 FOREIGN KEY (`NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1257) 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 `HOTELBEZOEK` ADD CONSTRAINT FK_HOTELBEZOEK_HEEFT FOREIGN KEY (`HEEFT_VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- HEEFT (1 to 0..*, Connector_ID: 1254) ALTER TABLE `CONTACT` ADD CONSTRAINT FK_CONTACT_BIJ FOREIGN KEY (`BIJ_VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- BIJ (0..* to 0..1, Connector_ID: 1256) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT FOREIGN KEY (`HEEFT_WERKGELEGENHEID_ID`) REFERENCES `WERKGELEGENHEID` (`WERKGELEGENHEID_ID`); -- HEEFT (1 to 0..1, Connector_ID: 1857) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_IS_HOOFDVESTIGING_VAN FOREIGN KEY (`IS_HOOFDVESTIGING_VAN_MAATSCHAPPELIJKEACTIVITEIT_ID`) REFERENCES `MAATSCHAPPELIJKEACTIVITEIT` (`MAATSCHAPPELIJKEACTIVITEIT_ID`); -- IS_HOOFDVESTIGING_VAN (0..1 to 0..1, Connector_ID: 1959) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_UITOEFENING_VAN_ACTIVITEITEN FOREIGN KEY (`UITOEFENING_VAN_ACTIVITEITEN_MAATSCHAPPELIJKEACTIVITEIT_ID`) REFERENCES `MAATSCHAPPELIJKEACTIVITEIT` (`MAATSCHAPPELIJKEACTIVITEIT_ID`); -- UITOEFENING_VAN_ACTIVITEITEN (0..* to 1, Connector_ID: 1961) ALTER TABLE `MAATSCHAPPELIJKEACTIVITEIT` ADD CONSTRAINT FK_MAATSCHAPPELIJKEACTIVITEIT_IS_FUNCTIONARIS_VAN FOREIGN KEY (`IS_FUNCTIONARIS_VAN_NATUURLIJKPERSOON_ID`) REFERENCES `NATUURLIJKPERSOON` (`NATUURLIJKPERSOON_ID`); -- IS_FUNCTIONARIS_VAN (0..* to 1.., Connector_ID: 1962) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT_2 FOREIGN KEY (`HEEFT_NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`NIETNATUURLIJKPERSOON_ID`); -- HEEFT (1 to 0..*, Connector_ID: 1968)