CREATE TABLE [NIETNATUURLIJKPERSOON] (
    [NIETNATUURLIJKPERSOON_ID] INT PRIMARY KEY,
    [DATUMAANVANG] DATE,
    [DATUMEINDE] DATE,
    [DATUMUITSCHRIJVING] DATE,
    [DATUMVOORTZETTING] DATE,
    [FAXNUMMER] VARCHAR(20),
    [INGESCHREVEN] BIT,
    [INOPRICHTING] BIT,
    [KVKNUMMER] VARCHAR(255),
    [NNPID] VARCHAR(255),
    [RECHTSVORM] VARCHAR(255),
    [RSINNUMMER] VARCHAR(255),
    [STATUTAIRENAAM] VARCHAR(255),
    [STATUTAIREZETEL] VARCHAR(255),
    [WEBSITEURL] VARCHAR(200)
);

CREATE TABLE [NATUURLIJKPERSOON] (
    [NATUURLIJKPERSOON_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),
    [NATIONALITEIT] VARCHAR(100),
    [OVERLIJDENSPLAATS] VARCHAR(200),
    [VOORLETTERSAANSCHRIJVING] VARCHAR(20),
    [VOORNAMEN] VARCHAR(200),
    [VOORNAMENAANSCHRIJVING] VARCHAR(200),
    [VOORVOEGSELGESLACHTSNAAM] VARCHAR(80)
);

CREATE TABLE [ORGANISATORISCHEEENHEID] (
    [ORGANISATORISCHEEENHEID_ID] INT PRIMARY KEY,
    [DATUMONTSTAAN] DATE,
    [DATUMOPHEFFING] DATE,
    [EMAILADRES] VARCHAR(255),
    [FAXNUMMER] VARCHAR(20),
    [FORMATIE] VARCHAR(255),
    [IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID] INT,
    [NAAM] VARCHAR(50),
    [NAAMVERKORT] VARCHAR(255),
    [OMSCHRIJVING] VARCHAR(80),
    [ORGANISATIEIDENTIFICATIE] VARCHAR(255),
    [TELEFOONNUMMER] VARCHAR(20),
    [TOELICHTING] VARCHAR(255)
);

CREATE TABLE [KP_NTNTRLJKPRSN_NTRLJKPRSN] (
    [KP_NTNTRLJKPRSN_NTRLJKPRSN_ID] INT PRIMARY KEY,
    [NIETNATUURLIJKPERSOON_ID] INT,
    [NATUURLIJKPERSOON_ID] INT
);

CREATE TABLE [MEDEWERKER] (
    [MEDEWERKER_ID] INT PRIMARY KEY,
    [ACHTERNAAM] VARCHAR(200),
    [DATUMINDIENST] DATE,
    [DATUMUITDIENST] DATE,
    [EMAILADRES] VARCHAR(255),
    [EXTERN] BIT,
    [FUNCTIE] VARCHAR(50),
    [GESLACHTSAANDUIDING] VARCHAR(255),
    [IS_CONTACTPERSOON_VOOR_ORGANISATORISCHEEENHEID_ID] INT,
    [IS_VERANTWOORDELIJK_VOOR_ORGANISATORISCHEEENHEID_ID] INT,
    [MEDEWERKERIDENTIFICATIE] VARCHAR(255),
    [MEDEWERKERTOELICHTING] VARCHAR(255),
    [ROEPNAAM] VARCHAR(255),
    [TELEFOONNUMMER] VARCHAR(20),
    [VOORLETTERS] VARCHAR(20),
    [VOORVOEGSELACHTERNAAM] VARCHAR(255)
);

CREATE TABLE [KP_MDWRKR_ORGNSTRSCHNHD] (
    [KP_MDWRKR_ORGNSTRSCHNHD_ID] INT PRIMARY KEY,
    [MEDEWERKER_ID] INT,
    [ORGANISATORISCHEEENHEID_ID] INT
);

CREATE TABLE [BETROKKENE] (
    [BETROKKENE_ID] INT PRIMARY KEY,
    [ADRESBINNENLAND] VARCHAR(255),
    [ADRESBUITENLAND] VARCHAR(200),
    [IDENTIFICATIE] VARCHAR(50),
    [IS_MEDEWERKER_ID] INT,
    [IS_NATUURLIJKPERSOON_ID] INT,
    [IS_NIETNATUURLIJKPERSOON_ID] INT,
    [IS_ORGANISATORISCHEEENHEID_ID] INT,
    [NAAM] VARCHAR(200)
);

