CREATE TABLE `ENUMHUISHOUDENSSOORT_ENUM` ( `ENUMHUISHOUDENSSOORT_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; 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) ) ENGINE=InnoDB; 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 ) ENGINE=InnoDB; 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) ) ENGINE=InnoDB; CREATE TABLE `ENUMWONINGBEZIT_ENUM` ( `ENUMWONINGBEZIT_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; 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 ) ENGINE=InnoDB; CREATE TABLE `SCHULDEISER` ( `RECHTSPERSOON_ID` INT PRIMARY KEY, `NAAM` VARCHAR(200), `PEILDATUM` DATE ) ENGINE=InnoDB; CREATE TABLE `WONINGBEZIT` ( `WONINGBEZIT_ID` INT PRIMARY KEY, `EINDDATUM` DATE, `SOORT_ENUM_ID` INT, `STARTDATUM` DATE ) ENGINE=InnoDB; 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` BOOLEAN, `INDICATIEOVERLEDEN` BOOLEAN, `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) ) ENGINE=InnoDB; CREATE TABLE `CLIENT` ( `CLIENT_ID` INT PRIMARY KEY, `CODE` VARCHAR(80), `GEZAGSDRAGERGEKEND` BOOLEAN, `JURIDISCHESTATUS` VARCHAR(80), `MAAKT_ONDERDEEL_UIT_VAN_HUISHOUDEN_ID` INT, `WETTELIJKEVERTEGENWOORDIGING` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `KP_SCHLDSR_RCHTSPRSN` ( `KP_SCHLDSR_RCHTSPRSN_ID` INT PRIMARY KEY, `SCHULDEISER_ID` INT, `RECHTSPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `KP_NTRLJKPRSN_RCHTSPRSN` ( `KP_NTRLJKPRSN_RCHTSPRSN_ID` INT PRIMARY KEY, `NATUURLIJKPERSOON_ID` INT, `RECHTSPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `SCHULDHULPTRAJECT` ( `SCHULDHULPTRAJECT_ID` INT PRIMARY KEY, `EINDDATUM` DATE, `HEEFT_TRAJECT_CLIENT_ID` INT, `OMSCHRIJVING` TEXT, `STARTDATUM` DATE, `TOEKENNINGSDATUM` DATE, `TOTAALSCHULDBEDRAGBIJAANVANGSCHULD` DECIMAL(10,2) ) ENGINE=InnoDB; CREATE TABLE `LEEFSITUATIE` ( `LEEFSITUATIE_ID` INT PRIMARY KEY, `DATUMGELDIGTOT` DATE, `DATUMGELDIGVANAF` DATE, `HEEFT_FINANCIELE_SITUATIE_CLIENT_ID` INT, `IS_ONDERNEMER_ID` INT ) ENGINE=InnoDB; 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` BOOLEAN ) ENGINE=InnoDB; CREATE TABLE `PARTNER` ( `RECHTSPERSOON_ID` INT PRIMARY KEY, `DATUMTOT` DATE, `DATUMVANAF` DATE, `GETROUWDOFGEREGISTREERDPARTNER` BOOLEAN, `HEEFT_LEEFSITUATIE_ID` INT, `SAMENWONEND` BOOLEAN ) ENGINE=InnoDB; CREATE TABLE `KP_LFSTT_WNNGBZT` ( `KP_LFSTT_WNNGBZT_ID` INT PRIMARY KEY, `LEEFSITUATIE_ID` INT, `WONINGBEZIT_ID` INT ) ENGINE=InnoDB; 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 ) ENGINE=InnoDB; CREATE TABLE `KP_PRTNR_NTRLJKPRSN` ( `KP_PRTNR_NTRLJKPRSN_ID` INT PRIMARY KEY, `PARTNER_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; 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)