CREATE TABLE FRACTIE (
    FRACTIE_ID INTEGER PRIMARY KEY,
    NAAM VARCHAR(80),
    OMSCHRIJVING TEXT
);

CREATE TABLE PAS (
    PAS_ID INTEGER PRIMARY KEY,
    ADRESAANDUIDING VARCHAR(255),
    PASNUMMER VARCHAR(255)
);

CREATE TABLE MILIEUSTRAAT (
    MILIEUSTRAAT_ID INTEGER PRIMARY KEY,
    ADRESAANDUIDING VARCHAR(255),
    NAAM VARCHAR(80),
    OMSCHRIJVING TEXT
);

CREATE TABLE PRIJSREGEL (
    PRIJSREGEL_ID INTEGER PRIMARY KEY,
    BEDRAG DECIMAL(10,2),
    BETREFT_FRACTIE_ID INTEGER,
    CREDIT BOOLEAN
);

CREATE TABLE KP_MLSTRT_FRCT (
    KP_MLSTRT_FRCT_ID INTEGER PRIMARY KEY,
    MILIEUSTRAAT_ID INTEGER,
    FRACTIE_ID INTEGER
);

CREATE TABLE KP_PAS_MLSTRT (
    KP_PAS_MLSTRT_ID INTEGER PRIMARY KEY,
    PAS_ID INTEGER,
    MILIEUSTRAAT_ID INTEGER
);

CREATE TABLE STORTING (
    STORTING_ID INTEGER PRIMARY KEY,
    BIJ_MILIEUSTRAAT_ID INTEGER,
    DATUMTIJD TIMESTAMP,
    GEWICHT INTEGER,
    UITGEVOERDE_STORTING_PAS_ID INTEGER
);

CREATE TABLE KP_STRTNG_FRCT (
    KP_STRTNG_FRCT_ID INTEGER PRIMARY KEY,
    STORTING_ID INTEGER,
    FRACTIE_ID INTEGER
);

ALTER TABLE KP_PAS_MLSTRT ADD CONSTRAINT FK_KP_PAS_MLSTRT_1 FOREIGN KEY (PAS_ID) REFERENCES PAS (PAS_ID);
-- PAS (many-to-many junction, Connector_ID: 817)

ALTER TABLE KP_PAS_MLSTRT ADD CONSTRAINT FK_KP_PAS_MLSTRT_2 FOREIGN KEY (MILIEUSTRAAT_ID) REFERENCES MILIEUSTRAAT (MILIEUSTRAAT_ID);
-- MILIEUSTRAAT (many-to-many junction, Connector_ID: 817)

ALTER TABLE KP_STRTNG_FRCT ADD CONSTRAINT FK_KP_STRTNG_FRCT_1 FOREIGN KEY (STORTING_ID) REFERENCES STORTING (STORTING_ID);
-- STORTING (many-to-many junction, Connector_ID: 824)

ALTER TABLE KP_STRTNG_FRCT ADD CONSTRAINT FK_KP_STRTNG_FRCT_2 FOREIGN KEY (FRACTIE_ID) REFERENCES FRACTIE (FRACTIE_ID);
-- FRACTIE (many-to-many junction, Connector_ID: 824)

ALTER TABLE KP_MLSTRT_FRCT ADD CONSTRAINT FK_KP_MLSTRT_FRCT_1 FOREIGN KEY (MILIEUSTRAAT_ID) REFERENCES MILIEUSTRAAT (MILIEUSTRAAT_ID);
-- MILIEUSTRAAT (many-to-many junction, Connector_ID: 825)

ALTER TABLE KP_MLSTRT_FRCT ADD CONSTRAINT FK_KP_MLSTRT_FRCT_2 FOREIGN KEY (FRACTIE_ID) REFERENCES FRACTIE (FRACTIE_ID);
-- FRACTIE (many-to-many junction, Connector_ID: 825)

ALTER TABLE STORTING ADD CONSTRAINT FK_STORTING_UITGEVOERDE_STORTING FOREIGN KEY (UITGEVOERDE_STORTING_PAS_ID) REFERENCES PAS (PAS_ID);
-- UITGEVOERDE_STORTING (1 to 0..*, Connector_ID: 815)

ALTER TABLE STORTING ADD CONSTRAINT FK_STORTING_BIJ FOREIGN KEY (BIJ_MILIEUSTRAAT_ID) REFERENCES MILIEUSTRAAT (MILIEUSTRAAT_ID);
-- BIJ (0..* to 1, Connector_ID: 818)

ALTER TABLE PRIJSREGEL ADD CONSTRAINT FK_PRIJSREGEL_BETREFT FOREIGN KEY (BETREFT_FRACTIE_ID) REFERENCES FRACTIE (FRACTIE_ID);
-- BETREFT (1..* to 1, Connector_ID: 826)

