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) ); CREATE TABLE [KP_NTRLJKPRSN_RCHTSPRSN] ( [KP_NTRLJKPRSN_RCHTSPRSN_ID] INT PRIMARY KEY, [NATUURLIJKPERSOON_ID] INT, [RECHTSPERSOON_ID] INT ); CREATE TABLE [ADRESSEERBAAROBJECT] ( [ADRESSEERBAAROBJECT_ID] INT PRIMARY KEY, [HEEFT_ALS_HOOFDADRES_NUMMERAANDUIDING_ID] INT, [IDENTIFICATIE] VARCHAR(255), [TYPEADRESSEERBAAROBJECT] VARCHAR(255), [VERSIE] INT ); CREATE TABLE [KP_NTNTRLJKPRSN_RCHTSPRSN] ( [KP_NTNTRLJKPRSN_RCHTSPRSN_ID] INT PRIMARY KEY, [NIETNATUURLIJKPERSOON_ID] INT, [RECHTSPERSOON_ID] INT ); 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) ); 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) ); 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) ); 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) ); CREATE TABLE [SBIACTIVITEITVESTIGING] ( [SBIACTIVITEITVESTIGING_ID] INT PRIMARY KEY, [INDICATIEHOOFDACTIVITEIT] VARCHAR(100), [SBICODE] VARCHAR(50), [VESTIGING_ID] INT ); 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 ); 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 [SOORTRECHTSVORM_ENUM] ( [SOORTRECHTSVORM_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); 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 ); CREATE TABLE [BOOLEAN_ENUM] ( [BOOLEAN_ENUM_ID] INT PRIMARY KEY, VALUE VARCHAR(255) ); 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)