CREATE TABLE KP_NTNTRLJKPRSN_RCHTSPRSN ( KP_NTNTRLJKPRSN_RCHTSPRSN_ID INTEGER PRIMARY KEY, NIETNATUURLIJKPERSOON_ID INTEGER, RECHTSPERSOON_ID INTEGER ); CREATE TABLE KP_INGSCHRVNPRSN_NTRLJKPRSN ( KP_INGSCHRVNPRSN_NTRLJKPRSN_ID INTEGER PRIMARY KEY, INGESCHREVENPERSOON_ID INTEGER, NATUURLIJKPERSOON_ID INTEGER ); CREATE TABLE NATUURLIJKPERSOON ( RECHTSPERSOON_ID INTEGER 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), NATIONALITEIT VARCHAR(100), OVERLIJDENSPLAATS VARCHAR(200), VOORLETTERSAANSCHRIJVING VARCHAR(20), VOORNAMEN VARCHAR(200), VOORNAMENAANSCHRIJVING VARCHAR(200), VOORVOEGSELGESLACHTSNAAM VARCHAR(80) ); CREATE TABLE KP_NTNTRLJKPRSN_NTRLJKPRSN ( KP_NTNTRLJKPRSN_NTRLJKPRSN_ID INTEGER PRIMARY KEY, NIETNATUURLIJKPERSOON_ID INTEGER, NATUURLIJKPERSOON_ID INTEGER ); CREATE TABLE ADRESBUITENLAND ( ADRESBUITENLAND_ID INTEGER PRIMARY KEY, ADRESREGELBUITENLAND1 VARCHAR(50), ADRESREGELBUITENLAND2 VARCHAR(50), ADRESREGELBUITENLAND3 VARCHAR(50), DATUMAANVANGADRESBUITENLAND DATE, DATUMINSCHRIJVINGGEMEENTE DATE, DATUMVESTIGINGNEDERLAND DATE, GEMEENTEVANINSCHRIJVING VARCHAR(100), LANDADRESBUITENLAND VARCHAR(50), LANDWAARVANDAANINGESCHREVEN VARCHAR(50), OMSCHRIJVINGVANDEAANGIFTEADRESHOUDING VARCHAR(100) ); CREATE TABLE VERBLIJFSTITEL ( VERBLIJFSTITEL_ID INTEGER PRIMARY KEY, AANDUIDINGVERBLIJFSTITEL VARCHAR(255), DATUMBEGINGELDIGHEIDVERBLIJFSTITEL DATE, DATUM_BEGIN DATE, DATUM_EINDE DATE, DATUM_OPNAME DATE, VERBLIJFSTITEL_CODE VARCHAR(255) ); CREATE TABLE KP_NTRLJKPRSN_RCHTSPRSN ( KP_NTRLJKPRSN_RCHTSPRSN_ID INTEGER PRIMARY KEY, NATUURLIJKPERSOON_ID INTEGER, RECHTSPERSOON_ID INTEGER ); CREATE TABLE HUISHOUDEN ( HUISHOUDEN_ID INTEGER PRIMARY KEY, DATUMBEGINGELDIGHEIDHUISHOUDEN DATE, DATUMEINDEGELDIGHEIDHUISHOUDEN DATE, HUISHOUDENGROOTTE VARCHAR(255), HUISHOUDENNUMMER VARCHAR(255), HUISHOUDENSOORT VARCHAR(255) ); CREATE TABLE RECHTSPERSOON ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, ADRESBINNENLAND VARCHAR(255), ADRESBUITENLAND VARCHAR(255), ADRESCORRESPONDENTIE VARCHAR(100), EMAILADRES VARCHAR(80), FAXNUMMER VARCHAR(20), HEEFT_ADRESBUITENLAND_ID INTEGER, IDENTIFICATIE VARCHAR(255), KVKNUMMER VARCHAR(20), NAAM VARCHAR(200), RECHTSVORM VARCHAR(100), REKENINGNUMMER VARCHAR(255), TELEFOONNUMMER VARCHAR(20) ); CREATE TABLE NATIONALITEIT ( NATIONALITEIT_ID INTEGER PRIMARY KEY, BUITENLANDSE_NATIONALITEIT BOOLEAN, DATUM_EINDE_GELDIGHEID DATE, DATUM_INGANG_GELDIGHEID DATE, DATUM_OPNAMEN DATE, DATUM_VERLIES_NATIONALITEIT DATE, HEEFT_RECHTSPERSOON_ID INTEGER, NATIONALITEITCODE VARCHAR(255), OMSCHRIJVING VARCHAR(80), REDENVERKRIJGINGNLNATIONALITEIT VARCHAR(100), REDENVERLIESNLNATIONALITEIT VARCHAR(100) ); CREATE TABLE NIETNATUURLIJKPERSOON ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, DATUMAANVANG DATE, DATUMEINDE DATE, DATUMUITSCHRIJVING DATE, DATUMVOORTZETTING DATE, FAXNUMMER VARCHAR(20), INGESCHREVEN BOOLEAN, INOPRICHTING BOOLEAN, KVKNUMMER VARCHAR(255), NNPID VARCHAR(255), RECHTSVORM VARCHAR(255), RSINNUMMER VARCHAR(255), STATUTAIRENAAM VARCHAR(255), STATUTAIREZETEL VARCHAR(255), WEBSITEURL VARCHAR(200) ); CREATE TABLE INGEZETENE ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, AANDUIDINGEUROPEESKIESRECHT BOOLEAN, AANDUIDINGUITGESLOTENKIESRECHT BOOLEAN, DATUMVERKRIJGINGVERBLIJFSTITEL DATE, DATUMVERLIESVERBLIJFSTITEL DATE, HEEFT_VERBLIJFSTITEL_ID INTEGER, INDICATIEBLOKKERING VARCHAR(255), INDICATIECURATELEREGISTER VARCHAR(255), INDICATIEGEZAGMINDERJARIGE VARCHAR(255) ); CREATE TABLE INGESCHREVENPERSOON ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, ADRESHERKOMST VARCHAR(255), ANUMMER VARCHAR(20), BESCHRIJVINGLOCATIE VARCHAR(200), BUITENLANDSREISDOCUMENT VARCHAR(80), BURGERLIJKESTAAT VARCHAR(255), DATUMBEGINGELDIGHEIDVERBLIJFPLAATS DATE, DATUMEINDEGELDIGHEIDVERBLIJFSPLAATS DATE, DATUMINSCHRIJVINGGEMEENTE DATE, DATUMOPSCHORTINGBIJHOUDING DATE, DATUMVERTREKUITNEDERLAND DATE, DATUMVESTIGINGNEDERLAND DATE, GEMEENTEVANINSCHRIJVING VARCHAR(80), GEZINSRELATIE VARCHAR(255), HEEFT_HUISHOUDEN_ID INTEGER, INDICATIEGEHEIM BOOLEAN, INGEZETENE BOOLEAN, LANDWAARNAARVERTROKKEN VARCHAR(255), LANDWAARVANDAANINGESCHREVEN VARCHAR(255), OUDER1 VARCHAR(255), OUDER2 VARCHAR(255), OUDER_1_RECHTSPERSOON_ID INTEGER, OUDER_2_RECHTSPERSOON_ID INTEGER, PARTNERID VARCHAR(255), REDENEINDEBEWONING DATE, REDENOPSCHORTINGBIJHOUDING VARCHAR(200), SIGNALERINGREISDOCUMENT BOOLEAN, VERBLIJFSTITEL VARCHAR(255) ); CREATE TABLE KP_INGZTN_INGSCHRVNPRSN ( KP_INGZTN_INGSCHRVNPRSN_ID INTEGER PRIMARY KEY, INGEZETENE_ID INTEGER, INGESCHREVENPERSOON_ID INTEGER ); 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 INGESCHREVENPERSOON ADD CONSTRAINT FK_INGESCHREVENPERSOON_GEN_NATUURLIJKPERSOON FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES NATUURLIJKPERSOON (RECHTSPERSOON_ID); -- Generalization to NATUURLIJKPERSOON ALTER TABLE INGEZETENE ADD CONSTRAINT FK_INGEZETENE_GEN_INGESCHREVENPERSOON FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES INGESCHREVENPERSOON (RECHTSPERSOON_ID); -- Generalization to INGESCHREVENPERSOON ALTER TABLE KP_INGZTN_INGSCHRVNPRSN ADD CONSTRAINT FK_KP_INGZTN_INGSCHRVNPRSN_1 FOREIGN KEY (INGEZETENE_ID) REFERENCES INGEZETENE (RECHTSPERSOON_ID); -- INGEZETENE (many-to-many junction, Connector_ID: 1867) ALTER TABLE KP_INGZTN_INGSCHRVNPRSN ADD CONSTRAINT FK_KP_INGZTN_INGSCHRVNPRSN_2 FOREIGN KEY (INGESCHREVENPERSOON_ID) REFERENCES INGESCHREVENPERSOON (RECHTSPERSOON_ID); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1867) ALTER TABLE KP_INGSCHRVNPRSN_NTRLJKPRSN ADD CONSTRAINT FK_KP_INGSCHRVNPRSN_NTRLJKPRSN_1 FOREIGN KEY (INGESCHREVENPERSOON_ID) REFERENCES INGESCHREVENPERSOON (RECHTSPERSOON_ID); -- INGESCHREVENPERSOON (many-to-many junction, Connector_ID: 1878) ALTER TABLE KP_INGSCHRVNPRSN_NTRLJKPRSN ADD CONSTRAINT FK_KP_INGSCHRVNPRSN_NTRLJKPRSN_2 FOREIGN KEY (NATUURLIJKPERSOON_ID) REFERENCES NATUURLIJKPERSOON (RECHTSPERSOON_ID); -- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1878) 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 INGESCHREVENPERSOON ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_1 FOREIGN KEY (OUDER_1_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- OUDER_1 (1 to 1, Connector_ID: 1871) ALTER TABLE INGESCHREVENPERSOON ADD CONSTRAINT FK_INGESCHREVENPERSOON_OUDER_2 FOREIGN KEY (OUDER_2_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- OUDER_2 (1 to 1, Connector_ID: 1873) ALTER TABLE INGEZETENE ADD CONSTRAINT FK_INGEZETENE_HEEFT FOREIGN KEY (HEEFT_VERBLIJFSTITEL_ID) REFERENCES VERBLIJFSTITEL (VERBLIJFSTITEL_ID); -- HEEFT (0..* to 0..1, Connector_ID: 1875) ALTER TABLE INGESCHREVENPERSOON ADD CONSTRAINT FK_INGESCHREVENPERSOON_HEEFT FOREIGN KEY (HEEFT_HUISHOUDEN_ID) REFERENCES HUISHOUDEN (HUISHOUDEN_ID); -- HEEFT (0..1 to 1..*, Connector_ID: 1955) ALTER TABLE NATIONALITEIT ADD CONSTRAINT FK_NATIONALITEIT_HEEFT FOREIGN KEY (HEEFT_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- HEEFT (1 to 1..*, Connector_ID: 1956) ALTER TABLE RECHTSPERSOON ADD CONSTRAINT FK_RECHTSPERSOON_HEEFT FOREIGN KEY (HEEFT_ADRESBUITENLAND_ID) REFERENCES ADRESBUITENLAND (ADRESBUITENLAND_ID); -- HEEFT (1 to 0..1, Connector_ID: 1958)