CMU Coding Bootcamp
at main 64 lines 1.7 kB view raw
1CREATE SCHEMA SUPPLY_CHAIN; 2 3CREATE TABLE SUPPLY_CHAIN.SUPPLIER ( 4 supnr CHAR(4) PRIMARY KEY, 5 supname VARCHAR(40) NOT NULL, 6 supaddress VARCHAR(50), 7 supcity VARCHAR(20), 8 supstatus SMALLINT CHECK (supstatus >= 0 AND supstatus <= 100), 9 supcategory VARCHAR(10) DEFAULT 'SILVER' NOT NULL 10); 11 12CREATE TYPE SUPPLY_CHAIN.product_type AS ENUM ('white', 'red', 'rose', 'sparkling'); 13 14CREATE TABLE SUPPLY_CHAIN.PRODUCT ( 15 prodnr CHAR(6) PRIMARY KEY, 16 prodname VARCHAR(60) UNIQUE NOT NULL, 17 prodtype SUPPLY_CHAIN.product_type, 18 available_quantity INTEGER, 19 prodimage BYTEA 20); 21 22CREATE TABLE SUPPLY_CHAIN.SUPPLIES ( 23 supnr CHAR(4) 24 NOT NULL 25 REFERENCES SUPPLY_CHAIN.SUPPLIER(supnr) 26 ON DELETE CASCADE 27 ON UPDATE CASCADE, 28 prodnr CHAR(6) 29 NOT NULL 30 REFERENCES SUPPLY_CHAIN.PRODUCT(prodnr) 31 ON DELETE CASCADE 32 ON UPDATE CASCADE, 33 purchase_price DECIMAL(8,2), 34 deliv_period TIME, 35 PRIMARY KEY (supnr, prodnr) 36); 37 38COMMENT ON COLUMN SUPPLY_CHAIN.SUPPLIES.purchase_price IS 'in EUR'; 39COMMENT ON COLUMN SUPPLY_CHAIN.SUPPLIES.deliv_period IS 'in days'; 40 41CREATE TABLE SUPPLY_CHAIN.PURCHASE_ORDER ( 42 ponr CHAR(7) PRIMARY KEY, 43 podate DATE, 44 supnr CHAR(4) 45 NOT NULL 46 REFERENCES SUPPLY_CHAIN.SUPPLIER(supnr) 47 ON DELETE CASCADE 48 ON UPDATE CASCADE 49); 50 51CREATE TABLE SUPPLY_CHAIN.PO_LINE ( 52 ponr CHAR(7) 53 NOT NULL 54 REFERENCES SUPPLY_CHAIN.PURCHASE_ORDER(ponr) 55 ON DELETE CASCADE 56 ON UPDATE CASCADE, 57 prodnr CHAR(6) 58 NOT NULL 59 REFERENCES SUPPLY_CHAIN.PRODUCT(prodnr) 60 ON DELETE CASCADE 61 ON UPDATE CASCADE, 62 quantity INTEGER, 63 PRIMARY KEY (ponr, prodnr) 64);