CREATE TABLE [ENUMHUISHOUDENSSOORT_ENUM] ( [ENUMHUISHOUDENSSOORT_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [ENUMHUISHOUDENSSOORT_ENUM] ([ENUMHUISHOUDENSSOORT_ENUM_ID], VALUE) VALUES (1, 'INSTITUUTTIONEEL_HUISHOUDEN'), (2, 'PARTICULIER_HUISHOUDEN'); CREATE TABLE [ENUMSCHULDENSOORT_ENUM] ( [ENUMSCHULDENSOORT_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [ENUMSCHULDENSOORT_ENUM] ([ENUMSCHULDENSOORT_ENUM_ID], VALUE) VALUES (1, 'NUTS'), (2, 'OVERIG'), (3, 'PUBLIEK'), (4, 'ZORG'); CREATE TABLE [ONDERNEMER] ( [ONDERNEMER_ID] INT PRIMARY KEY, [EINDDATUM] DATE, [STARTDATUM] DATE ); 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 [ENUMWONINGBEZIT_ENUM] ( [ENUMWONINGBEZIT_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO [ENUMWONINGBEZIT_ENUM] ([ENUMWONINGBEZIT_ENUM_ID], VALUE) VALUES (1, 'EIGEN_WONING'), (2, 'HUURWONING'), (3, 'HUURWONING_GEEN_HUURTOESLAG'), (4, 'HUURWONING_WEL_HUURTOESLAG'); CREATE TABLE [HUISHOUDEN] ( [HUISHOUDEN_ID] INT PRIMARY KEY, [SOORT_ENUM_ID] INT ); CREATE TABLE [SCHULDEISER] ( [RECHTSPERSOON_ID] INT PRIMARY KEY, [NAAM] VARCHAR(200), [PEILDATUM] DATE ); CREATE TABLE [WONINGBEZIT] ( [WONINGBEZIT_ID] INT PRIMARY KEY, [EINDDATUM] DATE, [SOORT_ENUM_ID] INT, [STARTDATUM] DATE ); CREATE TABLE [NATUURLIJKPERSOON] ( [RECHTSPERSOON_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), [MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID] INT, [NATIONALITEIT] VARCHAR(100), [OVERLIJDENSPLAATS] VARCHAR(200), [VOORLETTERSAANSCHRIJVING] VARCHAR(20), [VOORNAMEN] VARCHAR(200), [VOORNAMENAANSCHRIJVING] VARCHAR(200), [VOORVOEGSELGESLACHTSNAAM] VARCHAR(80) ); CREATE TABLE [CLIENT] ( [CLIENT_ID] INT PRIMARY KEY, [CODE] VARCHAR(80), [GEZAGSDRAGERGEKEND] BIT, [JURIDISCHESTATUS] VARCHAR(80), [MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID] INT, [WETTELIJKEVERTEGENWOORDIGING] VARCHAR(80) ); CREATE TABLE [KP_SCHLDSR_RCHTSPRSN] ( [KP_SCHLDSR_RCHTSPRSN_ID] INT PRIMARY KEY, [SCHULDEISER_ID] INT, [RECHTSPERSOON_ID] INT ); CREATE TABLE [KP_NTRLJKPRSN_RCHTSPRSN] ( [KP_NTRLJKPRSN_RCHTSPRSN_ID] INT PRIMARY KEY, [NATUURLIJKPERSOON_ID] INT, [RECHTSPERSOON_ID] INT ); CREATE TABLE [SCHULDHULPTRAJECT] ( [SCHULDHULPTRAJECT_ID] INT PRIMARY KEY, [EINDDATUM] DATE, [HEEFT_TRAJECT_CLIENT_ID] INT, [OMSCHRIJVING] NVARCHAR(MAX), [STARTDATUM] DATE, [TOEKENNINGSDATUM] DATE, [TOTAALSCHULDBEDRAGBIJAANVANGSCHULD] DECIMAL(10,2) ); CREATE TABLE [LEEFSITUATIE] ( [LEEFSITUATIE_ID] INT PRIMARY KEY, [DATUMGELDIGTOT] DATE, [DATUMGELDIGVANAF] DATE, [HEEFT_FINANCIELE_SITUATIE_CLIENT_ID] INT, [IS_ONDERNEMER_ID] INT ); CREATE TABLE [SCHULD] ( [SCHULD_ID] INT PRIMARY KEY, [BEDRAG] DECIMAL(10,2), [HEEFT_SCHULDHULPTRAJECT_ID] INT, [PEILDATUM] DATE, [SCHULDSOORT_ENUM_ID] INT, [SCHULD_BIJ_RECHTSPERSOON_ID] INT, [ZAKELIJKESCHULD] BIT ); CREATE TABLE [PARTNER] ( [RECHTSPERSOON_ID] INT PRIMARY KEY, [DATUMTOT] DATE, [DATUMVANAF] DATE, [GETROUWDOFGEREGISTREERDPARTNER] BIT, [HEEFT_LEEFSITUATIE_ID] INT, [SAMENWONEND] BIT ); CREATE TABLE [KP_LFSTT_WNNGBZT] ( [KP_LFSTT_WNNGBZT_ID] INT PRIMARY KEY, [LEEFSITUATIE_ID] INT, [WONINGBEZIT_ID] INT ); CREATE TABLE [INKOMEN] ( [INKOMEN_ID] INT PRIMARY KEY, [BRUTOBEDRAG] DECIMAL(10,2), [EINDDATUM] DATE, [HEEFT_LEEFSITUATIE_ID] INT, [INKOMENSCATEGORIE] INT, [INKOMSTENBRON] INT, [NETTOBEDRAG] DECIMAL(10,2), [STARTDATUM] DATE ); CREATE TABLE [KP_PRTNR_NTRLJKPRSN] ( [KP_PRTNR_NTRLJKPRSN_ID] INT PRIMARY KEY, [PARTNER_ID] INT, [NATUURLIJKPERSOON_ID] INT ); ALTER TABLE [PARTNER] ADD CONSTRAINT FK_PARTNER_GEN_NATUURLIJKPERSOON FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [NATUURLIJKPERSOON] ([RECHTSPERSOON_ID]); -- Generalization to NATUURLIJKPERSOON ALTER TABLE [SCHULDEISER] ADD CONSTRAINT FK_SCHULDEISER_GEN_RECHTSPERSOON FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- Generalization to RECHTSPERSOON ALTER TABLE [NATUURLIJKPERSOON] ADD CONSTRAINT FK_NATUURLIJKPERSOON_GEN_RECHTSPERSOON FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- Generalization to RECHTSPERSOON ALTER TABLE [KP_SCHLDSR_RCHTSPRSN] ADD CONSTRAINT FK_KP_SCHLDSR_RCHTSPRSN_1 FOREIGN KEY ([SCHULDEISER_ID]) REFERENCES [SCHULDEISER] ([RECHTSPERSOON_ID]); -- SCHULDEISER (many-to-many junction, Connector_ID: 969) ALTER TABLE [KP_SCHLDSR_RCHTSPRSN] ADD CONSTRAINT FK_KP_SCHLDSR_RCHTSPRSN_2 FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 969) ALTER TABLE [KP_PRTNR_NTRLJKPRSN] ADD CONSTRAINT FK_KP_PRTNR_NTRLJKPRSN_1 FOREIGN KEY ([PARTNER_ID]) REFERENCES [PARTNER] ([RECHTSPERSOON_ID]); -- PARTNER (many-to-many junction, Connector_ID: 973) ALTER TABLE [KP_PRTNR_NTRLJKPRSN] ADD CONSTRAINT FK_KP_PRTNR_NTRLJKPRSN_2 FOREIGN KEY ([NATUURLIJKPERSOON_ID]) REFERENCES [NATUURLIJKPERSOON] ([RECHTSPERSOON_ID]); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 973) ALTER TABLE [KP_LFSTT_WNNGBZT] ADD CONSTRAINT FK_KP_LFSTT_WNNGBZT_1 FOREIGN KEY ([LEEFSITUATIE_ID]) REFERENCES [LEEFSITUATIE] ([LEEFSITUATIE_ID]); -- LEEFSITUATIE (many-to-many junction, Connector_ID: 984) ALTER TABLE [KP_LFSTT_WNNGBZT] ADD CONSTRAINT FK_KP_LFSTT_WNNGBZT_2 FOREIGN KEY ([WONINGBEZIT_ID]) REFERENCES [WONINGBEZIT] ([WONINGBEZIT_ID]); -- WONINGBEZIT (many-to-many junction, Connector_ID: 984) ALTER TABLE [KP_NTRLJKPRSN_RCHTSPRSN] ADD CONSTRAINT FK_KP_NTRLJKPRSN_RCHTSPRSN_1 FOREIGN KEY ([NATUURLIJKPERSOON_ID]) REFERENCES [NATUURLIJKPERSOON] ([RECHTSPERSOON_ID]); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1898) ALTER TABLE [KP_NTRLJKPRSN_RCHTSPRSN] ADD CONSTRAINT FK_KP_NTRLJKPRSN_RCHTSPRSN_2 FOREIGN KEY ([RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 1898) ALTER TABLE [CLIENT] ADD CONSTRAINT FK_CLIENT_MAAKT_ONDERDEEL_UIT_VAN FOREIGN KEY ([MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID]) REFERENCES [HUISHOUDEN] ([HUISHOUDEN_ID]); -- MAAKT_ONDERDEEL_UIT_VAN (0..* to 1, Connector_ID: 949) ALTER TABLE [SCHULDHULPTRAJECT] ADD CONSTRAINT FK_SCHULDHULPTRAJECT_HEEFT_TRAJECT FOREIGN KEY ([HEEFT_TRAJECT_CLIENT_ID]) REFERENCES [CLIENT] ([CLIENT_ID]); -- HEEFT_TRAJECT (0..* to 1..2, Connector_ID: 965) ALTER TABLE [SCHULD] ADD CONSTRAINT FK_SCHULD_HEEFT FOREIGN KEY ([HEEFT_SCHULDHULPTRAJECT_ID]) REFERENCES [SCHULDHULPTRAJECT] ([SCHULDHULPTRAJECT_ID]); -- HEEFT (1 to 0..*, Connector_ID: 970) ALTER TABLE [SCHULD] ADD CONSTRAINT FK_SCHULD_SCHULD_BIJ FOREIGN KEY ([SCHULD_BIJ_RECHTSPERSOON_ID]) REFERENCES [RECHTSPERSOON] ([RECHTSPERSOON_ID]); -- SCHULD_BIJ (0..* to 1, Connector_ID: 971) ALTER TABLE [LEEFSITUATIE] ADD CONSTRAINT FK_LEEFSITUATIE_HEEFT_FINANCIELE_SITUATIE FOREIGN KEY ([HEEFT_FINANCIELE_SITUATIE_CLIENT_ID]) REFERENCES [CLIENT] ([CLIENT_ID]); -- HEEFT_FINANCIELE_SITUATIE (1 to 0..*, Connector_ID: 981) ALTER TABLE [LEEFSITUATIE] ADD CONSTRAINT FK_LEEFSITUATIE_IS FOREIGN KEY ([IS_ONDERNEMER_ID]) REFERENCES [ONDERNEMER] ([ONDERNEMER_ID]); -- IS (1 to 0..1, Connector_ID: 983) ALTER TABLE [PARTNER] ADD CONSTRAINT FK_PARTNER_HEEFT FOREIGN KEY ([HEEFT_LEEFSITUATIE_ID]) REFERENCES [LEEFSITUATIE] ([LEEFSITUATIE_ID]); -- HEEFT (0..1 to 0..*, Connector_ID: 985) ALTER TABLE [INKOMEN] ADD CONSTRAINT FK_INKOMEN_HEEFT FOREIGN KEY ([HEEFT_LEEFSITUATIE_ID]) REFERENCES [LEEFSITUATIE] ([LEEFSITUATIE_ID]); -- HEEFT (1 to 0..*, Connector_ID: 988) ALTER TABLE [NATUURLIJKPERSOON] ADD CONSTRAINT FK_NATUURLIJKPERSOON_MAAKT_ONDERDEEL_UIT_VAN FOREIGN KEY ([MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID]) REFERENCES [HUISHOUDEN] ([HUISHOUDEN_ID]); -- MAAKT_ONDERDEEL_UIT_VAN (1..* to 0..1, Connector_ID: 1889) ALTER TABLE [SCHULD] ADD CONSTRAINT FK_SCHULD_SCHULDSOORT_ENUM_ID FOREIGN KEY ([SCHULDSOORT_ENUM_ID_ENUMSCHULDENSOORT_ENUM_ID]) REFERENCES [ENUMSCHULDENSOORT_ENUM] ([ENUMSCHULDENSOORT_ENUM_ID]); -- SCHULDSOORT_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [WONINGBEZIT] ADD CONSTRAINT FK_WONINGBEZIT_SOORT_ENUM_ID FOREIGN KEY ([SOORT_ENUM_ID_ENUMWONINGBEZIT_ENUM_ID]) REFERENCES [ENUMWONINGBEZIT_ENUM] ([ENUMWONINGBEZIT_ENUM_ID]); -- SOORT_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE [HUISHOUDEN] ADD CONSTRAINT FK_HUISHOUDEN_SOORT_ENUM_ID FOREIGN KEY ([SOORT_ENUM_ID_ENUMHUISHOUDENSSOORT_ENUM_ID]) REFERENCES [ENUMHUISHOUDENSSOORT_ENUM] ([ENUMHUISHOUDENSSOORT_ENUM_ID]); -- SOORT_ENUM_ID (1 to 1, Connector_ID: enum_ref)