CREATE TABLE BELANGTYPE ( BELANGTYPE_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE INCIDENT ( INCIDENT_ID INTEGER PRIMARY KEY, DATUM DATE, LOCATIE VARCHAR(255), NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE HISTORISCH_PERSOON_ ( HISTORISCH_PERSOON__ID INTEGER PRIMARY KEY, BEROEP VARCHAR(200), DATUMGEBOORTE DATE, DATUMOVERLIJDEN DATE, NAAM VARCHAR(200), OMSCHRIJVING TEXT, PUBLIEKTOEGANKELIJK BOOLEAN, WOONDEOP VARCHAR(50) ); CREATE TABLE MEDEWERKER ( MEDEWERKER_ID INTEGER PRIMARY KEY, ACHTERNAAM VARCHAR(200), DATUMINDIENST DATE, DATUMUITDIENST DATE, EMAILADRES VARCHAR(255), EXTERN BOOLEAN, FUNCTIE VARCHAR(50), GESLACHTSAANDUIDING VARCHAR(255), MEDEWERKERIDENTIFICATIE VARCHAR(255), MEDEWERKERTOELICHTING VARCHAR(255), ROEPNAAM VARCHAR(255), TELEFOONNUMMER VARCHAR(20), VOORLETTERS VARCHAR(20), VOORVOEGSELACHTERNAAM VARCHAR(255) ); CREATE TABLE STANDPLAATS ( STANDPLAATS_ID INTEGER PRIMARY KEY, ADRES VARCHAR(50), BESCHRIJVING VARCHAR(255), NAAMINSTELLING VARCHAR(80) ); 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 BRUIKLEEN ( BRUIKLEEN_ID INTEGER PRIMARY KEY, AANVRAAGDOOR VARCHAR(80), DATUMAANVRAAG DATE, DATUMEINDE DATE, DATUMSTART DATE, TOESTEMMINGDOOR VARCHAR(80) ); CREATE TABLE COLLECTIE ( COLLECTIE_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE ROL ( ROL_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE TENTOONSTELLING ( TENTOONSTELLING_ID INTEGER PRIMARY KEY, DATUMEINDE DATE, DATUMSTART DATE, OMSCHRIJVING TEXT, SUBTITEL VARCHAR(200), TITEL VARCHAR(80) ); CREATE TABLE ZAAL ( ZAAL_ID INTEGER PRIMARY KEY, CAPACITEIT INTEGER, NAAM VARCHAR(80), NUMMER INTEGER, OMSCHRIJVING TEXT ); CREATE TABLE SAMENSTELLER ( MEDEWERKER_ID INTEGER PRIMARY KEY, ROL VARCHAR(80) ); CREATE TABLE LENER ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, OPMERKINGEN TEXT ); CREATE TABLE BELANGHEBBENDE ( RECHTSPERSOON_ID INTEGER PRIMARY KEY, DATUMSTART DATE, DATUMTOT DATE ); CREATE TABLE MUSEUMOBJECT ( MUSEUMOBJECT_ID INTEGER PRIMARY KEY, AFMETING VARCHAR(255), BETREFT_BRUIKLEEN_ID INTEGER, BEZITTOT DATE, BEZITVANAF DATE, LOCATIE_STANDPLAATS_ID INTEGER, MEDIUM VARCHAR(255), VERKRIJGING VARCHAR(255) ); CREATE TABLE KP_TNTNSTLLNG_HSTRSCH_PRSN_ ( KP_TNTNSTLLNG_HSTRSCH_PRSN__ID INTEGER PRIMARY KEY, TENTOONSTELLING_ID INTEGER, HISTORISCH_PERSOON__ID INTEGER ); CREATE TABLE KP_BRKLN_TNTNSTLLNG ( KP_BRKLN_TNTNSTLLNG_ID INTEGER PRIMARY KEY, BRUIKLEEN_ID INTEGER, TENTOONSTELLING_ID INTEGER ); CREATE TABLE KP_TNTNSTLLNG_ZL ( KP_TNTNSTLLNG_ZL_ID INTEGER PRIMARY KEY, TENTOONSTELLING_ID INTEGER, ZAAL_ID INTEGER ); CREATE TABLE KP_SMNSTLLR_TNTNSTLLNG ( KP_SMNSTLLR_TNTNSTLLNG_ID INTEGER PRIMARY KEY, SAMENSTELLER_ID INTEGER, TENTOONSTELLING_ID INTEGER ); CREATE TABLE KP_SMNSTLLR_MDWRKR ( KP_SMNSTLLR_MDWRKR_ID INTEGER PRIMARY KEY, SAMENSTELLER_ID INTEGER, MEDEWERKER_ID INTEGER ); CREATE TABLE KP_LNR_BRKLN ( KP_LNR_BRKLN_ID INTEGER PRIMARY KEY, LENER_ID INTEGER, BRUIKLEEN_ID INTEGER ); CREATE TABLE KP_LNR_RCHTSPRSN ( KP_LNR_RCHTSPRSN_ID INTEGER PRIMARY KEY, LENER_ID INTEGER, RECHTSPERSOON_ID INTEGER ); CREATE TABLE KP_BLNGHBBND_RCHTSPRSN ( KP_BLNGHBBND_RCHTSPRSN_ID INTEGER PRIMARY KEY, BELANGHEBBENDE_ID INTEGER, RECHTSPERSOON_ID INTEGER ); CREATE TABLE KP_MSMBJCT_TNTNSTLLNG ( KP_MSMBJCT_TNTNSTLLNG_ID INTEGER PRIMARY KEY, MUSEUMOBJECT_ID INTEGER, TENTOONSTELLING_ID INTEGER ); CREATE TABLE KP_INCDNT_MSMBJCT ( KP_INCDNT_MSMBJCT_ID INTEGER PRIMARY KEY, INCIDENT_ID INTEGER, MUSEUMOBJECT_ID INTEGER ); CREATE TABLE KP_CLLCT_MSMBJCT ( KP_CLLCT_MSMBJCT_ID INTEGER PRIMARY KEY, COLLECTIE_ID INTEGER, MUSEUMOBJECT_ID INTEGER ); CREATE TABLE KP_MSMBJCT_BLNGHBBND ( KP_MSMBJCT_BLNGHBBND_ID INTEGER PRIMARY KEY, MUSEUMOBJECT_ID INTEGER, BELANGHEBBENDE_ID INTEGER ); CREATE TABLE KP_MSMBJCT_HSTRSCH_PRSN_ ( KP_MSMBJCT_HSTRSCH_PRSN__ID INTEGER PRIMARY KEY, MUSEUMOBJECT_ID INTEGER, HISTORISCH_PERSOON__ID INTEGER ); ALTER TABLE BELANGHEBBENDE ADD CONSTRAINT FK_BELANGHEBBENDE_GEN_RECHTSPERSOON FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- Generalization to RECHTSPERSOON ALTER TABLE LENER ADD CONSTRAINT FK_LENER_GEN_RECHTSPERSOON FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- Generalization to RECHTSPERSOON ALTER TABLE SAMENSTELLER ADD CONSTRAINT FK_SAMENSTELLER_GEN_MEDEWERKER FOREIGN KEY (MEDEWERKER_ID) REFERENCES MEDEWERKER (MEDEWERKER_ID); -- Generalization to MEDEWERKER ALTER TABLE KP_TNTNSTLLNG_ZL ADD CONSTRAINT FK_KP_TNTNSTLLNG_ZL_1 FOREIGN KEY (TENTOONSTELLING_ID) REFERENCES TENTOONSTELLING (TENTOONSTELLING_ID); -- TENTOONSTELLING (many-to-many junction, Connector_ID: 1099) ALTER TABLE KP_TNTNSTLLNG_ZL ADD CONSTRAINT FK_KP_TNTNSTLLNG_ZL_2 FOREIGN KEY (ZAAL_ID) REFERENCES ZAAL (ZAAL_ID); -- ZAAL (many-to-many junction, Connector_ID: 1099) ALTER TABLE KP_SMNSTLLR_TNTNSTLLNG ADD CONSTRAINT FK_KP_SMNSTLLR_TNTNSTLLNG_1 FOREIGN KEY (SAMENSTELLER_ID) REFERENCES SAMENSTELLER (MEDEWERKER_ID); -- SAMENSTELLER (many-to-many junction, Connector_ID: 1100) ALTER TABLE KP_SMNSTLLR_TNTNSTLLNG ADD CONSTRAINT FK_KP_SMNSTLLR_TNTNSTLLNG_2 FOREIGN KEY (TENTOONSTELLING_ID) REFERENCES TENTOONSTELLING (TENTOONSTELLING_ID); -- TENTOONSTELLING (many-to-many junction, Connector_ID: 1100) ALTER TABLE KP_SMNSTLLR_MDWRKR ADD CONSTRAINT FK_KP_SMNSTLLR_MDWRKR_1 FOREIGN KEY (SAMENSTELLER_ID) REFERENCES SAMENSTELLER (MEDEWERKER_ID); -- SAMENSTELLER (many-to-many junction, Connector_ID: 1101) ALTER TABLE KP_SMNSTLLR_MDWRKR ADD CONSTRAINT FK_KP_SMNSTLLR_MDWRKR_2 FOREIGN KEY (MEDEWERKER_ID) REFERENCES MEDEWERKER (MEDEWERKER_ID); -- MEDEWERKER (many-to-many junction, Connector_ID: 1101) ALTER TABLE KP_MSMBJCT_HSTRSCH_PRSN_ ADD CONSTRAINT FK_KP_MSMBJCT_HSTRSCH_PRSN__1 FOREIGN KEY (MUSEUMOBJECT_ID) REFERENCES MUSEUMOBJECT (MUSEUMOBJECT_ID); -- MUSEUMOBJECT (many-to-many junction, Connector_ID: 1103) ALTER TABLE KP_MSMBJCT_HSTRSCH_PRSN_ ADD CONSTRAINT FK_KP_MSMBJCT_HSTRSCH_PRSN__2 FOREIGN KEY (HISTORISCH_PERSOON__ID) REFERENCES HISTORISCH_PERSOON_ (HISTORISCH_PERSOON__ID); -- HISTORISCH_PERSOON_ (many-to-many junction, Connector_ID: 1103) ALTER TABLE KP_MSMBJCT_TNTNSTLLNG ADD CONSTRAINT FK_KP_MSMBJCT_TNTNSTLLNG_1 FOREIGN KEY (MUSEUMOBJECT_ID) REFERENCES MUSEUMOBJECT (MUSEUMOBJECT_ID); -- MUSEUMOBJECT (many-to-many junction, Connector_ID: 1118) ALTER TABLE KP_MSMBJCT_TNTNSTLLNG ADD CONSTRAINT FK_KP_MSMBJCT_TNTNSTLLNG_2 FOREIGN KEY (TENTOONSTELLING_ID) REFERENCES TENTOONSTELLING (TENTOONSTELLING_ID); -- TENTOONSTELLING (many-to-many junction, Connector_ID: 1118) ALTER TABLE KP_LNR_RCHTSPRSN ADD CONSTRAINT FK_KP_LNR_RCHTSPRSN_1 FOREIGN KEY (LENER_ID) REFERENCES LENER (RECHTSPERSOON_ID); -- LENER (many-to-many junction, Connector_ID: 1121) ALTER TABLE KP_LNR_RCHTSPRSN ADD CONSTRAINT FK_KP_LNR_RCHTSPRSN_2 FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 1121) ALTER TABLE KP_INCDNT_MSMBJCT ADD CONSTRAINT FK_KP_INCDNT_MSMBJCT_1 FOREIGN KEY (INCIDENT_ID) REFERENCES INCIDENT (INCIDENT_ID); -- INCIDENT (many-to-many junction, Connector_ID: 1122) ALTER TABLE KP_INCDNT_MSMBJCT ADD CONSTRAINT FK_KP_INCDNT_MSMBJCT_2 FOREIGN KEY (MUSEUMOBJECT_ID) REFERENCES MUSEUMOBJECT (MUSEUMOBJECT_ID); -- MUSEUMOBJECT (many-to-many junction, Connector_ID: 1122) ALTER TABLE KP_CLLCT_MSMBJCT ADD CONSTRAINT FK_KP_CLLCT_MSMBJCT_1 FOREIGN KEY (COLLECTIE_ID) REFERENCES COLLECTIE (COLLECTIE_ID); -- COLLECTIE (many-to-many junction, Connector_ID: 1126) ALTER TABLE KP_CLLCT_MSMBJCT ADD CONSTRAINT FK_KP_CLLCT_MSMBJCT_2 FOREIGN KEY (MUSEUMOBJECT_ID) REFERENCES MUSEUMOBJECT (MUSEUMOBJECT_ID); -- MUSEUMOBJECT (many-to-many junction, Connector_ID: 1126) ALTER TABLE KP_LNR_BRKLN ADD CONSTRAINT FK_KP_LNR_BRKLN_1 FOREIGN KEY (LENER_ID) REFERENCES LENER (RECHTSPERSOON_ID); -- LENER (many-to-many junction, Connector_ID: 1128) ALTER TABLE KP_LNR_BRKLN ADD CONSTRAINT FK_KP_LNR_BRKLN_2 FOREIGN KEY (BRUIKLEEN_ID) REFERENCES BRUIKLEEN (BRUIKLEEN_ID); -- BRUIKLEEN (many-to-many junction, Connector_ID: 1128) ALTER TABLE KP_BRKLN_TNTNSTLLNG ADD CONSTRAINT FK_KP_BRKLN_TNTNSTLLNG_1 FOREIGN KEY (BRUIKLEEN_ID) REFERENCES BRUIKLEEN (BRUIKLEEN_ID); -- BRUIKLEEN (many-to-many junction, Connector_ID: 1129) ALTER TABLE KP_BRKLN_TNTNSTLLNG ADD CONSTRAINT FK_KP_BRKLN_TNTNSTLLNG_2 FOREIGN KEY (TENTOONSTELLING_ID) REFERENCES TENTOONSTELLING (TENTOONSTELLING_ID); -- TENTOONSTELLING (many-to-many junction, Connector_ID: 1129) ALTER TABLE KP_MSMBJCT_BLNGHBBND ADD CONSTRAINT FK_KP_MSMBJCT_BLNGHBBND_1 FOREIGN KEY (MUSEUMOBJECT_ID) REFERENCES MUSEUMOBJECT (MUSEUMOBJECT_ID); -- MUSEUMOBJECT (many-to-many junction, Connector_ID: 1130) ALTER TABLE KP_MSMBJCT_BLNGHBBND ADD CONSTRAINT FK_KP_MSMBJCT_BLNGHBBND_2 FOREIGN KEY (BELANGHEBBENDE_ID) REFERENCES BELANGHEBBENDE (RECHTSPERSOON_ID); -- BELANGHEBBENDE (many-to-many junction, Connector_ID: 1130) ALTER TABLE KP_BLNGHBBND_RCHTSPRSN ADD CONSTRAINT FK_KP_BLNGHBBND_RCHTSPRSN_1 FOREIGN KEY (BELANGHEBBENDE_ID) REFERENCES BELANGHEBBENDE (RECHTSPERSOON_ID); -- BELANGHEBBENDE (many-to-many junction, Connector_ID: 1131) ALTER TABLE KP_BLNGHBBND_RCHTSPRSN ADD CONSTRAINT FK_KP_BLNGHBBND_RCHTSPRSN_2 FOREIGN KEY (RECHTSPERSOON_ID) REFERENCES RECHTSPERSOON (RECHTSPERSOON_ID); -- RECHTSPERSOON (many-to-many junction, Connector_ID: 1131) ALTER TABLE KP_TNTNSTLLNG_HSTRSCH_PRSN_ ADD CONSTRAINT FK_KP_TNTNSTLLNG_HSTRSCH_PRSN__1 FOREIGN KEY (TENTOONSTELLING_ID) REFERENCES TENTOONSTELLING (TENTOONSTELLING_ID); -- TENTOONSTELLING (many-to-many junction, Connector_ID: 1152) ALTER TABLE KP_TNTNSTLLNG_HSTRSCH_PRSN_ ADD CONSTRAINT FK_KP_TNTNSTLLNG_HSTRSCH_PRSN__2 FOREIGN KEY (HISTORISCH_PERSOON__ID) REFERENCES HISTORISCH_PERSOON_ (HISTORISCH_PERSOON__ID); -- HISTORISCH_PERSOON_ (many-to-many junction, Connector_ID: 1152) ALTER TABLE MUSEUMOBJECT ADD CONSTRAINT FK_MUSEUMOBJECT_LOCATIE FOREIGN KEY (LOCATIE_STANDPLAATS_ID) REFERENCES STANDPLAATS (STANDPLAATS_ID); -- LOCATIE (0..* to 0..1, Connector_ID: 1117) ALTER TABLE MUSEUMOBJECT ADD CONSTRAINT FK_MUSEUMOBJECT_BETREFT FOREIGN KEY (BETREFT_BRUIKLEEN_ID) REFERENCES BRUIKLEEN (BRUIKLEEN_ID); -- BETREFT (0..* to 0..1, Connector_ID: 1127)