CREATE TABLE RECHTSPERSOON ( RECHTSPERSOON_ID INTEGER 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 RAADSCOMMISSIE ( RAADSCOMMISSIE_ID INTEGER PRIMARY KEY, NAAM VARCHAR(255) ); CREATE TABLE STEMMINGSRESULTAATTYPE_ENUM ( STEMMINGSRESULTAATTYPE_ENUM_ID INTEGER PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO STEMMINGSRESULTAATTYPE_ENUM (STEMMINGSRESULTAATTYPE_ENUM_ID, VALUE) VALUES (1, 'GELIJK'), (2, 'TEGEN'), (3, 'VOOR'); CREATE TABLE STEMMINGSTYPE_ENUM ( STEMMINGSTYPE_ENUM_ID INTEGER PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO STEMMINGSTYPE_ENUM (STEMMINGSTYPE_ENUM_ID, VALUE) VALUES (1, 'HOOFDELIJK'), (2, 'REGULIER'), (3, 'SCHRIFTELIJK'); CREATE TABLE RAADSSTUK ( RAADSSTUK_ID INTEGER PRIMARY KEY, BESLOTEN BOOLEAN, DATUMEXPIRATIE DATE, DATUMPUBLICATIE DATE, DATUMREGISTRATIE DATE, TYPERAADSSTUK VARCHAR(80) ); CREATE TABLE DEELNEMERSROL_ENUM ( DEELNEMERSROL_ENUM_ID INTEGER PRIMARY KEY, VALUE VARCHAR(255) ); INSERT INTO DEELNEMERSROL_ENUM (DEELNEMERSROL_ENUM_ID, VALUE) VALUES (1, 'INSPREKER'), (2, 'OVERIG'), (3, 'PORTEFEUILLEHOUDER'), (4, 'RAADSLID'), (5, 'STATENLID'), (6, 'VICE_VOORZITTER'), (7, 'VOORZITTER'); CREATE TABLE INGEZETENE ( INGEZETENE_ID INTEGER PRIMARY KEY, AANDUIDINGEUROPEESKIESRECHT BOOLEAN, AANDUIDINGUITGESLOTENKIESRECHT BOOLEAN, DATUMVERKRIJGINGVERBLIJFSTITEL DATE, DATUMVERLIESVERBLIJFSTITEL DATE, INDICATIEBLOKKERING VARCHAR(255), INDICATIECURATELEREGISTER VARCHAR(255), INDICATIEGEZAGMINDERJARIGE VARCHAR(255) ); CREATE TABLE DOCUMENT ( DOCUMENT_ID INTEGER PRIMARY KEY, COCUMENTBESCHRIJVING VARCHAR(255), DATUMCREATIEDOCUMENT DATE, DATUMONTVANGSTDOCUMENT DATE, DATUMVERZENDINGDOCUMENT DATE, DOCUMENTAUTEUR VARCHAR(200), DOCUMENTIDENTIFICATIE VARCHAR(255), DOCUMENTTITEL VARCHAR(200), VERTROUWELIJKAANDUIDING VARCHAR(20) ); 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 VERGADERING ( VERGADERING_ID INTEGER PRIMARY KEY, EINDTIJD TIMESTAMP, HEEFT_RAADSCOMMISSIE_ID INTEGER, HEEFT_VERSLAG_RAADSSTUK_ID INTEGER, LOCATIE VARCHAR(255), STARTTIJD TIMESTAMP, TITEL VARCHAR(255) ); CREATE TABLE COLLEGELID ( INGEZETENE_ID INTEGER PRIMARY KEY, ACHTERNAAM VARCHAR(255), DATUMAANSTELLING DATE, DATUMUITTREDING DATE, FRACTIE VARCHAR(255), PORTEFEUILLE VARCHAR(200), TITEL VARCHAR(80), VOORNAAM VARCHAR(255) ); CREATE TABLE AANWEZIGE_DEELNEMER ( AANWEZIGE_DEELNEMER_ID INTEGER PRIMARY KEY, AANVANGAANWEZIGHEID VARCHAR(255), EINDEAANWEZIGHEID DATE, IS_INGEZETENE_ID INTEGER, IS_RECHTSPERSOON_ID INTEGER, NAAM VARCHAR(255), ROL_ENUM_ID INTEGER, VERGADERING_ID INTEGER, VERTEGENWOORDIGTORGANISATIE VARCHAR(255) ); CREATE TABLE INDIENER ( INDIENER_ID INTEGER PRIMARY KEY, IS_INGEZETENE_ID INTEGER, IS_RECHTSPERSOON_ID INTEGER, NAAM VARCHAR(255), OMSCHRIJVING TEXT ); CREATE TABLE KP_RDSSTK_DCMNT ( KP_RDSSTK_DCMNT_ID INTEGER PRIMARY KEY, RAADSSTUK_ID INTEGER, DOCUMENT_ID INTEGER ); CREATE TABLE KP_NTRLJKPRSN_RCHTSPRSN ( KP_NTRLJKPRSN_RCHTSPRSN_ID INTEGER PRIMARY KEY, NATUURLIJKPERSOON_ID INTEGER, RECHTSPERSOON_ID INTEGER ); CREATE TABLE KP_RDSSTK_VRGDRNG ( KP_RDSSTK_VRGDRNG_ID INTEGER PRIMARY KEY, RAADSSTUK_ID INTEGER, VERGADERING_ID INTEGER ); CREATE TABLE VIDEO_OPNAME ( VIDEO_OPNAME_ID INTEGER PRIMARY KEY, BESTANDSGROOTTE INTEGER, BETREFT_VERGADERING_ID INTEGER, DATUMTIJD TIMESTAMP, LENGTE INTEGER, VIDEOFORMAAT VARCHAR(80) ); CREATE TABLE KP_CLLGLD_INGZTN ( KP_CLLGLD_INGZTN_ID INTEGER PRIMARY KEY, COLLEGELID_ID INTEGER, INGEZETENE_ID INTEGER ); CREATE TABLE RAADSLID ( INGEZETENE_ID INTEGER PRIMARY KEY, ACHTERNAAM VARCHAR(255), DATUMAANSTELLING DATE, DATUMUITTREDING DATE, FRACTIE VARCHAR(255), IS_AANWEZIGE_DEELNEMER_ID INTEGER, TITEL VARCHAR(80), VOORNAAM VARCHAR(255) ); CREATE TABLE KP_INDNR_RDSSTK ( KP_INDNR_RDSSTK_ID INTEGER PRIMARY KEY, INDIENER_ID INTEGER, RAADSSTUK_ID INTEGER ); CREATE TABLE AGENDAPUNT ( AGENDAPUNT_ID INTEGER PRIMARY KEY, BETREFT_VIDEO_OPNAME_ID INTEGER, HEEFT_VERGADERING_ID INTEGER, NUMMER INTEGER, OMSCHRIJVING TEXT, TITEL VARCHAR(255) ); CREATE TABLE KP_RDSLD_INGZTN ( KP_RDSLD_INGZTN_ID INTEGER PRIMARY KEY, RAADSLID_ID INTEGER, INGEZETENE_ID INTEGER ); CREATE TABLE KP_RDSLD_RDSCMMSS ( KP_RDSLD_RDSCMMSS_ID INTEGER PRIMARY KEY, RAADSLID_ID INTEGER, RAADSCOMMISSIE_ID INTEGER ); CREATE TABLE KP_RDSSTK_AGNDPNT ( KP_RDSSTK_AGNDPNT_ID INTEGER PRIMARY KEY, RAADSSTUK_ID INTEGER, AGENDAPUNT_ID INTEGER ); CREATE TABLE STEMMING ( STEMMING_ID INTEGER PRIMARY KEY, BETREFT_RAADSSTUK_ID INTEGER, HOORT_BIJ_AGENDAPUNT_ID INTEGER, RESULTAAT_ENUM_ID INTEGER, STEMMINGSTYPE_ENUM_ID INTEGER ); ALTER TABLE COLLEGELID ADD CONSTRAINT FK_COLLEGELID_GEN_INGEZETENE FOREIGN KEY (INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- Generalization to INGEZETENE ALTER TABLE RAADSLID ADD CONSTRAINT FK_RAADSLID_GEN_INGEZETENE FOREIGN KEY (INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- Generalization to INGEZETENE ALTER TABLE NATUURLIJKPERSOON ADD CONSTRAINT FK_NATUURLIJKPERSOON_GEN_RECHTSPERSOON FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- Generalization to RECHTSPERSOON ALTER TABLE KP_RDSSTK_VRGDRNG ADD CONSTRAINT FK_KP_RDSSTK_VRGDRNG_1 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- RAADSSTUK (many-to-many junction, Connector_ID: 1336) ALTER TABLE KP_RDSSTK_VRGDRNG ADD CONSTRAINT FK_KP_RDSSTK_VRGDRNG_2 FOREIGN KEY (VERGADERING_ID) REFERENCES VERGADERING (VERGADERING_ID); -- VERGADERING (many-to-many junction, Connector_ID: 1336) ALTER TABLE KP_RDSSTK_DCMNT ADD CONSTRAINT FK_KP_RDSSTK_DCMNT_1 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- RAADSSTUK (many-to-many junction, Connector_ID: 1337) ALTER TABLE KP_RDSSTK_DCMNT ADD CONSTRAINT FK_KP_RDSSTK_DCMNT_2 FOREIGN KEY (DOCUMENT_ID) REFERENCES DOCUMENT (DOCUMENT_ID); -- DOCUMENT (many-to-many junction, Connector_ID: 1337) ALTER TABLE KP_RDSLD_INGZTN ADD CONSTRAINT FK_KP_RDSLD_INGZTN_1 FOREIGN KEY (RAADSLID_ID) REFERENCES RAADSLID (INGEZETENE_ID); -- RAADSLID (many-to-many junction, Connector_ID: 1338) ALTER TABLE KP_RDSLD_INGZTN ADD CONSTRAINT FK_KP_RDSLD_INGZTN_2 FOREIGN KEY (INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- INGEZETENE (many-to-many junction, Connector_ID: 1338) ALTER TABLE KP_RDSLD_RDSCMMSS ADD CONSTRAINT FK_KP_RDSLD_RDSCMMSS_1 FOREIGN KEY (RAADSLID_ID) REFERENCES RAADSLID (INGEZETENE_ID); -- RAADSLID (many-to-many junction, Connector_ID: 1339) ALTER TABLE KP_RDSLD_RDSCMMSS ADD CONSTRAINT FK_KP_RDSLD_RDSCMMSS_2 FOREIGN KEY (RAADSCOMMISSIE_ID) REFERENCES RAADSCOMMISSIE (RAADSCOMMISSIE_ID); -- RAADSCOMMISSIE (many-to-many junction, Connector_ID: 1339) ALTER TABLE KP_INDNR_RDSSTK ADD CONSTRAINT FK_KP_INDNR_RDSSTK_1 FOREIGN KEY (INDIENER_ID) REFERENCES INDIENER (INDIENER_ID); -- INDIENER (many-to-many junction, Connector_ID: 1343) ALTER TABLE KP_INDNR_RDSSTK ADD CONSTRAINT FK_KP_INDNR_RDSSTK_2 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- RAADSSTUK (many-to-many junction, Connector_ID: 1343) ALTER TABLE KP_CLLGLD_INGZTN ADD CONSTRAINT FK_KP_CLLGLD_INGZTN_1 FOREIGN KEY (COLLEGELID_ID) REFERENCES COLLEGELID (INGEZETENE_ID); -- COLLEGELID (many-to-many junction, Connector_ID: 1347) ALTER TABLE KP_CLLGLD_INGZTN ADD CONSTRAINT FK_KP_CLLGLD_INGZTN_2 FOREIGN KEY (INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- INGEZETENE (many-to-many junction, Connector_ID: 1347) ALTER TABLE KP_RDSSTK_AGNDPNT ADD CONSTRAINT FK_KP_RDSSTK_AGNDPNT_1 FOREIGN KEY (RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- RAADSSTUK (many-to-many junction, Connector_ID: 1350) ALTER TABLE KP_RDSSTK_AGNDPNT ADD CONSTRAINT FK_KP_RDSSTK_AGNDPNT_2 FOREIGN KEY (AGENDAPUNT_ID) REFERENCES AGENDAPUNT (AGENDAPUNT_ID); -- AGENDAPUNT (many-to-many junction, Connector_ID: 1350) 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 VIDEO_OPNAME ADD CONSTRAINT FK_VIDEO_OPNAME_BETREFT FOREIGN KEY (BETREFT_VERGADERING_ID) REFERENCES VERGADERING (VERGADERING_ID); -- BETREFT (1 to 0..*, Connector_ID: 1332) ALTER TABLE STEMMING ADD CONSTRAINT FK_STEMMING_BETREFT FOREIGN KEY (BETREFT_RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- BETREFT (0..1 to 1, Connector_ID: 1333) ALTER TABLE VERGADERING ADD CONSTRAINT FK_VERGADERING_HEEFT_VERSLAG FOREIGN KEY (HEEFT_VERSLAG_RAADSSTUK_ID) REFERENCES RAADSSTUK (RAADSSTUK_ID); -- HEEFT_VERSLAG (0..1 to 0..1, Connector_ID: 1334) ALTER TABLE VERGADERING ADD CONSTRAINT FK_VERGADERING_HEEFT FOREIGN KEY (HEEFT_RAADSCOMMISSIE_ID) REFERENCES RAADSCOMMISSIE (RAADSCOMMISSIE_ID); -- HEEFT (0..1 to 0..*, Connector_ID: 1340) ALTER TABLE INDIENER ADD CONSTRAINT FK_INDIENER_IS FOREIGN KEY (IS_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- IS (0..1 to 0..1, Connector_ID: 1342) ALTER TABLE INDIENER ADD CONSTRAINT FK_INDIENER_IS_2 FOREIGN KEY (IS_INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- IS (0..1 to 0..1, Connector_ID: 1344) ALTER TABLE INDIENER ADD CONSTRAINT FK_INDIENER_IS_3 FOREIGN KEY (IS_INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- IS (0..1 to 0..1, Connector_ID: 1346) ALTER TABLE AGENDAPUNT ADD CONSTRAINT FK_AGENDAPUNT_HEEFT FOREIGN KEY (HEEFT_VERGADERING_ID) REFERENCES VERGADERING (VERGADERING_ID); -- HEEFT (1 to 0..*, Connector_ID: 1351) ALTER TABLE STEMMING ADD CONSTRAINT FK_STEMMING_HOORT_BIJ FOREIGN KEY (HOORT_BIJ_AGENDAPUNT_ID) REFERENCES AGENDAPUNT (AGENDAPUNT_ID); -- HOORT_BIJ (0..* to 0..1, Connector_ID: 1352) ALTER TABLE RAADSLID ADD CONSTRAINT FK_RAADSLID_IS FOREIGN KEY (IS_AANWEZIGE_DEELNEMER_ID) REFERENCES AANWEZIGE_DEELNEMER (AANWEZIGE_DEELNEMER_ID); -- IS (0..1 to 0..1, Connector_ID: 1353) ALTER TABLE AANWEZIGE_DEELNEMER ADD CONSTRAINT FK_AANWEZIGE_DEELNEMER_VERGADERING FOREIGN KEY (VERGADERING_ID) REFERENCES VERGADERING (VERGADERING_ID); -- unnamed (1 to 0..*, Connector_ID: 1354) ALTER TABLE AANWEZIGE_DEELNEMER ADD CONSTRAINT FK_AANWEZIGE_DEELNEMER_IS FOREIGN KEY (IS_RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- IS (0..1 to 0..1, Connector_ID: 1355) ALTER TABLE AANWEZIGE_DEELNEMER ADD CONSTRAINT FK_AANWEZIGE_DEELNEMER_IS_2 FOREIGN KEY (IS_INGEZETENE_ID) REFERENCES INGEZETENE (INGEZETENE_ID); -- IS (0..1 to 0..1, Connector_ID: 1356) ALTER TABLE AGENDAPUNT ADD CONSTRAINT FK_AGENDAPUNT_BETREFT FOREIGN KEY (BETREFT_VIDEO_OPNAME_ID) REFERENCES VIDEO_OPNAME (VIDEO_OPNAME_ID); -- BETREFT (0..1 to 0..*, Connector_ID: 2221) ALTER TABLE AANWEZIGE_DEELNEMER ADD CONSTRAINT FK_AANWEZIGE_DEELNEMER_ROL_ENUM_ID FOREIGN KEY (ROL_ENUM_ID_DEELNEMERSROL_ENUM_ID) REFERENCES DEELNEMERSROL_ENUM (DEELNEMERSROL_ENUM_ID); -- ROL_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE STEMMING ADD CONSTRAINT FK_STEMMING_RESULTAAT_ENUM_ID FOREIGN KEY (RESULTAAT_ENUM_ID_STEMMINGSRESULTAATTYPE_ENUM_ID) REFERENCES STEMMINGSRESULTAATTYPE_ENUM (STEMMINGSRESULTAATTYPE_ENUM_ID); -- RESULTAAT_ENUM_ID (1 to 1, Connector_ID: enum_ref) ALTER TABLE STEMMING ADD CONSTRAINT FK_STEMMING_STEMMINGSTYPE_ENUM_ID FOREIGN KEY (STEMMINGSTYPE_ENUM_ID_STEMMINGSTYPE_ENUM_ID) REFERENCES STEMMINGSTYPE_ENUM (STEMMINGSTYPE_ENUM_ID); -- STEMMINGSTYPE_ENUM_ID (1 to 1, Connector_ID: enum_ref)