CREATE TABLE [NIETNATUURLIJKPERSOON] ( [NIETNATUURLIJKPERSOON_ID] INT PRIMARY KEY, [DATUMAANVANG] DATE, [DATUMEINDE] DATE, [DATUMUITSCHRIJVING] DATE, [DATUMVOORTZETTING] DATE, [FAXNUMMER] VARCHAR(20), [INGESCHREVEN] BIT, [INOPRICHTING] BIT, [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] 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] BIT, [INDICATIEOVERLEDEN] BIT, [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] INT PRIMARY KEY, [AANTALFULLTIMEMANNEN] INT, [AANTALFULLTIMEVROUWEN] INT, [AANTALPARTTIMEMANNEN] INT, [AANTALPARTTIMEVROUWEN] INT, [GROOTTEKLASSE] VARCHAR(255) ); CREATE TABLE [MAATSCHAPPELIJKEACTIVITEIT] ( [MAATSCHAPPELIJKEACTIVITEIT_ID] INT PRIMARY KEY, [ADRESBINNENLAND] VARCHAR(255), [ADRESCORRESPONDENTIE] VARCHAR(100), [DATUMAANVANG] DATE, [DATUMEINDEGELDIG] DATE, [DATUMFAILLISEMENT] DATE, [INDICATIEECONOMISCHACTIEF] BIT, [IS_FUNCTIONARIS_VAN_NATUURLIJKPERSOON_ID] INT, [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] INT PRIMARY KEY, [NIETNATUURLIJKPERSOON_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [VESTIGING] ( [VESTIGING_ID] INT PRIMARY KEY, [COMMERCIELEVESTIGING] BIT, [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) ); CREATE TABLE [CONTACT] ( [CONTACT_ID] INT PRIMARY KEY, [BIJ_VESTIGING_ID] INT, [CONTACTSOORT] VARCHAR(80), [DATUM] DATE, [TEKST] NVARCHAR(MAX) ); CREATE TABLE [HOTEL] ( [VESTIGING_ID] INT PRIMARY KEY, [AANTALKAMERS] INT ); CREATE TABLE [VERKOOPPUNT] ( [VESTIGING_ID] INT PRIMARY KEY, [WINKELFORMULE] VARCHAR(80) ); CREATE TABLE [HOTELBEZOEK] ( [HOTELBEZOEK_ID] INT PRIMARY KEY, [DATUMEINDE] DATE, [DATUMSTART] DATE, [HEEFT_VESTIGING_ID] INT ); CREATE TABLE [KP_CNTCT_NTRLJKPRSN] ( [KP_CNTCT_NTRLJKPRSN_ID] INT PRIMARY KEY, [CONTACT_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_HTL_VSTGNG] ( [KP_HTL_VSTGNG_ID] INT PRIMARY KEY, [HOTEL_ID] INT, [VESTIGING_ID] INT ); CREATE TABLE [KP_VRKPPNT_VSTGNG] ( [KP_VRKPPNT_VSTGNG_ID] INT PRIMARY KEY, [VERKOOPPUNT_ID] INT, [VESTIGING_ID] INT ); 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)