ALTER TABLE [KP_NTNTRLJKPRSN_NTRLJKPRSN] ADD CONSTRAINT FK_KP_NTNTRLJKPRSN_NTRLJKPRSN_1 FOREIGN KEY ([NIETNATUURLIJKPERSOON_ID]) REFERENCES [NIETNATUURLIJKPERSOON] ([NIETNATUURLIJKPERSOON_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] ([NATUURLIJKPERSOON_ID]);
-- NATUURLIJKPERSOON (many-to-many junction, Connector_ID: 1970)

ALTER TABLE [KP_MDWRKR_ORGNSTRSCHNHD] ADD CONSTRAINT FK_KP_MDWRKR_ORGNSTRSCHNHD_1 FOREIGN KEY ([MEDEWERKER_ID]) REFERENCES [MEDEWERKER] ([MEDEWERKER_ID]);
-- MEDEWERKER (many-to-many junction, Connector_ID: 2175)

ALTER TABLE [KP_MDWRKR_ORGNSTRSCHNHD] ADD CONSTRAINT FK_KP_MDWRKR_ORGNSTRSCHNHD_2 FOREIGN KEY ([ORGANISATORISCHEEENHEID_ID]) REFERENCES [ORGANISATORISCHEEENHEID] ([ORGANISATORISCHEEENHEID_ID]);
-- ORGANISATORISCHEEENHEID (many-to-many junction, Connector_ID: 2175)

ALTER TABLE [ORGANISATORISCHEEENHEID] ADD CONSTRAINT FK_ORGANISATORISCHEEENHEID_IS_DEEL_VAN FOREIGN KEY ([IS_DEEL_VAN_ORGANISATORISCHEEENHEID_ID]) REFERENCES [ORGANISATORISCHEEENHEID] ([ORGANISATORISCHEEENHEID_ID]);
-- IS_DEEL_VAN (1 to 0..1, Connector_ID: 2059)

ALTER TABLE [BETROKKENE] ADD CONSTRAINT FK_BETROKKENE_IS FOREIGN KEY ([IS_NIETNATUURLIJKPERSOON_ID]) REFERENCES [NIETNATUURLIJKPERSOON] ([NIETNATUURLIJKPERSOON_ID]);
-- IS (0..1 to 1, Connector_ID: 2159)

ALTER TABLE [BETROKKENE] ADD CONSTRAINT FK_BETROKKENE_IS_2 FOREIGN KEY ([IS_ORGANISATORISCHEEENHEID_ID]) REFERENCES [ORGANISATORISCHEEENHEID] ([ORGANISATORISCHEEENHEID_ID]);
-- IS (0..1 to 1, Connector_ID: 2161)

ALTER TABLE [BETROKKENE] ADD CONSTRAINT FK_BETROKKENE_IS_3 FOREIGN KEY ([IS_NATUURLIJKPERSOON_ID]) REFERENCES [NATUURLIJKPERSOON] ([NATUURLIJKPERSOON_ID]);
-- IS (0..1 to 1, Connector_ID: 2163)

ALTER TABLE [MEDEWERKER] ADD CONSTRAINT FK_MEDEWERKER_IS_VERANTWOORDELIJK_VOOR FOREIGN KEY ([IS_VERANTWOORDELIJK_VOOR_ORGANISATORISCHEEENHEID_ID]) REFERENCES [ORGANISATORISCHEEENHEID] ([ORGANISATORISCHEEENHEID_ID]);
-- IS_VERANTWOORDELIJK_VOOR (0..1 to 0..1, Connector_ID: 2166)

ALTER TABLE [BETROKKENE] ADD CONSTRAINT FK_BETROKKENE_IS_4 FOREIGN KEY ([IS_MEDEWERKER_ID]) REFERENCES [MEDEWERKER] ([MEDEWERKER_ID]);
-- IS (0..1 to 1, Connector_ID: 2167)

ALTER TABLE [MEDEWERKER] ADD CONSTRAINT FK_MEDEWERKER_IS_CONTACTPERSOON_VOOR FOREIGN KEY ([IS_CONTACTPERSOON_VOOR_ORGANISATORISCHEEENHEID_ID]) REFERENCES [ORGANISATORISCHEEENHEID] ([ORGANISATORISCHEEENHEID_ID]);
-- IS_CONTACTPERSOON_VOOR (0..1 to 0..1, Connector_ID: 2185)

