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_ENUM_ID` INT, `INDICATIEOVERLEDEN_ENUM_ID` INT, `LANDOVERLIJDEN` VARCHAR(255), `NATIONALITEIT` VARCHAR(100), `OVERLIJDENSPLAATS` VARCHAR(200), `VOORLETTERSAANSCHRIJVING` VARCHAR(20), `VOORNAMEN` VARCHAR(200), `VOORNAMENAANSCHRIJVING` VARCHAR(200), `VOORVOEGSELGESLACHTSNAAM` VARCHAR(80) ) ENGINE=InnoDB; CREATE TABLE `KP_NTRLJKPRSN_RCHTSPRSN` ( `KP_NTRLJKPRSN_RCHTSPRSN_ID` INT PRIMARY KEY, `NATUURLIJKPERSOON_ID` INT, `RECHTSPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `ADRESSEERBAAROBJECT` ( `ADRESSEERBAAROBJECT_ID` INT PRIMARY KEY, `HEEFT_ALS_HOOFDADRES_NUMMERAANDUIDING_ID` INT, `IDENTIFICATIE` VARCHAR(255), `TYPEADRESSEERBAAROBJECT` VARCHAR(255), `VERSIE` INT ) ENGINE=InnoDB; CREATE TABLE `KP_NTNTRLJKPRSN_RCHTSPRSN` ( `KP_NTNTRLJKPRSN_RCHTSPRSN_ID` INT PRIMARY KEY, `NIETNATUURLIJKPERSOON_ID` INT, `RECHTSPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `SBIACTIVITEIT` ( `SBIACTIVITEIT_ID` INT PRIMARY KEY, `DATUMEINDESBIACTIVITEIT` DATE, `DATUMINGANGSBIACTIVITEIT` DATE, `HOOFDNIVEAU` VARCHAR(255), `HOOFDNIVEAUOMSCHRIJVING` VARCHAR(100), `NAAMACTIVITEIT` VARCHAR(255), `SBICODE` VARCHAR(255), `SBIGROEP` VARCHAR(255), `SBIGROEPOMSCHRIJVING` VARCHAR(100) ) ENGINE=InnoDB; CREATE TABLE `MAATSCHAPPELIJKEACTIVITEIT` ( `MAATSCHAPPELIJKEACTIVITEIT_ID` INT PRIMARY KEY, `ADRESBINNENLAND` VARCHAR(255), `ADRESCORRESPONDENTIE` VARCHAR(100), `DATUMAANVANG` DATE, `DATUMEINDEGELDIG` DATE, `DATUMFAILLISEMENT` DATE, `HEEFT_ALS_EIGENAAR_RECHTSPERSOON_ID` INT, `INDICATIEECONOMISCHACTIEF_ENUM_ID` INT, `IS_FUNCTIONARIS_VAN_RECHTSPERSOON_ID` INT, `KVKNUMMER` VARCHAR(255), `RECHTSVORM` VARCHAR(100), `RSIN` VARCHAR(255), `STATUTAIRENAAM` VARCHAR(100), `TELEFOONNUMMER` VARCHAR(20), `URL` VARCHAR(100) ) ENGINE=InnoDB; CREATE TABLE `NIETNATUURLIJKPERSOON` ( `RECHTSPERSOON_ID` INT PRIMARY KEY, `DATUMAANVANG` DATE, `DATUMEINDE` DATE, `DATUMUITSCHRIJVING` DATE, `DATUMVOORTZETTING` DATE, `FAXNUMMER` VARCHAR(20), `INGESCHREVEN_ENUM_ID` INT, `INOPRICHTING_ENUM_ID` INT, `KVKNUMMER` VARCHAR(255), `NNPID` VARCHAR(255), `RECHTSVORM_ENUM_ID` INT, `RSINNUMMER` VARCHAR(255), `STATUTAIRENAAM` VARCHAR(255), `STATUTAIREZETEL` VARCHAR(255), `WEBSITEURL` VARCHAR(200) ) ENGINE=InnoDB; CREATE TABLE `VESTIGING` ( `VESTIGING_ID` INT PRIMARY KEY, `COMMERCIELEVESTIGING_ENUM_ID` INT, `DATUMAANVANG` DATE, `DATUMEINDE` DATE, `DATUMVOORTZETTING` DATE, `FULLTIMEWERKZAMEMANNEN` VARCHAR(255), `FULLTIMEWERKZAMEVROUWEN` VARCHAR(255), `HANDELSNAAM` VARCHAR(255), `HEEFT_ALS_LOCATIE_ADRES_NUMMERAANDUIDING_ID` INT, `HEEFT_HOOFDLOCATIE_IN_OF_OP_ADRESSEERBAAROBJECT_ID` INT, `HEEFT_NEVENLOCATIE_IN_OF_OP_ADRESSEERBAAROBJECT_ID` INT, `HEEFT_RECHTSPERSOON_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) ) ENGINE=InnoDB; CREATE TABLE `SBIACTIVITEITVESTIGING` ( `SBIACTIVITEITVESTIGING_ID` INT PRIMARY KEY, `INDICATIEHOOFDACTIVITEIT` VARCHAR(100), `SBICODE` VARCHAR(50), `VESTIGING_ID` INT ) ENGINE=InnoDB; CREATE TABLE `NUMMERAANDUIDING` ( `NUMMERAANDUIDING_ID` INT PRIMARY KEY, `BEGINGELDIGHEID` DATE, `DATUMEINDE` DATE, `DATUMINGANG` DATE, `DOCUMENTDATUM` DATE, `DOCUMENTNUMMER` INT, `EINDEGELDIGHEID` DATE, `GECONSTATEERD_ENUM_ID` INT, `GEOMETRIE` GEOMETRY, `HEEFT_ALS_NEVENADRES_ADRESSEERBAAROBJECT_ID` INT, `HUISLETTER` VARCHAR(255), `HUISNUMMER` VARCHAR(255), `HUISNUMMERTOEVOEGING` VARCHAR(255), `IDENTIFICATIE` VARCHAR(255), `POSTCODE` VARCHAR(255), `STATUS` VARCHAR(255), `TYPEADRESSEERBAAROBJECT` VARCHAR(255), `VERSIE` INT ) 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 `SOORTRECHTSVORM_ENUM` ( `SOORTRECHTSVORM_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; INSERT INTO `SOORTRECHTSVORM_ENUM` (`SOORTRECHTSVORM_ENUM_ID`, VALUE) VALUES (1, 'BESLOTEN_VENNOOTSCHAP'), (2, 'COMMANDITAIRE_VENNOOTSCHAP'), (3, 'COOPERATIE_EUROPEES_ECONOMISCHE_SAMENWERKING'), (4, 'EUROPESE_COOPERATIEVE_VENNOOTSCHAP'), (5, 'EUROPESE_NAAMLOZE_VENNOOTSCHAP'), (6, 'KAPITAALVENNOOTSCHAP_BINNEN_EER'), (7, 'KAPITAALVENNOOTSCHAP_BUITEN_EER'), (8, 'KERKELIJKE_ORGANISATIE'), (9, 'LEEG'), (10, 'MAATSCHAP'), (11, 'NAAMLOZE_VENNOOTSCHAP'), (12, 'ONBEKEND'), (13, 'ONDERLINGE_WAARBORG_MAATSCHAPPIJ'), (14, 'OVERIGE_BUITENLANDSE_RECHTSPERSOON_VENNOOTSCHAP'), (15, 'OVERIG_PRIVAATRECHTELIJKE_RECHTSPERSOON'), (16, 'PUBLIEKRECHTELIJKE_RECHTSPERSOON'), (17, 'REDERIJ'), (18, 'STICHTING'), (19, 'VENNOOTSCHAP_ONDER_FIRMA'), (20, 'VERENIGING'), (21, 'VERENIGING_VAN_EIGENAARS'); CREATE TABLE `KP_NTNTRLJKPRSN_NTRLJKPRSN` ( `KP_NTNTRLJKPRSN_NTRLJKPRSN_ID` INT PRIMARY KEY, `NIETNATUURLIJKPERSOON_ID` INT, `NATUURLIJKPERSOON_ID` INT ) ENGINE=InnoDB; CREATE TABLE `BOOLEAN_ENUM` ( `BOOLEAN_ENUM_ID` INT PRIMARY KEY, VALUE VARCHAR(255) ) ENGINE=InnoDB; INSERT INTO `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`, VALUE) VALUES (1, 'JA'), (2, 'LEEG'), (3, 'NEE'), (4, 'ONBEKEND'); ALTER TABLE `NIETNATUURLIJKPERSOON` ADD CONSTRAINT FK_NIETNATUURLIJKPERSOON_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_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 `KP_NTNTRLJKPRSN_NTRLJKPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_1 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`RECHTSPERSOON_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` (`RECHTSPERSOON_ID`); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970) ALTER TABLE `KP_NTNTRLJKPRSN_RCHTSPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_RCHTSPRSN_1 FOREIGN KEY (`NIETNATUURLIJKPERSOON_ID`) REFERENCES `NIETNATUURLIJKPERSOON` (`RECHTSPERSOON_ID`); -- NIETNATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1971) ALTER TABLE `KP_NTNTRLJKPRSN_RCHTSPRSN` ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_RCHTSPRSN_2 FOREIGN KEY (`RECHTSPERSOON_ID`) REFERENCES `RECHTSPERSOON` (`RECHTSPERSOON_ID`); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 1971) ALTER TABLE `SBIACTIVITEITVESTIGING` ADD CONSTRAINT FK_SBIACTIVITEITVESTIGING_VESTIGING FOREIGN KEY (`VESTIGING_ID`) REFERENCES `VESTIGING` (`VESTIGING_ID`); -- unnamed (1 to 1..*, Connector_ID: 1861) 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 `MAATSCHAPPELIJKEACTIVITEIT` ADD CONSTRAINT FK_MAATSCHAPPELIJKEACTIVITEIT_HEEFT_ALS_EIGENAAR FOREIGN KEY (`HEEFT_ALS_EIGENAAR_RECHTSPERSOON_ID`) REFERENCES `RECHTSPERSOON` (`RECHTSPERSOON_ID`); -- HEEFT_ALS_EIGENAAR (0..1 to 1, Connector_ID: 1960) 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_RECHTSPERSOON_ID`) REFERENCES `RECHTSPERSOON` (`RECHTSPERSOON_ID`); -- IS_FUNCTIONARIS_VAN (0..* to 1.., Connector_ID: 1962) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT FOREIGN KEY (`HEEFT_RECHTSPERSOON_ID`) REFERENCES `RECHTSPERSOON` (`RECHTSPERSOON_ID`); -- HEEFT (1 to 0..*, Connector_ID: 1968) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT_HOOFDLOCATIE_IN_OF_OP FOREIGN KEY (`HEEFT_HOOFDLOCATIE_IN_OF_OP_ADRESSEERBAAROBJECT_ID`) REFERENCES `ADRESSEERBAAROBJECT` (`ADRESSEERBAAROBJECT_ID`); -- HEEFT_HOOFDLOCATIE_IN_OF_OP (0..* to 0..1, Connector_ID: 2240) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT_NEVENLOCATIE_IN_OF_OP FOREIGN KEY (`HEEFT_NEVENLOCATIE_IN_OF_OP_ADRESSEERBAAROBJECT_ID`) REFERENCES `ADRESSEERBAAROBJECT` (`ADRESSEERBAAROBJECT_ID`); -- HEEFT_NEVENLOCATIE_IN_OF_OP (0..* to 0..1, Connector_ID: 2244) ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_HEEFT_ALS_NEVENADRES FOREIGN KEY (`HEEFT_ALS_NEVENADRES_ADRESSEERBAAROBJECT_ID`) REFERENCES `ADRESSEERBAAROBJECT` (`ADRESSEERBAAROBJECT_ID`); -- HEEFT_ALS_NEVENADRES (1 to 0..*, Connector_ID: 2268) ALTER TABLE `ADRESSEERBAAROBJECT` ADD CONSTRAINT FK_ADRESSEERBAAROBJECT_HEEFT_ALS_HOOFDADRES FOREIGN KEY (`HEEFT_ALS_HOOFDADRES_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`); -- HEEFT_ALS_HOOFDADRES (1 to 1, Connector_ID: 2274) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_HEEFT_ALS_LOCATIE_ADRES FOREIGN KEY (`HEEFT_ALS_LOCATIE_ADRES_NUMMERAANDUIDING_ID`) REFERENCES `NUMMERAANDUIDING` (`NUMMERAANDUIDING_ID`); -- HEEFT_ALS_LOCATIE_ADRES (1 to 0..*, Connector_ID: 2282) ALTER TABLE `NUMMERAANDUIDING` ADD CONSTRAINT FK_NUMMERAANDUIDING_GECONSTATEERD_ENUM_ID FOREIGN KEY (`GECONSTATEERD_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- GECONSTATEERD_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `NIETNATUURLIJKPERSOON` ADD CONSTRAINT FK_NIETNATUURLIJKPERSOON_INOPRICHTING_ENUM_ID FOREIGN KEY (`INOPRICHTING_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- INOPRICHTING_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `NIETNATUURLIJKPERSOON` ADD CONSTRAINT FK_NIETNATUURLIJKPERSOON_RECHTSVORM_ENUM_ID FOREIGN KEY (`RECHTSVORM_ENUM_ID_SOORTRECHTSVORM_ENUM_ID`) REFERENCES `SOORTRECHTSVORM_ENUM` (`SOORTRECHTSVORM_ENUM_ID`); -- RECHTSVORM_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `NIETNATUURLIJKPERSOON` ADD CONSTRAINT FK_NIETNATUURLIJKPERSOON_INGESCHREVEN_ENUM_ID FOREIGN KEY (`INGESCHREVEN_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- INGESCHREVEN_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `MAATSCHAPPELIJKEACTIVITEIT` ADD CONSTRAINT FK_MAATSCHAPPELIJKEACTIVITEIT_INDICATIEECONOMISCHACTIEF_ENUM_ID FOREIGN KEY (`INDICATIEECONOMISCHACTIEF_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- INDICATIEECONOMISCHACTIEF_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `NATUURLIJKPERSOON` ADD CONSTRAINT FK_NATUURLIJKPERSOON_INDICATIEOVERLEDEN_ENUM_ID FOREIGN KEY (`INDICATIEOVERLEDEN_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- INDICATIEOVERLEDEN_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `NATUURLIJKPERSOON` ADD CONSTRAINT FK_NATUURLIJKPERSOON_INDICATIEAFSCHERMINGPERSOONSGEGEVENS_ENUM_ID FOREIGN KEY (`INDICATIEAFSCHERMINGPERSOONSGEGEVENS_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- INDICATIEAFSCHERMINGPERSOONSGEGEVENS_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE `VESTIGING` ADD CONSTRAINT FK_VESTIGING_COMMERCIELEVESTIGING_ENUM_ID FOREIGN KEY (`COMMERCIELEVESTIGING_ENUM_ID_BOOLEAN_ENUM_ID`) REFERENCES `BOOLEAN_ENUM` (`BOOLEAN_ENUM_ID`); -- COMMERCIELEVESTIGING_ENUM_ID (1 to 1, Connector_ID: enum_ref)