CREATE TABLE NIETNATUURLIJKPERSOON ( NIETNATUURLIJKPERSOON_ID INTEGER 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) ); CREATE TABLE NATUURLIJKPERSOON ( NATUURLIJKPERSOON_ID INTEGER 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) ); CREATE TABLE WERKGELEGENHEID ( WERKGELEGENHEID_ID INTEGER PRIMARY KEY, AANTALFULLTIMEMANNEN INTEGER, AANTALFULLTIMEVROUWEN INTEGER, AANTALPARTTIMEMANNEN INTEGER, AANTALPARTTIMEVROUWEN INTEGER, GROOTTEKLASSE VARCHAR(255) ); CREATE TABLE MAATSCHAPPELIJKEACTIVITEIT ( MAATSCHAPPELIJKEACTIVITEIT_ID INTEGER PRIMARY KEY, ADRESBINNENLAND VARCHAR(255), ADRESCORRESPONDENTIE VARCHAR(100), DATUMAANVANG DATE, DATUMEINDEGELDIG DATE, DATUMFAILLISEMENT DATE, INDICATIEECONOMISCHACTIEF BOOLEAN, IS_FUNCTIONARIS_VAN_NATUURLIJKPERSOON_ID INTEGER, KVKNUMMER VARCHAR(255), RECHTSVORM VARCHAR(100), RSIN VARCHAR(255), STATUTAIRENAAM VARCHAR(100), TELEFOONNUMMER VARCHAR(20), URL VARCHAR(100) ); CREATE TABLE KP_NTNTRLJKPRSN_NTRLJKPRSN ( KP_NTNTRLJKPRSN_NTRLJKPRSN_ID INTEGER PRIMARY KEY, NIETNATUURLIJKPERSOON_ID INTEGER, NATUURLIJKPERSOON_ID INTEGER ); CREATE TABLE VESTIGING ( VESTIGING_ID INTEGER PRIMARY KEY, COMMERCIELEVESTIGING BOOLEAN, DATUMAANVANG DATE, DATUMEINDE DATE, DATUMVOORTZETTING DATE, FULLTIMEWERKZAMEMANNEN VARCHAR(255), FULLTIMEWERKZAMEVROUWEN VARCHAR(255), HANDELSNAAM VARCHAR(255), HEEFT_NIETNATUURLIJKPERSOON_ID INTEGER, HEEFT_WERKGELEGENHEID_ID INTEGER, IS_HOOFDVESTIGING_VAN_MAATSCHAPPELIJKEACTIVITEIT_ID INTEGER, PARTTIMEWERKZAMEMANNEN VARCHAR(255), PARTTIMEWERKZAMEVROUWEN VARCHAR(255), TOEVOEGINGADRES VARCHAR(100), TOTAALWERKZAMEPERSONEN VARCHAR(255), UITOEFENING_VAN_ACTIVITEITEN_MAATSCHAPPELIJKEACTIVITEIT_ID INTEGER, VERKORTENAAM VARCHAR(255), VESTIGINGSNUMMER VARCHAR(255) ); CREATE TABLE CONTACT ( CONTACT_ID INTEGER PRIMARY KEY, BIJ_VESTIGING_ID INTEGER, CONTACTSOORT VARCHAR(80), DATUM DATE, TEKST TEXT ); CREATE TABLE HOTEL ( VESTIGING_ID INTEGER PRIMARY KEY, AANTALKAMERS INTEGER ); CREATE TABLE VERKOOPPUNT ( VESTIGING_ID INTEGER PRIMARY KEY, WINKELFORMULE VARCHAR(80) ); CREATE TABLE HOTELBEZOEK ( HOTELBEZOEK_ID INTEGER PRIMARY KEY, DATUMEINDE DATE, DATUMSTART DATE, HEEFT_VESTIGING_ID INTEGER ); CREATE TABLE KP_CNTCT_NTRLJKPRSN ( KP_CNTCT_NTRLJKPRSN_ID INTEGER PRIMARY KEY, CONTACT_ID INTEGER, NATUURLIJKPERSOON_ID INTEGER ); CREATE TABLE KP_HTL_VSTGNG ( KP_HTL_VSTGNG_ID INTEGER PRIMARY KEY, HOTEL_ID INTEGER, VESTIGING_ID INTEGER ); CREATE TABLE KP_VRKPPNT_VSTGNG ( KP_VRKPPNT_VSTGNG_ID INTEGER PRIMARY KEY, VERKOOPPUNT_ID INTEGER, VESTIGING_ID INTEGER ); 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)