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 [PROGRAMMA] ( [PROGRAMMA_ID] INT PRIMARY KEY, [NAAM] VARCHAR(80) ); 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 [ENERGIELABEL_ENUM] ( [ENERGIELABEL_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); 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) ); 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) ); CREATE TABLE [PLAN] ( [PLAN_ID] INT PRIMARY KEY, [70PROCENTVERKOCHT] BIT, [AARDGASLOOS] BIT, [BESTEMMINGGOEDGEKEURD] BIT, [BINNEN_PROGRAMMA_PROGRAMMA_ID] INT, [EERSTEOPLEVERING] DATE, [EIGENDOMGEMEENTE] BIT, [GEBIEDSTRANSFORMATIE] BIT, [INTENTIE] BIT, [IS_PROJECTLEIDER_VAN_NATUURLIJKPERSOON_ID] INT, [LAATSTEOPLEVERING] DATE, [NAAM] VARCHAR(80), [NUMMER] VARCHAR(255), [ONHERROEPELIJK] BIT, [PERCELEN] VARCHAR(255), [STARTBOUW] DATE, [STARTVERKOOP] DATE ); CREATE TABLE [PROJECTLEIDER] ( [NATUURLIJKPERSOON_ID] INT PRIMARY KEY, [NAAM] VARCHAR(80) ); CREATE TABLE [KP_NTNTRLJKPRSN_NTRLJKPRSN] ( [KP_NTNTRLJKPRSN_NTRLJKPRSN_ID] INT PRIMARY KEY, [NIETNATUURLIJKPERSOON_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_PRJCTNTWKKLR_NTNTRLJKPRSN] ( [KP_PRJCTNTWKKLR_NTNTRLJKPRSN_ID] INT PRIMARY KEY, [PROJECTONTWIKKELAAR_ID] INT, [NIETNATUURLIJKPERSOON_ID] INT ); CREATE TABLE [KP_PRJCTNTWKKLR_PLN] ( [KP_PRJCTNTWKKLR_PLN_ID] INT PRIMARY KEY, [PROJECTONTWIKKELAAR_ID] INT, [PLAN_ID] INT ); CREATE TABLE [OMGEVINGSVERGUNNING] ( [OMGEVINGSVERGUNNING_ID] INT PRIMARY KEY, [BETREKKING_OP_PLAN_ID] INT ); CREATE TABLE [GEBOUW] ( [GEBOUW_ID] INT PRIMARY KEY, [AANTAL] INT, [AANTALADRESSEN] INT, [AANTALKAMERS] INT, [AARDGASLOOS] BIT, [BESTAAT_UIT_PLAN_ID] INT, [DUURZAAM] BIT, [ENERGIELABEL_ENUM_ID] INT, [NATUURINCLUSIEF] BIT, [OPPERVLAKTE_ENUM_ID] INT, [REGENWATER] BIT ); CREATE TABLE [KP_PRJCTLDR_NTRLJKPRSN] ( [KP_PRJCTLDR_NTRLJKPRSN_ID] INT PRIMARY KEY, [PROJECTLEIDER_ID] INT, [NATUURLIJKPERSOON_ID] INT ); CREATE TABLE [HUURWONINGEN] ( [GEBOUW_ID] INT PRIMARY KEY, [HUURPRIJS] DECIMAL(10,2) ); CREATE TABLE [STUDENTENWONINGEN] ( [GEBOUW_ID] INT PRIMARY KEY, [HUURPRIJS] DECIMAL(10,2), [ZELFSTANDIG] BIT ); CREATE TABLE [KOOPWONINGEN] ( [GEBOUW_ID] INT PRIMARY KEY, [KOOPPRIJS] DECIMAL(10,2) ); CREATE TABLE [KP_HRWNNGN_GBW] ( [KP_HRWNNGN_GBW_ID] INT PRIMARY KEY, [HUURWONINGEN_ID] INT, [GEBOUW_ID] INT ); CREATE TABLE [KP_STDNTNWNNGN_GBW] ( [KP_STDNTNWNNGN_GBW_ID] INT PRIMARY KEY, [STUDENTENWONINGEN_ID] INT, [GEBOUW_ID] INT ); CREATE TABLE [KP_KPWNNGN_GBW] ( [KP_KPWNNGN_GBW_ID] INT PRIMARY KEY, [KOOPWONINGEN_ID] INT, [GEBOUW_ID] INT ); 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)