CREATE TABLE [VASTGOEDOBJECT] ( [VASTGOEDOBJECT_ID] INT PRIMARY KEY, [AANTALETAGES] INT, [AANTALPARKEERPLAATSEN] INT, [AANTALRIOLERINGEN] INT, [ADRESAANDUIDING] VARCHAR(255), [AFGEKOCHTEERFPACHT] BIT, [AFGESPROKENCONDITIESCORE] VARCHAR(255), [AFKOOPWAARDE] VARCHAR(255), [ASBESTRAPPORTAGEAANWEZIG] BIT, [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] BIT, [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] NVARCHAR(MAX), [VERHUURBAARVLOEROPPERVLAK] INT, [VERKOOPBAARHEID] VARCHAR(80), [VERKOOPBEDRAG] DECIMAL(10,2), [VERZEKERDEWAARDE] VARCHAR(255), [WAARDEGROND] VARCHAR(255), [WAARDEOPSTAL] VARCHAR(255), [WIJK] VARCHAR(255), [WOZWAARDE] VARCHAR(255) ); CREATE TABLE [OBJECTRELATIEROL_ENUM] ( [OBJECTRELATIEROL_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [OBJECTRELATIEROL_ENUM] ([OBJECTRELATIEROL_ENUM_ID], VALUE) VALUES (1, 'ACCOUNTMANAGER'), (2, 'ACCOUNTMANAGER_VERKOOP_JURIST_'), (3, 'BEHEERDER'), (4, 'SERVICE_PROVIDER'), (5, 'TAXATEUR'), (6, 'TECHNISCH_BEHEERDER'); CREATE TABLE [AANBESTEDING] ( [AANBESTEDING_ID] INT PRIMARY KEY, [DATUMPUBLICATIE] DATE, [DATUMSTART] DATE, [DIGITAAL] BIT, [NAAM] VARCHAR(200), [PROCEDURE] VARCHAR(255), [REFERENTIENUMMER] VARCHAR(80), [SCOREMAXIMAAL] INT, [STATUS] VARCHAR(80), [TENDERNEDKENMERK] VARCHAR(80), [TYPE] VARCHAR(255), [VOLGENDESLUITING] VARCHAR(255) ); CREATE TABLE [RECHTSPERSOON] ( [RECHTSPERSOON_ID] INT PRIMARY KEY, [ADRESBINNENLAND] VARCHAR(255), [ADRESBUITENLAND] VARCHAR(255), [ADRESCORRESPONDENTIE] VARCHAR(100), [EMAILADRES] VARCHAR(80), [FAXNUMMER] VARCHAR(20), [IDENTIFICATIE] VARCHAR(255), [KVKNUMMER] VARCHAR(20), [NAAM] VARCHAR(200), [RECHTSVORM] VARCHAR(100), [REKENINGNUMMER] VARCHAR(255), [TELEFOONNUMMER] VARCHAR(20) ); CREATE TABLE [AANBESTEDING_VASTGOED] ( [AANBESTEDING_ID] INT PRIMARY KEY ); CREATE TABLE [WERKBON] ( [WERKBON_ID] INT PRIMARY KEY, [BETREFT_VASTGOEDOBJECT_ID] INT, [UITVOERING_VAN_AANBESTEDING_ID] INT, [VOERT_WERK_UIT_CONFORM_RECHTSPERSOON_ID] INT ); CREATE TABLE [OBJECTRELATIE] ( [OBJECTRELATIE_ID] INT PRIMARY KEY, [HEEFT_RECHTSPERSOON_ID] INT, [HEEFT_VASTGOEDOBJECT_ID] INT, [ROL_ENUM_ID] INT ); CREATE TABLE [LEVERANCIER] ( [RECHTSPERSOON_ID] INT PRIMARY KEY, [NAAM] VARCHAR(200), [NUMMER] VARCHAR(255) ); CREATE TABLE [KP_ANBSTDNG_VSTGD_ANBSTDNG] ( [KP_ANBSTDNG_VSTGD_ANBSTDNG_ID] INT PRIMARY KEY, [AANBESTEDING_VASTGOED_ID] INT, [AANBESTEDING_ID] INT ); CREATE TABLE [KP_LVRNCR_RCHTSPRSN] ( [KP_LVRNCR_RCHTSPRSN_ID] INT PRIMARY KEY, [LEVERANCIER_ID] INT, [RECHTSPERSOON_ID] INT ); CREATE TABLE [KP_LVRNCR_ANBSTDNG_VSTGD] ( [KP_LVRNCR_ANBSTDNG_VSTGD_ID] INT PRIMARY KEY, [LEVERANCIER_ID] INT, [AANBESTEDING_VASTGOED_ID] INT ); ALTER TABLE [AANBESTEDING_VASTGOED] ADD CONSTRAINT FK_AANBESTEDING_VASTGOED_GEN_AANBESTEDING FOREIGN KEY ([AANBESTEDING_ID]) REFERENCES [AANBESTEDING] ([AANBESTEDING_ID]); -- Generalization to AANBESTEDING ALTER TABLE [LEVERANCIER] ADD CONSTRAINT FK_LEVERANCIER_GEN_RECHTSPERSOON FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- Generalization to RECHTSPERSOON ALTER TABLE [KP_LVRNCR_RCHTSPRSN] ADD CONSTRAINT FK_KP_LVRNCR_RCHTSPRSN_1 FOREIGN KEY ([LEVERANCIER_ID]) REFERENCES [LEVERANCIER] ([RECHTSPERSOON_ID]); -- LEVERANCIER (many-to-many junction, Connector_ID: 390) ALTER TABLE [KP_LVRNCR_RCHTSPRSN] ADD CONSTRAINT FK_KP_LVRNCR_RCHTSPRSN_2 FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 390) ALTER TABLE [KP_LVRNCR_ANBSTDNG_VSTGD] ADD CONSTRAINT FK_KP_LVRNCR_ANBSTDNG_VSTGD_1 FOREIGN KEY ([LEVERANCIER_ID]) REFERENCES [LEVERANCIER] ([RECHTSPERSOON_ID]); -- LEVERANCIER (many-to-many junction, Connector_ID: 586) ALTER TABLE [KP_LVRNCR_ANBSTDNG_VSTGD] ADD CONSTRAINT FK_KP_LVRNCR_ANBSTDNG_VSTGD_2 FOREIGN KEY ([AANBESTEDING_VASTGOED_ID]) REFERENCES [AANBESTEDING_VASTGOED] ([AANBESTEDING_ID]); -- AANBESTEDING_VASTGOED (many-to-many junction, Connector_ID: 586) ALTER TABLE [KP_ANBSTDNG_VSTGD_ANBSTDNG] ADD CONSTRAINT FK_KP_ANBSTDNG_VSTGD_ANBSTDNG_1 FOREIGN KEY ([AANBESTEDING_VASTGOED_ID]) REFERENCES [AANBESTEDING_VASTGOED] ([AANBESTEDING_ID]); -- AANBESTEDING_VASTGOED (many-to-many junction, Connector_ID: 588) ALTER TABLE [KP_ANBSTDNG_VSTGD_ANBSTDNG] ADD CONSTRAINT FK_KP_ANBSTDNG_VSTGD_ANBSTDNG_2 FOREIGN KEY ([AANBESTEDING_ID]) REFERENCES [AANBESTEDING] ([AANBESTEDING_ID]); -- AANBESTEDING (many-to-many junction, Connector_ID: 588) ALTER TABLE [WERKBON] ADD CONSTRAINT FK_WERKBON_VOERT_WERK_UIT_CONFORM FOREIGN KEY ([VOERT_WERK_UIT_CONFORM_RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- VOERT_WERK_UIT_CONFORM (1 to 0..*, Connector_ID: 538) ALTER TABLE [WERKBON] ADD CONSTRAINT FK_WERKBON_BETREFT FOREIGN KEY ([BETREFT_VASTGOEDOBJECT_ID]) REFERENCES [VASTGOEDOBJECT] ([VASTGOEDOBJECT_ID]); -- BETREFT (0..* to 1, Connector_ID: 542) ALTER TABLE [OBJECTRELATIE] ADD CONSTRAINT FK_OBJECTRELATIE_HEEFT FOREIGN KEY ([HEEFT_VASTGOEDOBJECT_ID]) REFERENCES [VASTGOEDOBJECT] ([VASTGOEDOBJECT_ID]); -- HEEFT (1 to 0..*, Connector_ID: 556) ALTER TABLE [WERKBON] ADD CONSTRAINT FK_WERKBON_UITVOERING_VAN FOREIGN KEY ([UITVOERING_VAN_AANBESTEDING_ID]) REFERENCES [AANBESTEDING] ([AANBESTEDING_ID]); -- UITVOERING_VAN (0..1 to 0..*, Connector_ID: 587) ALTER TABLE [OBJECTRELATIE] ADD CONSTRAINT FK_OBJECTRELATIE_HEEFT_2 FOREIGN KEY ([HEEFT_RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- HEEFT (1 to 0..*, Connector_ID: 1902) ALTER TABLE [OBJECTRELATIE] ADD CONSTRAINT FK_OBJECTRELATIE_ROL_ENUM_ID FOREIGN KEY ([ROL_ENUM_ID_OBJECTRELATIEROL_ENUM_ID]) REFERENCES [OBJECTRELATIEROL_ENUM] ([OBJECTRELATIEROL_ENUM_ID]); -- ROL_ENUM_ID (1 to 1, Connector_ID: enum_ref)