CREATE TABLE OMZETGROEP ( OMZETGROEP_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE LEVERANCIER ( LEVERANCIER_ID INTEGER PRIMARY KEY, NAAM VARCHAR(200), NUMMER VARCHAR(255) ); CREATE TABLE PRODUCTGROEP ( PRODUCTGROEP_ID INTEGER PRIMARY KEY, NAAM VARCHAR(80), OMSCHRIJVING TEXT ); CREATE TABLE PRODUCT ( PRODUCT_ID INTEGER PRIMARY KEY, CODEMUSEUMJAARKAART VARCHAR(255), DATUMEINDEGELDIGHEID DATE, DATUMSTART DATE, ENTREEKAART INTEGER, LEVERANCIER_LEVERANCIER_ID INTEGER, OMSCHRIJVING VARCHAR(80), PRIJS DECIMAL(10,2) ); CREATE TABLE KP_PRDCT_PRDCTGRP ( KP_PRDCT_PRDCTGRP_ID INTEGER PRIMARY KEY, PRODUCT_ID INTEGER, PRODUCTGROEP_ID INTEGER ); CREATE TABLE BALIEVERKOOP ( BALIEVERKOOP_ID INTEGER PRIMARY KEY, AANTAL INTEGER, BETREFT_PRODUCT_ID INTEGER, KANAAL VARCHAR(80), VERKOOPTIJD TIMESTAMP ); CREATE TABLE ENTREEKAART ( PRODUCT_ID INTEGER PRIMARY KEY, RONDLEIDING BOOLEAN ); CREATE TABLE KP_PRDCT_OMZTGRP ( KP_PRDCT_OMZTGRP_ID INTEGER PRIMARY KEY, PRODUCT_ID INTEGER, OMZETGROEP_ID INTEGER ); CREATE TABLE WINKELVOORRAADITEM ( WINKELVOORRAADITEM_ID INTEGER PRIMARY KEY, AANTAL INTEGER, AANTALINBESTELLING INTEGER, BETREFT_PRODUCT_ID INTEGER, DATUMLEVERINGBESTELLING DATE, LOCATIE VARCHAR(80) ); CREATE TABLE BALIEVERKOOP_ENTREEKAART ( BALIEVERKOOP_ID INTEGER PRIMARY KEY, DATUMEINDEGELDIGHEID DATE, DATUMSTART DATE, GEBRUIKTOP VARCHAR(255), RONDLEIDING BOOLEAN ); CREATE TABLE KP_ENTRKRT_PRDCT ( KP_ENTRKRT_PRDCT_ID INTEGER PRIMARY KEY, ENTREEKAART_ID INTEGER, PRODUCT_ID INTEGER ); CREATE TABLE KP_BLVRKP_ENTRKRT_BLVRKP ( KP_BLVRKP_ENTRKRT_BLVRKP_ID INTEGER PRIMARY KEY, BALIEVERKOOP_ENTREEKAART_ID INTEGER, BALIEVERKOOP_ID INTEGER ); ALTER TABLE BALIEVERKOOP_ENTREEKAART ADD CONSTRAINT FK_BALIEVERKOOP_ENTREEKAART_GEN_BALIEVERKOOP FOREIGN KEY (BALIEVERKOOP_ID) REFERENCES BALIEVERKOOP (BALIEVERKOOP_ID); -- Generalization to BALIEVERKOOP ALTER TABLE ENTREEKAART ADD CONSTRAINT FK_ENTREEKAART_GEN_PRODUCT FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- Generalization to PRODUCT ALTER TABLE KP_PRDCT_PRDCTGRP ADD CONSTRAINT FK_KP_PRDCT_PRDCTGRP_1 FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- PRODUCT (many-to-many junction, Connector_ID: 1112) ALTER TABLE KP_PRDCT_PRDCTGRP ADD CONSTRAINT FK_KP_PRDCT_PRDCTGRP_2 FOREIGN KEY (PRODUCTGROEP_ID) REFERENCES PRODUCTGROEP (PRODUCTGROEP_ID); -- PRODUCTGROEP (many-to-many junction, Connector_ID: 1112) ALTER TABLE KP_PRDCT_OMZTGRP ADD CONSTRAINT FK_KP_PRDCT_OMZTGRP_1 FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- PRODUCT (many-to-many junction, Connector_ID: 1114) ALTER TABLE KP_PRDCT_OMZTGRP ADD CONSTRAINT FK_KP_PRDCT_OMZTGRP_2 FOREIGN KEY (OMZETGROEP_ID) REFERENCES OMZETGROEP (OMZETGROEP_ID); -- OMZETGROEP (many-to-many junction, Connector_ID: 1114) ALTER TABLE KP_ENTRKRT_PRDCT ADD CONSTRAINT FK_KP_ENTRKRT_PRDCT_1 FOREIGN KEY (ENTREEKAART_ID) REFERENCES ENTREEKAART (PRODUCT_ID); -- ENTREEKAART (many-to-many junction, Connector_ID: 1123) ALTER TABLE KP_ENTRKRT_PRDCT ADD CONSTRAINT FK_KP_ENTRKRT_PRDCT_2 FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- PRODUCT (many-to-many junction, Connector_ID: 1123) ALTER TABLE KP_BLVRKP_ENTRKRT_BLVRKP ADD CONSTRAINT FK_KP_BLVRKP_ENTRKRT_BLVRKP_1 FOREIGN KEY (BALIEVERKOOP_ENTREEKAART_ID) REFERENCES BALIEVERKOOP_ENTREEKAART (BALIEVERKOOP_ID); -- BALIEVERKOOP_ENTREEKAART (many-to-many junction, Connector_ID: 1132) ALTER TABLE KP_BLVRKP_ENTRKRT_BLVRKP ADD CONSTRAINT FK_KP_BLVRKP_ENTRKRT_BLVRKP_2 FOREIGN KEY (BALIEVERKOOP_ID) REFERENCES BALIEVERKOOP (BALIEVERKOOP_ID); -- BALIEVERKOOP (many-to-many junction, Connector_ID: 1132) ALTER TABLE WINKELVOORRAADITEM ADD CONSTRAINT FK_WINKELVOORRAADITEM_BETREFT FOREIGN KEY (BETREFT_PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- BETREFT (0..1 to 1, Connector_ID: 1110) ALTER TABLE PRODUCT ADD CONSTRAINT FK_PRODUCT_LEVERANCIER FOREIGN KEY (LEVERANCIER_LEVERANCIER_ID) REFERENCES LEVERANCIER (LEVERANCIER_ID); -- LEVERANCIER (0..* to 0..1, Connector_ID: 1111) ALTER TABLE BALIEVERKOOP ADD CONSTRAINT FK_BALIEVERKOOP_BETREFT FOREIGN KEY (BETREFT_PRODUCT_ID) REFERENCES PRODUCT (PRODUCT_ID); -- BETREFT (0..* to 1, Connector_ID: 1133)